Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }