public IHttpActionResult ResetarSenha([FromBody] DTOContato contato) { try { SenhaRecuperacaoService recuperacaoService = new SenhaRecuperacaoService(); EmailNotification emailNotifier = new EmailNotification(MimeKit.Text.TextFormat.Html); recuperacaoService.RecuperSenha(contato, emailNotifier, Domain.Enum.TipoContato.EMAIL); return(Ok(new { message = "Senha resetada com sucesso, verifique sua caixa de e-mail.", data = new List <string>(), success = true })); } catch (Exception ex) { return(Ok(new { message = $"Oops, não foi possível resetar sua senha pelo seguinte motivo: {ex.Message}", data = new List <string>(), success = false })); } }
public IHttpActionResult RecuperarSenha([FromBody] DTOContato contato) { try { SenhaRecuperacaoService service = new SenhaRecuperacaoService(); EmailNotification emailNotifier = new EmailNotification(MimeKit.Text.TextFormat.Html); string url = $@"{Url.Content("~/")}/Home/AlterarSenha"; //Url.Action("RecuperarSenha", "Home", null, protocol: Request.Url.Scheme); service.RecuperarSenhaGerarToken(contato, emailNotifier, url); return(Json(new { success = true, message = $"E-mail de reset de senha enviado para {contato.Contato}", data = new List <string>() })); } catch (Exception ex) { return(Json(new { success = false, message = ex.Message, data = new List <string>() })); } }
private void btnLocalizar_Click(object sender, EventArgs e) { using (frmConsulta f = new frmConsulta()) { this.Hide(); f.ShowDialog(); idContato = f.codLinha; } this.Show(); if (idContato > 0) { List <cl_GestorBD.SQLParametro> parametros = new List <cl_GestorBD.SQLParametro>(); parametros.Add(new cl_GestorBD.SQLParametro("@idContato", idContato)); query = "SELECT *FROM contatos WHERE id_contato = @idContato"; DTOContato = new DTOContato(); BLLContato BLLContato = new BLLContato(); DTOContato = BLLContato.CarregaContato(query, parametros); // Preenchendo as TextBox lbl_idContato.Visible = true; lbl_idContato.Text = DTOContato.IdContato.ToString(); txtNome.Text = DTOContato.Nome; txtTelefone.Text = DTOContato.Telefone; AlteraBotoes(3); } else { return; } }
private void btnGravar_Click(object sender, EventArgs e) //informar a query aqui neste método...ele está em BLL. { DTOContato = new DTOContato(); DTOContato.Nome = txtNome.Text; DTOContato.Telefone = txtTelefone.Text; BLLContato = new BLLContato(); DateTime data = new DateTime(); data = DateTime.Now; param = new List <cl_GestorBD.SQLParametro>() { new cl_GestorBD.SQLParametro("@idContato", DTOContato.IdContato), //vai com o valor Zero new cl_GestorBD.SQLParametro("@nome", DTOContato.Nome), new cl_GestorBD.SQLParametro("@telefone", DTOContato.Telefone), new cl_GestorBD.SQLParametro("@atualizacao", data) }; if (acao == "Inserir") { query = "INSERT INTO contatos (nome,telefone,atualizacao) VALUES(@nome, @telefone, @atualizacao)"; //Foi no param com o valor Zero, agora recebe o número de id retornado do banco. DTOContato.IdContato = BLLContato.Incluir(query, param); if (DTOContato.IdContato != 0) { MessageBox.Show("Cadastro nº " + DTOContato.IdContato + " efetuado com sucesso", "CADASTRO CONTATO"); AlteraBotoes(2); LimpaTela(); } else { MessageBox.Show("Registro não efetuado", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { //acao = Alterar param[0].Valor = lbl_idContato.Text; query = "UPDATE contatos SET nome = @nome, telefone = @telefone, atualizacao = @atualizacao WHERE id_contato = @idContato"; BLLContato.Alterar(query, param); MessageBox.Show("Cadastro nº " + lbl_idContato.Text.ToString() + " alterado com sucesso", "ALTERAÇÃO DE CONTATO"); LimpaTela(); AlteraBotoes(1); } }
public override void Notificar(DTOContato contato, string titulo, string mensagem) { var message = new MimeMessage(); message.From.Add(new MailboxAddress("Nossos Filmes", _email)); message.To.Add(new MailboxAddress(contato.Nome, contato.Contato)); message.Subject = titulo; message.Body = new TextPart(this.defaultFormat) { Text = mensagem }; EnviarMensagem(message); }
public void RecuperarSenhaGerarToken(DTOContato contato, INotification notification, string urlCaminho) { AutenticacaoService autenticacaoService = new AutenticacaoService(); var usuarioCtx = autenticacaoService.GetUsuario(contato.Usuario); if (usuarioCtx != null) { notification.Notificar(contato, $"Olá {contato.Nome}, o link para resetar sua senha chegou!", EmailRecuperacao(usuarioCtx, contato.Nome, urlCaminho)); } else { throw new Exception("Usuário não encontrado na base."); } }
public DTOContato CarregaContato(string query, List <cl_GestorBD.SQLParametro> parametros) { DTOContato dto = new DTOContato(); gestor = new cl_GestorBD("teste"); using (tabelaTemp = new DataTable()) { tabelaTemp = gestor.EXE_READER(query, parametros); dto.IdContato = (int)tabelaTemp.Rows[0].ItemArray[0]; dto.Nome = tabelaTemp.Rows[0].ItemArray[1].ToString(); dto.Telefone = tabelaTemp.Rows[0].ItemArray[2].ToString(); dto.Atualizacao = (DateTime)tabelaTemp.Rows[0].ItemArray[3]; } return(dto); }
public void RecuperSenha(DTOContato contato, INotification notification, TipoContato tipoContato = TipoContato.EMAIL) { AutenticacaoService autenticacaoService = new AutenticacaoService(); var usuarioCtx = autenticacaoService.GetUsuario(contato.Usuario); if (usuarioCtx != null) { autenticacaoService.ResetarSenhaUsuario(new DTOUsuario { Usuario = contato.Usuario }, out string novaSenha); notification.Notificar(contato, $"Olá {contato.Nome}, aqui sua senha temporária.", MontaHTML(new SenhaAcesso { Usuario = contato.Usuario, Senha = novaSenha }, contato.Nome)); } else { throw new Exception("Usuário não encontrado na base."); } }
public abstract void Notificar(DTOContato contato, string titulo, string mensagem);
public void Incluir(DTOContato Contato) { cl_GestorBD gestor = new cl_GestorBD("teste"); }