public Task <IEnumerable <FluxoCaixaOutput> > Handle(GetFluxoDeCaixaQuery query) { var consolidacoes = _consolidacoes .FindAll(new Consolidacao.ByMes(query.Filter.Mes).And(new Consolidacao.ByAno(query.Filter.Ano))) .Include(x => x.Pagamentos) .Include(x => x.Recebimentos) .ToList(); var fluxoDeCaixa = consolidacoes.Select(c => c.MapTo <FluxoCaixaOutput>()); return(Task.FromResult(fluxoDeCaixa.AsEnumerable())); }
public async Task Handle(CommandContext <ConsolidarLancamentosCommand> context) { var data = context.Command.Input.Data.ToLocalDateTime(); var contaBancariaId = context.Command.Input.ContaBancariaId; var consolidacao = _consolidacoes .FindAll(new Consolidacao.ByData(data).And(new Consolidacao.NaoProcessada())).FirstOrDefault(); if (consolidacao != null) { var contaBancaria = _contas.FindById(contaBancariaId); await _consolidarLancamentos.Apply(consolidacao, contaBancaria); _unitOfWork.Commit(); } }
public async Task Handle(CommandContext <ProcessarRecebimentoCommand> context) { var lancamento = _lancamentos.FindById(context.Command.LancamentoId); try { var consolidacao = _consolidacoes.FindAll(new Consolidacao.ByData(lancamento.Em)).FirstOrDefault(); if (consolidacao == null) { _consolidacoes.Add(new Consolidacao(lancamento.Em)); } await _processarRecebimento.Apply(consolidacao, lancamento); await _eventBus.PublishAsync(new LancamentoProcessadoEvent(lancamento.Id)); } catch (Exception e) { await _eventBus.PublishAsync(new LancamentoProcessadoEvent(lancamento.Id, e)); } _unitOfWork.Commit(); }