public async Task <ActionResult> Edit(int id) { var model = new ClienteAcessoModel(); model.PaginaAcesso = new List <PaginaAcessoModel>(); await DropDownLojasAcesso(); await CheckBoxPaginasAcesso(model); var usuarioDB = await clienteAcessoRepo.GetByIdAsync(id); if (usuarioDB != null) { model = Mapper.Map(usuarioDB, model); //model.MapperDBToModel(usuarioDB, model); //paginas que o usuario temn acesso var idsPagina = await clienteAcessoRepo.PaginasAcessoListAsync(model.Id); if (idsPagina.Any()) { model.IdsClienteAcessoPerfil = idsPagina.Select(x => x.Id).ToArray(); } var idsLoja = await clienteAcessoRepo.ClienteAcessoLojaListAsync(model.Id); if (idsLoja.Any()) { model.IdsClienteAcessoLoja = idsLoja.Select(x => x.IdLoja).ToArray(); } } return(View(model)); }
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)); }