Example #1
0
        public async Task <IActionResult> AlterarSenha(SenhaCriarDto senhaDto)
        {
            ViewBag.UsuarioId = senhaDto.Id;
            senhaDto.Validate();
            if (senhaDto.Invalid)
            {
                TempData["Notificacao"] = new BadRequestDto(senhaDto.Notifications, TipoNotificacao.Warning);
                return(View(senhaDto));
            }

            await _usuarioService.CriarSenha(senhaDto);

            if (_usuarioService.Invalid)
            {
                TempData["Notificacao"] = new BadRequestDto(_usuarioService.Notifications, TipoNotificacao.Warning);
                return(View(senhaDto));
            }

            TempData["Notificacao"] = new BadRequestDto(new List <Notification>()
            {
                new Notification("AlterarSenha", "Senha alterada com sucesso.")
            }, TipoNotificacao.Success);
            ViewBag.Controller = "Agendamentos";
            return(View("_Confirmacao"));
        }
        public async Task CriarSenha(SenhaCriarDto senhaDto)
        {
            var usuario = await _usuarioRepository.ObterAsync(senhaDto.Id);

            if (usuario == null)
            {
                AddNotification("AlterarSenha", MensagemValidacao.Usuario.NaoExiste);
                return;
            }

            AddNotifications(new Contract()
                             .AreNotEquals(senhaDto.SenhaNova, usuario.Matricula, "AlterarSenha", MensagemValidacao.Usuario.SenhaNaoPodeSerMatricula, StringComparison.OrdinalIgnoreCase)
                             .AreEquals(senhaDto.SenhaAtual, usuario.Senha, "AlterarSenha", MensagemValidacao.Usuario.SenhaDiferente, StringComparison.OrdinalIgnoreCase)
                             );

            if (Invalid)
            {
                return;
            }

            usuario.AlterarSenha(senhaDto.SenhaNova);
            await _usuarioRepository.EditarAsync(usuario);
        }