Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        /// <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());
            }
        }