예제 #1
0
        public void NovaSenha(UsuarioNovaSenhaViewModel viewModel)
        {
            if (viewModel.NovaSenha != viewModel.NovaSenhaConfirmacao)
            {
                _notificacoes.Adicionar(new NotificacaoDeDominio(string.Empty, "Sua senha e a confirmação devem ser iguais."));
                return;
            }

            var novaSenha = CalculaHash(viewModel.NovaSenha);

            var usuarioByEmail = _servicos.GetByEmail(viewModel.Email);

            var usuarioSend = new UsuarioSendViewModel
            {
                Apelido = usuarioByEmail.Apelido,
                DataAtualizacaoRegistro = usuarioByEmail.DataAtualizacaoRegistro,
                DataCriacaoRegistro     = usuarioByEmail.DataCriacaoRegistro,
                Email            = usuarioByEmail.Email,
                Id               = usuarioByEmail.Id,
                Nome             = usuarioByEmail.Nome,
                SelecaoDoCoracao = (int)usuarioByEmail.SelecaoDoCoracao,
                Senha            = novaSenha
            };

            var usuario = _mapper.Map <Usuario>(usuarioSend);

            _servicos.Atualizar(usuario);
        }
        public IActionResult NovaSenha([FromBody] UsuarioNovaSenhaViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                NotificarErros();
                return(Response(vm));
            }

            _servicosApp.NovaSenha(vm);

            return(Response(vm));
        }