public async Task <IActionResult> RecuperarSenha([FromBody] RecebeEmailViewModel email) { if (!ModelState.IsValid) { return(BadRequest()); } var recuperarSenhaResposta = await _loginService.RecuperarSenha(email); if (recuperarSenhaResposta.ExibicaoMensagem != null) { return(StatusCode(recuperarSenhaResposta.ExibicaoMensagem.StatusCode, recuperarSenhaResposta)); } return(Ok(recuperarSenhaResposta)); }
public async Task <RetornoControllerViewModel <ExibicaoMensagemViewModel, Guid> > RecuperarSenha(RecebeEmailViewModel email) { var pessoa = _pessoaRepository.GetSingleOrDefault(x => x.Email == email.Email && x.Status); var usuarioPessoa = _usuarioRepository.GetSingleOrDefault(x => x.Login == email.Email && x.Ativo); RetornoControllerViewModel <ExibicaoMensagemViewModel, Guid> retornoController = new RetornoControllerViewModel <ExibicaoMensagemViewModel, Guid>(); if (pessoa == null) { ExibicaoMensagemViewModel exibicaoMensagem = new ExibicaoMensagemViewModel { Cabecalho = "E-mail inválido", MensagemCurta = "E-mail inválido", Detalhes = "Este e-mail já está sendo utilizado.", StatusCode = StatusCodes.Status400BadRequest }; retornoController.ExibicaoMensagem = exibicaoMensagem; return(retornoController); } if (usuarioPessoa != null && usuarioPessoa.Senha == null) { //var ultimoConvite = _conviteRepository.Find(x => x.Email == pessoa.Email).OrderByDescending(x => x.DataCriacao).FirstOrDefault(); //var convite = await _pessoaService.CriarConvite(pessoa, pessoa.Id, ultimoConvite.IdOrganizacao); //var linkConvite = await _envioEmailService.GerarLink(convite.ConvitesHistorico.FirstOrDefault().Id, // convite.ConvitesHistorico.FirstOrDefault().Token, "registro-pessoa"); //var envioConvite = await _envioEmailService.EnvioConvite(convite, linkConvite); ExibicaoMensagemViewModel exibicaoMensagem = new ExibicaoMensagemViewModel { Cabecalho = "E-mail não ativado", MensagemCurta = "Processo de Ativação de Cadastro em andamento", Detalhes = "Este e-mail não foi ativado por um convite", StatusCode = StatusCodes.Status200OK }; retornoController.ExibicaoMensagem = exibicaoMensagem; return(retornoController); } //criar resetarPassword var recuperarSenha = await CriarRegRecuperarSenha(pessoa); if (recuperarSenha == null) { ExibicaoMensagemViewModel exibicaoMensagem = new ExibicaoMensagemViewModel { Cabecalho = "Erro ao criar registro Recuperar Senha", MensagemCurta = "Erro ao criar registro Recuperar Senha", Detalhes = "Não foi possível criar registro para Recuperar Senha.", StatusCode = StatusCodes.Status204NoContent }; retornoController.ExibicaoMensagem = exibicaoMensagem; return(retornoController); } //pegar link do convite //var linkRecuperarSenha = await _envioEmailService.GerarLink(recuperarSenha.Id, // recuperarSenha.Token, "recupera-senha"); ////emailService //var envioRecuperarSenha = await _envioEmailService.EnvioRecuperarSenha(recuperarSenha, linkRecuperarSenha); //if (envioRecuperarSenha.Resposta == false) //{ //ExibicaoMensagemViewModel exibicaoMensagem = new ExibicaoMensagemViewModel //{ // Cabecalho = "Erro ao enviar convite", // MensagemCurta = "Erro ao enviar convite", // Detalhes = envioRecuperarSenha.Mensagem, // StatusCode = StatusCodes.Status500InternalServerError //}; retornoController.ExibicaoMensagem = new ExibicaoMensagemViewModel(); //exibicaoMensagem; // recuperarSenha.NotificacaoFoiEnviada = envioRecuperarSenha.Resposta; // recuperarSenha.MensagemResultadoNotificacao = envioRecuperarSenha.Mensagem; //return retornoController; //} //recuperarSenha.NotificacaoFoiEnviada = envioRecuperarSenha.Resposta; //recuperarSenha.MensagemResultadoNotificacao = envioRecuperarSenha.Mensagem; await _unitOfWork.SaveAsync(); retornoController.Objeto = recuperarSenha.Id; return(retornoController); }