public IActionResult HttpStatusCodeHandler() { var viewModel = new ErroVM() { StatusCode = 500, ErrorMessage = "Ocorreu um erro no servidor..." }; return(View("_Erro", viewModel)); }
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)); }
//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)); } }