public async Task <LancamentoFinanceiro> EfetuaLancamento(LancamentoFinanceiro lancamentoFinanceiro) { if (lancamentoFinanceiro.Lancamento == TipoLancamento.Pagamento) { var lancamentosDoDia = await _repositorioLancamentoFinanceiro.Buscar_Async(Builders <LancamentoFinanceiro> .Filter.Where(x => x.Data == lancamentoFinanceiro.Data)); lancamentosDoDia = lancamentosDoDia.Append(lancamentoFinanceiro); var balancoDiario = CalcularBalancoDiario(lancamentosDoDia); if (balancoDiario <= -20000m) { throw new DominioException(ErrosSistemas.LimiteNegativoAtingido); } } return(await _repositorioLancamentoFinanceiro.Salvar_Async(lancamentoFinanceiro)); }