//recuperar senha etapa1 public async Task <Models.TbLogin> VerificarEmailRecuperarSenha(Models.Request.EmailRequest.EmailRecuperarSenha request, string codigo) { Models.TbLogin login = new Models.TbLogin(); Models.TbCliente tabela = context.TbCliente.Include(x => x.IdLoginNavigation) .FirstOrDefault(x => x.DsEmail == request.Email); Models.TbFuncionario tabelaFuncionario = context.TbFuncionario.Include(x => x.IdLoginNavigation) .FirstOrDefault(x => x.DsEmail == request.Email); if (tabela != null) { tabela.IdLoginNavigation.DsCodigoVerificacao = codigo; tabela.IdLoginNavigation.DtCodigoVerificacao = DateTime.Now; login = await ConsultarLoginPorId(tabela.IdLogin); } else if (tabelaFuncionario != null) { tabelaFuncionario.IdLoginNavigation.DsCodigoVerificacao = codigo; tabelaFuncionario.IdLoginNavigation.DtCodigoVerificacao = DateTime.Now; login = await ConsultarLoginPorId(tabelaFuncionario.IdLogin); } else { throw new ArgumentException("Esse email ainda não esta cadastrado."); } await context.SaveChangesAsync(); return(login); }
public async Task <Models.TbLogin> EnviarCodigoRecuperarSenha(Models.Request.EmailRequest.EmailRecuperarSenha request) { Database.LoginDatabase database = new Database.LoginDatabase(); string codigo = GerarCodigolAleatorio(); Models.TbLogin login = await database.VerificarEmailRecuperarSenha(request, codigo); string titulo = "Resetar Senha"; string corpo = $"<div><h3>Paresce que você esqueceu sua senha :(</h3></div>" + $"<div>não se preocupe, basta digitar esse código {codigo}</div>" + $"<div>na pagina para qual foi direcionado.</div>"; this.EnvioEmail(request.Email, titulo, corpo); return(login); }
public async Task <ActionResult <Models.Response.EmailResponse.RecuperarSenhar> > ResetarSenha(Models.Request.EmailRequest.EmailRecuperarSenha request) { try { Models.TbLogin tabela = await gerenciadorEmail.EnviarCodigoRecuperarSenha(request); return(conversor.ParaResponse(tabela)); } catch (System.Exception ex) { return(BadRequest(new Models.Response.ErroResponse(400, ex.Message))); } }