Example #1
0
        public IList <LancamentoCobrancaViewModel> BuscarLancamentosPorCliente(int idCliente, int idCheque = 0)
        {
            var lamcamentos = _lancamentoCobrancaAplicacao.BuscarLancamentosPorCliente(idCliente);

            var chequesrecebidos = BuscarPor(x => x.Cliente.Id == idCliente);

            if (idCheque != 0)
            {
                chequesrecebidos = chequesrecebidos.Where(x => x.Id != idCheque).ToList();
            }

            //lancamentos recebidos
            var lancamentosRecebidos = new List <LancamentoCobranca>();

            foreach (var cheque in chequesrecebidos)
            {
                foreach (var lancamento in cheque.ListaLancamentoCobranca)
                {
                    lancamentosRecebidos.Add(lancamento.LancamentoCobranca);
                }
            }

            var result = lamcamentos.Where(p => !lancamentosRecebidos.Any(p2 => p2.Id == p.Id));

            return(result != null && result.Any() ? result.Select(x => new LancamentoCobrancaViewModel(x)).ToList() : new List <LancamentoCobrancaViewModel>());
        }