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); }
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)); }