public async Task <ActionResult> Edit(EditarUsuarioVM model) { if (!ModelState.IsValid) { GerarViewsBagsDeSelect(); return(View(model)); } var result = controleDeAcessoServices.AtualizarUsuario(model); if (!result.Succeeded) { AddErrors(result); return(View(model)); } return(RedirectToAction("Index")); }
public IdentityResult AtualizarUsuario(EditarUsuarioVM model) { var usuario = userManager.FindByIdAsync(model.Id.ToString()).Result; usuario.AtribuirAcessoDiasDaSemana(model.AcessoDiasDaSemana); if (model.Ativo) { usuario.Ativar(); } else { usuario.Inativar(); } if (model.TrocarSenha) { usuario.TrocarSenhaNoProximoAcesso(); } var result = userManager.UpdateAsync(usuario).Result; if (result.Succeeded) { controleAcessoUsuarioServices.AtualizarNivelDeAcessoUsuario(model.Id, model.NiveisSelecionados); SaveChanges(); if (model.GerarNovaSenha) { var result2 = userManager.RemovePasswordAsync(usuario).Result; if (!result2.Succeeded) { return(result2); } var result3 = userManager.AddPasswordAsync(usuario, model.NovaSenha).Result; if (!result3.Succeeded) { return(result3); } } } return(result); }
public async Task <IActionResult> Editar(EditarUsuarioVM viewmodel) { if (ModelState.IsValid) { try { await usuarioService.Editar(viewmodel.Id, viewmodel.Nome, viewmodel.Documento, viewmodel.Senha, viewmodel.Telefone, viewmodel.Foto, viewmodel.Ativo); if (viewmodel.Id == User.Identity.Id()) { await usuarioService.RefreshSignIn(User.Identity.Id()); } return(RedirectToAction("Index")); } catch (CustomException erro) { ViewBag.Erro = erro.Message; } catch (Exception erro) { logger.LogError(erro.ToString()); ViewBag.Erro = "Erro interno no servidor."; } } return(View(viewmodel)); }
/// <summary> /// Abre formulário para editar um usuário existente no sistema /// </summary> /// <param name="id">Identificador único do usuário</param> public async Task <IActionResult> Editar(long id) { if (id > 0) { try { var user = await usuarioService.BuscaPorId(id); if (user == null) { return(NotFound()); } var viewmodel = new EditarUsuarioVM(user); return(View(viewmodel)); } catch (Exception erro) { logger.LogError(erro.ToString()); return(RedirectToAction("Error", "Home")); } } else { return(BadRequest()); } }