public IActionResult SalvarNovaSenha([FromForm] Models.Cliente cliente, int Chave) { ModelState.Remove("Nome"); ModelState.Remove("Nascimento"); ModelState.Remove("Sexo"); ModelState.Remove("CPF"); ModelState.Remove("Telefone"); ModelState.Remove("Email"); ModelState.Remove("CEP"); ModelState.Remove("Rua"); ModelState.Remove("Cidade"); ModelState.Remove("Bairro"); ModelState.Remove("Numero"); ModelState.Remove("Estado"); if (ModelState.IsValid) { DadosRecuperacaoSenha dados = _recuperacaoSenhaRepository.ObterRegistro(a => a.Chave == Chave); Models.Cliente clienteDB = _clienteRepository.ObterCliente((int)dados.ClienteId); clienteDB.Senha = cliente.Senha; _recuperacaoSenhaRepository.Excluir(dados.Id); _clienteRepository.Atualizar(clienteDB); TempData["MSG_S"] = "A nova senha foi salva com sucesso!"; return(Redirect("/cliente/home/login")); } return(View()); }
public IActionResult RecuperarSenha([FromForm] Models.Colaborador colaborador) { ModelState.Remove("Email"); Models.Colaborador colaboradorDB = _colaboradorRepository.ObterColaborador(a => a.Email == colaborador.Email); if (colaboradorDB != null) { try { DadosRecuperacaoSenha dados = new DadosRecuperacaoSenha(); dados.ColaboradorId = colaboradorDB.Id; dados.Data = DateTime.Now; int verificador = CriarVerificador(colaboradorDB.Id); dados.Chave = (verificador * 1000000 + new Random().Next(100000, 999999)) * 10 + colaboradorDB.Id % 10; _email.SendEmailRecuperarSenha(colaboradorDB, dados, false); _recuperacaoSenhaRepository.Cadastrar(dados); TempData["MSG_S"] = "E-mail enviado! Confira sua caixa de entrada"; return(Redirect("/colaborador/home/login")); } catch { ViewData["MSG_E"] = "Oops! Houve um problema no sistema! Tente novamente"; } } else { ViewData["MSG_E"] = "O e-mail não consta em nosso sistema!"; } return(View()); }
public void Excluir(int id) { DadosRecuperacaoSenha dados = ObterRegistro(a => a.Id == id); _banco.RecuperacaoSenhas.Remove(dados); _banco.SaveChanges(); }
public IActionResult SalvarNovaSenha(int Chave) { DadosRecuperacaoSenha dados = _recuperacaoSenhaRepository.ObterRegistro(a => a.Chave == Chave); if (dados == null || dados.Data.AddDays(1) < DateTime.Now) { return(new StatusCodeResult(400)); } return(View()); }
public IActionResult SalvarNovaSenha([FromForm] Models.Colaborador colaborador, int Chave) { ModelState.Remove("Email"); if (ModelState.IsValid) { DadosRecuperacaoSenha dados = _recuperacaoSenhaRepository.ObterRegistro(a => a.Chave == Chave); Models.Colaborador colaboradorDB = _colaboradorRepository.ObterColaborador((int)dados.ColaboradorId); colaboradorDB.Senha = colaborador.Senha; _recuperacaoSenhaRepository.Excluir(dados.Id); _colaboradorRepository.Atualizar(colaboradorDB); TempData["MSG_S"] = "A nova senha foi salva com sucesso!"; return(Redirect("/colaborador/home/login")); } return(View()); }
public IActionResult RecuperarSenha([FromForm] Models.Cliente cliente) { ModelState.Remove("Nome"); ModelState.Remove("Nascimento"); ModelState.Remove("Sexo"); ModelState.Remove("CPF"); ModelState.Remove("Telefone"); ModelState.Remove("CEP"); ModelState.Remove("Rua"); ModelState.Remove("Cidade"); ModelState.Remove("Bairro"); ModelState.Remove("Numero"); ModelState.Remove("Estado"); ModelState.Remove("Senha"); ModelState.Remove("ConfirmacaoSenha"); if (ModelState.IsValid) { Models.Cliente clienteDB = _clienteRepository.ObterCliente(a => a.Email == cliente.Email); if (clienteDB != null) { try { DadosRecuperacaoSenha dados = new DadosRecuperacaoSenha(); dados.ClienteId = clienteDB.Id; dados.Data = DateTime.Now; int verificador = CriarVerificador(clienteDB.Id); dados.Chave = (verificador * 1000000 + new Random().Next(100000, 999999)) * 10 + clienteDB.Id % 10; _gerenciarEmail.SendEmailRecuperarSenha(clienteDB, dados); _recuperacaoSenhaRepository.Cadastrar(dados); TempData["MSG_S"] = "E-mail enviado! Confira sua caixa de entrada"; return(Redirect("/cliente/home/login")); } catch { ViewData["MSG_E"] = "Oops! Houve um problema no sistema! Tente novamente"; } } else { ViewData["MSG_E"] = "O e-mail não consta em nosso sistema!"; } } return(View()); }
public void SendEmailRecuperarSenha(dynamic objeto, DadosRecuperacaoSenha dados, bool cliente = true) { string URL = _httpContextAccessor.HttpContext.Request.Scheme + "://" + _httpContextAccessor.HttpContext.Request.Host + "/" + (cliente?"cliente":"colaborador") + "/recuperarsenha/" + dados.Chave.ToString(); MailMessage Msg = new MailMessage(); Msg.From = new MailAddress(_conf.GetValue <string>("Email:Username")); Msg.To.Add(objeto.Email); Msg.Subject = "MultiMarket - Nova senha"; Msg.Body = string.Format( "<div style='text-align:center'>" + "<h1>Recuperar senha - MultiMarket<h1>" + "<h2>Olá {0}! </h2>" + "<p>A solicitação foi atendida com sucesso</p>" + "<a href='{1}'>Clique aqui</a> para criar uma nova senha" + "<p>*Esta é uma mensagem gerada automaticamente*</p>" + "<h3>Equipe MultiMarket</h3>" + "</div>", objeto.Nome, URL ); Msg.IsBodyHtml = true; _smtp.Send(Msg); }
public void Cadastrar(DadosRecuperacaoSenha dados) { _banco.RecuperacaoSenhas.Add(dados); _banco.SaveChanges(); }
public void Atualizar(DadosRecuperacaoSenha dados) { _banco.RecuperacaoSenhas.Update(dados); _banco.SaveChanges(); }