Exemple #1
0
        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());
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 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());
 }
Exemple #4
0
        public void Add(LancamentosViewModel lancamentos)
        {
            Lancamentos mapLancamentos = _mapper.Map <Lancamentos>(lancamentos);

            _lancamentosRepository.Add(mapLancamentos);
        }