Beispiel #1
0
        public bool CheckNumeroChequeExists(string numeroDocumento, Guid clienteId, Guid bancoId, Guid novoChequeId)
        {
            var numeroDocumentoSpecification = new ChequeNumeroSpecification(numeroDocumento);
            var clienteIdSpecification       = new ChequeClienteIdSpecification(clienteId);
            var bancoIdSpecification         = new ChequeBancoIdSpecification(bancoId);

            Cheque cheque = _dbSet
                            .AsNoTracking()
                            .Where(numeroDocumentoSpecification
                                   .And(bancoIdSpecification)
                                   .And(clienteIdSpecification)
                                   .ToExpression())
                            .FirstOrDefault();

            if (cheque == null || novoChequeId == cheque.Id)
            {
                return(false);
            }

            return(true);
        }
Beispiel #2
0
        public IActionResult Index(Guid?clienteId, string minValor, string maxValor, string agencia, string conta, string numeroCheque, string dataEmissao, string dataVencimento, string situacao, int pageNumber = 1, int pageSize = 20)
        {
            var clienteIdSpecification = new ChequeClienteIdSpecification(clienteId);
            var valorSpecification     = new ChequeValorSpecification(minValor.ToDecimal(), maxValor.ToDecimal());
            var agenciaSpecification   = new ChequeAgenciaSpecification(agencia);
            var contaSpecification     = new ChequeContaCorrenteSpecification(conta);
            var numeroSpecification    = new ChequeNumeroSpecification(numeroCheque);
            var dataSpecification      = new ChequeDataSpecification(dataEmissao.ToDateTime(), dataVencimento.ToDateTime());
            var situacaoSpecification  = new ChequeEstadoSpecification(situacao);

            var list = _chequeApplicationService.Get(valorSpecification
                                                     .And(clienteIdSpecification)
                                                     .And(agenciaSpecification)
                                                     .And(contaSpecification)
                                                     .And(numeroSpecification)
                                                     .And(dataSpecification)
                                                     .And(situacaoSpecification)
                                                     .ToExpression());

            var viewModel = new ChequeIndexViewModel
            {
                Cheques              = list.ToPagedList(pageNumber, pageSize),
                Clientes             = _clienteApplicationService.Get().OrderBy(c => c.Nome),
                MinValor             = minValor,
                MaxValor             = maxValor,
                ClienteId            = clienteId,
                Agencia              = agencia,
                Conta                = conta,
                NumeroCheque         = numeroCheque,
                DataEmissao          = dataEmissao,
                DataVencimento       = dataVencimento,
                Situacao             = situacao,
                TotalResultados      = list.ToList().Count(),
                ValorTotalResultados = list.ToList().Sum(d => d.Valor),
                ValorTotalVencidos   = list.ToList().Where(d => d.ItemProblema).Sum(d => d.Valor)
            };

            return(View(viewModel));
        }