vgquotes/Src/VideoGameQuotes.Api/Vote.cs

33 lines
799 B
C#

using System;
using Portoa.Persistence;
namespace VideoGameQuotes.Api {
public class Vote : Entity<int>, IDtoMappable<VoteDto> {
public Vote() {
Created = DateTime.UtcNow;
}
public virtual User Voter { get; set; }
public virtual Quote Quote { get; set; }
public virtual DateTime Created { get; set; }
public virtual VoteDirection Direction { get; set; }
public static explicit operator int(Vote vote) {
return vote.Direction == VoteDirection.Up ? 1 : -1;
}
public virtual VoteDto ToDto() {
return new VoteDto {
Id = Id,
Created = Created,
Direction = Direction
};
}
}
public class VoteDto {
public int Id { get; set; }
public DateTime Created { get; set; }
public VoteDirection Direction { get; set; }
}
}