コード例 #1
0
        public bool ClientePossuiAluguelGratuito(int clienteId)
        {
            try
            {
                ControlePromocional ultimoControlePromocional = _controlePromocionalBusiness.Last();

                IEnumerable <Aluguel> ultimosDezAlugueis = _aluguelRepository.Get(p => p.ClienteId == clienteId &&
                                                                                  p.Cadastro > ultimoControlePromocional.Inicio &&
                                                                                  p.Cadastro < ultimoControlePromocional.Fim)
                                                           .OrderByDescending(p => p.Cadastro)
                                                           .Take(10);

                bool atrasoMaiorQueDoisDias = _aluguelRepository.Get(p => p.ClienteId == clienteId &&
                                                                     p.Cadastro > ultimoControlePromocional.Inicio &&
                                                                     p.Cadastro < ultimoControlePromocional.Fim &&
                                                                     (p.Devolveu > p.Devolucao.AddDays(2) ||
                                                                      (p.Devolveu == null && DateTime.Now > p.Devolucao.AddDays(2))))
                                              .Any();

                return(ultimosDezAlugueis.Count() == 10 && !ultimosDezAlugueis.Any(p => (p.ValorPago == 0)) && !atrasoMaiorQueDoisDias);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #2
0
 public void Add(ControlePromocional controlePromocional)
 {
     try
     {
         _videolocadoraContext.ControlePromocional.Add(controlePromocional);
         _videolocadoraContext.SaveChanges();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #3
0
 private ControlePromocional Add()
 {
     try
     {
         ControlePromocional controle = ControlePromocionalUtils.GetControlePromocional(_configuration);
         _controlePromocionalRepository.Add(controle);
         return(controle);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #4
0
        public ControlePromocional Last()
        {
            try
            {
                ControlePromocional ultimoControlePromocional = _controlePromocionalRepository.Last();
                if (ultimoControlePromocional == null || DateTime.Now > ultimoControlePromocional.Fim)
                {
                    ultimoControlePromocional = this.Add();
                }

                return(ultimoControlePromocional);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }