using System; using Portoa.Persistence; namespace VideoGameQuotes.Api { public class Vote : Entity, IDtoMappable { 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; } } }