public async Task <ActionResult> MeuPerfil(ClienteAcessoMeuPerfilModel model) { ViewBag.DadosAlterados = false; if (model.AlterPassword) { var senhaAntiga = await clienteAcessoRepo.GetByIdAsync(model.IdUsuario); if (senhaAntiga.Senha != model.OldPassword) { ModelState.AddModelError("OldPassword", "Senha antiga não confere."); } if (model.Password != model.ConfirmPassword) { ModelState.AddModelError("ConfirmPassword", "Senha e confirmação de senha não são iguais."); } } else { ModelState["Password"].Errors.Clear(); ModelState["OldPassword"].Errors.Clear(); ModelState["ConfirmPassword"].Errors.Clear(); } if (model.Email != null) { var doubleCheckEmail = clienteAcessoRepo.GetAll().Where(x => x.Email.ToLower() == model.Email.Trim().ToLower() && x.Id != model.IdUsuario && x.FlagStatus); if (doubleCheckEmail.Any()) { ModelState.AddModelError("Email", "Já existe este e-mail cadastrado com outro usuário."); } } if (ModelState.IsValid) { var edicaoUsuario = await clienteAcessoRepo.GetByIdAsync(model.IdUsuario); edicaoUsuario.Nome = model.Nome; edicaoUsuario.Email = model.Email.Trim().ToLower(); edicaoUsuario.Departamento = model.Departamento; edicaoUsuario.Senha = model.AlterPassword? model.Password.Trim(): edicaoUsuario.Senha; await clienteAcessoRepo.EditAsync(edicaoUsuario, model.IdUsuario); ViewBag.DadosAlterados = true; } return(View(model)); }
public ActionResult MeuPerfil(int Id) { ViewBag.DadosAlterados = false; var model = new ClienteAcessoMeuPerfilModel(); var userDB = clienteAcessoRepo.GetById(Id); if (userDB != null) { model = new ClienteAcessoMeuPerfilModel { IdUsuario = userDB.Id, Nome = userDB.Nome, Email = userDB.Email, Departamento = userDB.Departamento, AlterPassword = false, }; } return(View(model)); }