示例#1
0
 private bool VotoJaRealizado(Historia historia, int idUsuario)
 {
     if (historia != null && historia.Votos != null)
     {
         return(historia.Votos.Any(v => v.UsuarioId.Equals(idUsuario)));
     }
     else
     {
         return(false);
     }
 }
示例#2
0
 public Voto(User usuario, Carta carta, Historia historia)
 {
     AddNotifications(new Contract()
                      .IsNotNull(usuario, nameof(usuario), "Para realizar um voto o usu�rio deve ser informado.")
                      .IsGreaterThan(usuario.Id, 0, nameof(usuario.Id), "Para realizar um voto o usu�rio deve ser informado.")
                      .IsNotNull(carta, nameof(carta), "Para realizar um voto a carta deve ser informado.")
                      .IsGreaterThan(carta.ID, 0, nameof(carta.ID), "Para realizar um voto a carta deve ser informado.")
                      .IsNotNull(historia, nameof(historia), "Para realizar um voto a historia deve ser informado.")
                      .IsGreaterThan(historia.ID, 0, nameof(historia.ID), "Para realizar um voto a historia deve ser informado.")
                      .IsFalse(VotoJaRealizado(historia, usuario.Id), nameof(usuario), "Usu�rio j� realizou o voto nessa hist�ria")
                      );
     if (Invalid)
     {
         return;
     }
     CriarVoto(usuario, carta, historia);
 }
示例#3
0
 private void CriarVoto(User usuario, Carta carta, Historia historia)
 {
     this.HistoriaId = historia.ID;
     this.CartaId    = carta.ID;
     this.UsuarioId  = usuario.Id;
 }