33 lines
799 B
C#
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; }
|
|
}
|
|
} |