示例#1
0
        /// <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);
        }
示例#2
0
 /// <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());
        }