public IActionResult HttpStatusCodeHandler()
        {
            var viewModel = new ErroVM()
            {
                StatusCode   = 500,
                ErrorMessage = "Ocorreu um erro no servidor..."
            };

            return(View("_Erro", viewModel));
        }
Exemple #2
0
        public async Task <ActionResult> Login(LoginVM lvm, string returnUrl)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (lvm.CPF.RetirarFormato().ÉCPFVálido())
                    {
                        var usuario = await _repository.Autenticar(lvm.CPF.RetirarFormato(), lvm.Senha.ConverterParaMD5());

                        if (usuario == null)
                        {
                            ModelState.AddModelError(string.Empty, "Usuário ou senha inválida.");
                        }
                        else
                        {
                            //memoriza dados do usuario
                            Session.Gravar <Usuario>("USUARIO", usuario);

                            if (string.IsNullOrEmpty(returnUrl))
                            {
                                if (usuario.GrupoID == (int)GrupoAcesso.ELABORADOR)
                                {
                                    return(RedirectToAction("Listar", "Questao"));
                                }
                                else
                                {
                                    return(RedirectToAction("CorrigirRespostas", "Resposta"));
                                }
                            }
                            else
                            {
                                return(RedirectToLocal(returnUrl));
                            }
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "Usuário é inválido.");
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(ex);
                TempData["Erro"] = new ErroVM {
                    Erro = ex.GetType().FullName, Descrição = ex.Message
                };

                return(this.RedirectToAction("FalhaNaAplicacao", "Erro"));
            }
            //algo falhou e devolvemos o viewmodel
            return(this.View(lvm));
        }
        public IActionResult HttpStatusCodeHandler(int statusCode)
        {
            var viewModel = new ErroVM()
            {
                StatusCode = statusCode
            };

            switch (statusCode)
            {
            case 404:
                viewModel.ErrorMessage = "Recurso não foi encontrado";
                break;
            }
            return(View("_Erro", viewModel));
        }
Exemple #4
0
        //erro 500, pode ser disparado por qualquer erro de aplicação (ex: NullReferenceException, ApplicationException, etc)
        public ActionResult FalhaNaAplicacao()
        {
            ErroVM vm;

            if (TempData["Erro"] != null)
            {
                vm = TempData["Erro"] as ErroVM;
            }
            else
            {
                vm = new ErroVM {
                    Erro = RouteData.Values["Erro"] as string, Descrição = RouteData.Values["Descrição"] as string
                }
            };

            return(View(vm));
        }
    }