/// <summary> /// Atualiza saldo de creditos de viagem comprados por um usuário /// </summary> /// <param name="objeto"></param> /// <returns></returns> public bool Editar(CreditoViagemModel objeto) { var cv = ObterPorId(objeto.IdUsuario); cv.Saldo += objeto.Saldo; _context.Update(_mapper.Map <Credito>(cv)); return(_context.SaveChanges() == 1); }
/// <summary> /// Insere na base de dados creditos de viagem comprados um usuario /// </summary> /// <param name="objeto"></param> /// <returns></returns> public bool Inserir(CreditoViagemModel objeto) { if (ObterPorId(objeto.IdUsuario) == null) { _context.Credito.Add(_mapper.Map <Credito>(objeto)); return(_context.SaveChanges() == 1); } else { return(Editar(objeto)); } }
private TransacaoModel addTransacao(CreditoViagemModel cv, bool deferido) { TransacaoModel tm = new TransacaoModel(); tm.Data = DateTime.Now; tm.Deferido = deferido; tm.IdUsuario = cv.IdUsuario; tm.QtdCreditos = cv.Saldo; tm.Valor = cv.Saldo; if (deferido) { tm.Status = "Aprovado"; } else { tm.Status = "Cancelada"; } tm.Tipo = "COMPRA DE CREDITOS"; return(tm); }
public IActionResult Index(CreditoViagemModel cv) { bool deferido; ViewBag.Creditos = addListaCreditos(); cv.IdUsuario = MethodsUtils.RetornaUserLogado((ClaimsIdentity)User.Identity).Id; if (ModelState.IsValid) { if (_gerenciadorUsuario.ObterPorId(cv.IdUsuario) != null) { if (_gerenciadorComprarCredito.Inserir(cv)) { TempData["mensagemSucesso"] = "Compra realizada com sucesso!."; deferido = true; } else { TempData["mensagemErro"] = "Compra não pode ser realizada!."; deferido = false; } if (!_gerenciadorTransacao.Inserir(addTransacao(cv, deferido))) { TempData["mensagemErroTransacao"] = "Houve um problema ao gravar a transacao"; } } else { TempData["mensagemErro"] = "Compra não pode ser finalizada pois não existe nenhum usuário logado na sessão!."; } return(RedirectToAction(nameof(Index))); } return(View()); }