コード例 #1
0
        /// <summary>
        /// mostra as informacoes sobre a passagem
        /// </summary>
        /// <returns></returns>
        public IActionResult Index()
        {
            //Id usuario session
            var solicitacao = _gerenciadorPagarPassagem.ObterViagemPorUsuarioData(
                MethodsUtils.RetornaUserLogado((ClaimsIdentity)User.Identity).Id, DateTime.Now);

            if (solicitacao != null)
            {
                var viagem         = _gerenciadorViagem.ObterPorId(solicitacao.IdViagem);
                var rota           = _gerenciadorRota.ObterPorId(viagem.IdRota);
                var creditos       = _gerenciadorCredito.ObterPorId(solicitacao.IdUsuario);
                var viagemPassagem = new ViagemPassagemViewModel
                {
                    Viagem      = viagem,
                    Solicitacao = solicitacao,
                    Rota        = rota,
                    Creditos    = creditos
                };
                return(View(viagemPassagem));
            }
            else
            {
                return(View());
            }
        }
コード例 #2
0
        /// <summary>
        /// mostra as informacoes sobre a passagem
        /// </summary>
        /// <returns></returns>
        public IActionResult Index()
        {
            //Id usuario session
            var solicitacao = PagarPassagemService.PagamentoPassagemUnityOfWork.PagarPassagemRepository.ObterViagemPorUsuarioData(
                MethodsUtils.RetornaUserLogado((ClaimsIdentity)User.Identity).Id, DateTime.Now);

            if (solicitacao != null)
            {
                var viagem         = ViagemService.ViagemUnityOfWork.ViagemRepository.ObterPorId(solicitacao.IdViagem);
                var rota           = RotaService.RotaUnityOfWork.RotaRepository.ObterPorId(viagem.IdRota);
                var creditos       = CreditoService.CreditoUnityOfWork.ComprarCreditoRepository.ObterPorId(solicitacao.IdUsuario);
                var viagemPassagem = new ViagemPassagemViewModel
                {
                    Viagem      = viagem,
                    Solicitacao = solicitacao,
                    Rota        = rota,
                    Creditos    = creditos
                };
                return(View(viagemPassagem));
            }
            else
            {
                return(View());
            }
        }
コード例 #3
0
        public async Task <ActionResult> Autenticar(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = _gerenciadoraUsuario.ObterPorLoginSenha(MethodsUtils.RemoverCaracteresEspeciais(model.Cpf), Criptografia.GerarHashSenha(model.Senha));
                if (user != null)
                {
                    var claims = new List <Claim>
                    {
                        new Claim(ClaimTypes.SerialNumber, user.Id.ToString()),
                        new Claim(ClaimTypes.NameIdentifier, user.Nome),
                        new Claim(ClaimTypes.UserData, user.Cpf),
                        new Claim(ClaimTypes.Email, user.Email),
                        new Claim(ClaimTypes.OtherPhone, user.Telefone),
                        new Claim(ClaimTypes.Role, user.Tipo)
                    };

                    // Adicionando uma identidade as claims.
                    var identidade = new ClaimsIdentity(claims, "login");

                    // Propriedades da autenticação.
                    var propriedadesClaim = new AuthenticationProperties
                    {
                        ExpiresUtc = DateTimeOffset.UtcNow.AddDays(1) // Expira em 1 dia
                    };

                    // Logando efetivamente.
                    await HttpContext.SignInAsync(new ClaimsPrincipal(identidade), propriedadesClaim);

                    return(RedirectToAction("Index", "Home"));
                }
            }

            return(RedirectToAction("Index", "Login", new { msg = "error" }));
        }
コード例 #4
0
 public ActionResult Create(UsuarioModel usuarioModel)
 {
     if (ModelState.IsValid)
     {
         usuarioModel.Cpf      = MethodsUtils.RemoverCaracteresEspeciais(usuarioModel.Cpf);
         usuarioModel.Telefone = MethodsUtils.RemoverCaracteresEspeciais(usuarioModel.Telefone);
         if (UsuarioService.UsuarioUnityOfWork.UsuarioRepository.Inserir(usuarioModel))
         {
             return(RedirectToAction(nameof(Index)));
         }
     }
     return(View(usuarioModel));
 }
コード例 #5
0
        // GET: Solicitacao/Delete/5
        public ActionResult Delete(int id)
        {
            var viagem         = _gerenciadorViagem.ObterPorId(id);
            var veiculo        = _gerenciadorVeiculo.ObterPorId(viagem.IdVeiculo);
            var rota           = _gerenciadorRota.ObterPorId(viagem.IdRota);
            var _usuarioLogado = MethodsUtils.RetornaUserLogado((ClaimsIdentity)User.Identity);

            ViewBag.solicitacao = _gerenciadorSolicitacao.ObterPorViagemUsuario(_usuarioLogado.Id, id);
            // Obter a solicitação pelo ID da viagem/ID do usuario em questao.
            //var solicitacao = _gerenciadorSolicitacao.ObterPorViagemUsuario(idUsuario, id);
            return(View(new ViagemRotaViewModel {
                Veiculo = veiculo, Rota = rota, Viagem = viagem
            }));
        }
コード例 #6
0
        public ActionResult CriarUser(UsuarioModel usuario)
        {
            if (ModelState.IsValid)
            {
                // Informações do objeto
                usuario.Cpf   = MethodsUtils.RemoverCaracteresEspeciais(usuario.Cpf);
                usuario.Senha = Criptografia.GerarHashSenha(usuario.Senha);
                usuario.Tipo  = "CLIENTE";

                if (UsuarioService.UsuarioUnityOfWork.UsuarioRepository.Inserir(usuario))
                {
                    return(RedirectToAction("Index", "Login", new { msg = "Success" }));
                }
            }
            return(View(usuario));
        }
コード例 #7
0
        public ActionResult CriarUser(UsuarioModel usuario)
        {
            if (ModelState.IsValid)
            {
                // Informações do objeto
                usuario.Cpf   = MethodsUtils.RemoverCaracteresEspeciais(usuario.Cpf);
                usuario.Senha = Criptografia.GerarHashSenha(usuario.Senha);
                usuario.Tipo  = "CLIENTE";

                if (_gerenciadoraUsuario.Inserir(usuario))
                {
                    return(RedirectToAction("Autenticar", "Login"));
                }
            }
            return(View(usuario));
        }
コード例 #8
0
        public ActionResult Delete(int id, IFormCollection collection)
        {
            try
            {
                var _usuarioLogado = MethodsUtils.RetornaUserLogado((ClaimsIdentity)User.Identity);
                var solicitacao    = _gerenciadorSolicitacao.ObterPorViagemUsuario(_usuarioLogado.Id, id);
                if (_gerenciadorSolicitacao.Remover(solicitacao.Id))
                {
                    return(RedirectToAction("Index", "Solicitacao", new { msg = "sucess" }));
                }

                return(RedirectToAction("Index", "Solicitacao", new { msg = "fail" }));
            }
            catch
            {
                return(RedirectToAction("Index", "Solicitacao"));
            }
        }
コード例 #9
0
        public ActionResult Create(int id)
        {
            try
            {
                var _usuarioLogado = MethodsUtils.RetornaUserLogado((ClaimsIdentity)User.Identity);
                var x = new SolicitacaoVeiculoModel {
                    IdUsuario = _usuarioLogado.Id, IdViagem = id, DataSolicitacao = DateTime.Now, IdPagamento = 1
                };
                if (_gerenciadorSolicitacao.Inserir(x))
                {
                    TempData["msg"] = "success";
                    return(RedirectToAction("Index", "Solicitacao"));
                }

                return(RedirectToAction("Index", "Solicitacao"));
            }
            catch
            {
                return(RedirectToAction("Index", "Solicitacao"));
            }
        }
コード例 #10
0
        // GET: Solicitacao
        public ActionResult Index()
        {
            var _usuarioLogado = MethodsUtils.RetornaUserLogado((ClaimsIdentity)User.Identity);
            // Retornando todas as viagens do determinado usuario, obtido pelo id setado na sessão.
            var listViewModels = new List <ViagemRotaViewModel>();

            foreach (var solicitacao in _gerenciadorSolicitacao.ObterSolicitacoesAbertasPorUsuario(_usuarioLogado.Id))
            {
                var viagem = _gerenciadorViagem.ObterPorId(solicitacao.IdViagem);
                listViewModels.Add(new ViagemRotaViewModel
                {
                    Rota    = _gerenciadorRota.ObterPorId(viagem.IdRota),
                    Veiculo = _gerenciadorVeiculo.ObterPorId(viagem.IdVeiculo),
                    Viagem  = viagem
                });
            }

            var rotas = _gerenciadorRota.ObterTodos();

            ViewBag.rotaOrigem  = new SelectList(rotas, "Origem", "Origem");
            ViewBag.rotaDestino = new SelectList(rotas, "Destino", "Destino");
            return(View(listViewModels));
        }
コード例 #11
0
        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());
        }