public async Task <IActionResult> Add([FromBody] Lancamento model) { if (ModelState.IsValid) { try { var Id = await lancamentosRepository.Add(model); if (Id > 0) { var result = new { code = 20000, data = new { id = Id, mesage = "success" } }; return(Ok(result)); } else { return(NotFound()); } } catch (Exception) { return(BadRequest()); } } return(BadRequest()); }
public Task Handle(RegistrarLancamentoCommand request, CancellationToken cancellationToken) { var obterContaCorrente = _contaCorrenteRepository.GetEntity(x => x.NumeroConta == request.NumeroConta); if (obterContaCorrente == null) { _notifications.Handle(new DomainNotification("Lancamento", "Conta Corrente Inexistente"), cancellationToken); return(Task.CompletedTask); } var obterUltimoLancamento = _lancamentoRepository.ObterUltimoLancamento(obterContaCorrente.Id); var lancamento = new Model.Lancamentos(); if (obterUltimoLancamento == null) { lancamento = Model.Lancamentos.LancamentosFactory.NovoLancamentos(request.Valor, request.TipoOperacao, request.Valor, DateTime.Now, obterContaCorrente.Id); } else { var saldoAtualizado = request.TipoOperacao == Enum.TipoOperacao.CREDITO ? obterUltimoLancamento.Saldo + request.Valor : obterUltimoLancamento.Saldo - request.Valor; lancamento = Model.Lancamentos.LancamentosFactory.NovoLancamentos(request.Valor, request.TipoOperacao, saldoAtualizado, DateTime.Now, obterContaCorrente.Id); } if (!lancamento.EhValido()) { NotificarValidacoesErro(lancamento.ValidationResult); return(Task.CompletedTask); } _lancamentoRepository.Add(lancamento); Commit(); return(Task.CompletedTask); }
public async Task <IActionResult> Post(Lancamentos Request) { try { Request.Id = _repo.MaxLancamento(); if (!ModelState.IsValid) { return(BadRequest(Request)); } _repo.Add(Request); if (await _repo.SaveChangesAsync()) { return(Created($"/api/[controler]/Lancamentos{Request.Id}", Request)); } } catch (Exception) { return(this.StatusCode(StatusCodes.Status501NotImplemented, MSG.BancoDadosFalhou)); } return(BadRequest()); }
public void Add(LancamentosViewModel lancamentos) { Lancamentos mapLancamentos = _mapper.Map <Lancamentos>(lancamentos); _lancamentosRepository.Add(mapLancamentos); }