public async Task <ActionResult <Usuario> > GetPorEmail(string email) { try { var validarUsuarioComEmail = await repositorio.GetEmailUsuario(email); if (validarUsuarioComEmail == null) { return(NotFound("Email não encontrado!")); } string caracteres = "techcycle123456789"; string senhaGerada = ""; Random misturarCaracteres = new Random(); for (var senha = 0; senha < 5; senha++) { senhaGerada += caracteres.Substring(misturarCaracteres.Next(0, caracteres.Length - 1), 1); } string tituloEmail = ($"Sua nova senha solicitada: {senhaGerada}"); string corpoEmail = System.IO.File.ReadAllText(path: @"emails\parabens.html"); _emailController.Email(validarUsuarioComEmail.Email, corpoEmail, tituloEmail); var hashSenha = new HashSenha(SHA256.Create()); validarUsuarioComEmail.Senha = hashSenha.HasheandoSenha(senhaGerada); await repositorio.Put(validarUsuarioComEmail); return(validarUsuarioComEmail); } catch (Exception) { throw; } }
private Usuario autenticarUsuario(LoginUsuarioViewModel login) { var hashSenha = new HashSenha(SHA256.Create()); var senhaHasheada = hashSenha.HasheandoSenha(login.Senha); var usuario = context.Usuario .FirstOrDefault(us => (us.LoginUsuario == login.LoginUsuario && us.Senha == senhaHasheada) || (us.Email == login.Email && us.Senha == senhaHasheada)); return(usuario); }
public async Task <ActionResult <Usuario> > Post([FromForm] CadUsuarioViewModel usuario) { Usuario usosExistente = await repositorio.verificacaoDeUso(usuario.email, usuario.loginUsuario); if (usosExistente != null) { return(BadRequest("Desculpe, mas parece que este email ou o userName já está em uso")); } try { Usuario newUsuario = new Usuario(); var hashSenha = new HashSenha(SHA256.Create()); if (Request.Form.Files.Count > 0) { var arquivo = Request.Form.Files[0]; var caminhoPasta = @"Resources\Usuario\"; newUsuario.LoginUsuario = usuario.loginUsuario; newUsuario.Senha = hashSenha.HasheandoSenha(usuario.senha); newUsuario.NomeCompleto = usuario.nomeCompleto; string tituloEmail = "Aguardando aprovação!"; string corpoEmail = System.IO.File.ReadAllText(path: @"emails\parabens.html"); _emailController.Email(usuario.email, corpoEmail, tituloEmail); newUsuario.Email = usuario.email; newUsuario.FotoUsuario = _uploadController.Upload(arquivo, caminhoPasta); newUsuario.Departamento = usuario.departamento; newUsuario.TipoDeUsuario = "Funcionario"; newUsuario.StatusAprovacao = "Aguardo"; } else { var arquivo = string.Empty; if (Request.Form.Files.Count == 0) { arquivo = "semfoto.jpg"; } newUsuario.LoginUsuario = usuario.loginUsuario; newUsuario.Senha = hashSenha.HasheandoSenha(usuario.senha); newUsuario.NomeCompleto = usuario.nomeCompleto; string tituloEmail = "Aguardando aprovação!"; string corpoEmail = System.IO.File.ReadAllText(path: @"emails\parabens.html"); _emailController.Email(usuario.email, corpoEmail, tituloEmail); newUsuario.Email = usuario.email; newUsuario.FotoUsuario = arquivo; newUsuario.Departamento = usuario.departamento; newUsuario.TipoDeUsuario = "Funcionario"; newUsuario.StatusAprovacao = "Aguardo"; } await repositorio.Post(newUsuario); return(newUsuario); }catch (Exception) { throw; } }
private Usuario verificacaoAlteracao(Usuario usuario, AltUsuarioViewModel alteracao) { if (alteracao.nomeCompleto == null && alteracao == null) { usuario.NomeCompleto = usuario.NomeCompleto; } else if (alteracao.nomeCompleto != null && usuario.NomeCompleto != alteracao.nomeCompleto) { usuario.NomeCompleto = alteracao.nomeCompleto; } if (alteracao.loginUsuario == null && alteracao == null) { usuario.LoginUsuario = usuario.LoginUsuario; } else if (alteracao.loginUsuario != null && usuario.LoginUsuario != alteracao.loginUsuario) { usuario.LoginUsuario = alteracao.loginUsuario; } if (alteracao.email == null && alteracao == null) { usuario.Email = usuario.Email; } else if (alteracao.email != null && usuario.Email != alteracao.email) { string tituloEmail = "Aguardando aprovação!"; string corpoEmail = System.IO.File.ReadAllText(path: @"emails\parabens.html"); _emailController.Email(alteracao.email, corpoEmail, tituloEmail); usuario.Email = alteracao.email; } var hashSenha = new HashSenha(SHA256.Create()); if (alteracao.senha == null && alteracao == null) { usuario.Senha = usuario.Senha; } else if (alteracao.senha != null && usuario.Senha != alteracao.senha) { usuario.Senha = hashSenha.HasheandoSenha(alteracao.senha); string tituloEmail = ($"Sua senha foi alterada para {alteracao.senha}!"); string corpoEmail = System.IO.File.ReadAllText(path: @"emails\parabens.html"); _emailController.Email(usuario.Email, corpoEmail, tituloEmail); } if (alteracao.departamento == null && alteracao == null) { usuario.Departamento = usuario.Departamento; } else if (alteracao.departamento != null && usuario.Departamento != alteracao.departamento) { usuario.Departamento = alteracao.departamento; } if (alteracao.tipoDeUsuario == null && alteracao == null) { usuario.TipoDeUsuario = usuario.TipoDeUsuario; } else if (alteracao.tipoDeUsuario != null && usuario.TipoDeUsuario != alteracao.tipoDeUsuario) { usuario.TipoDeUsuario = alteracao.tipoDeUsuario; } if (alteracao.statusAprovacao == null && alteracao == null) { usuario.StatusAprovacao = usuario.StatusAprovacao; } else if (alteracao.statusAprovacao != null && usuario.StatusAprovacao != alteracao.statusAprovacao) { usuario.StatusAprovacao = alteracao.statusAprovacao; if (usuario.StatusAprovacao == "Aprovado") { string tituloEmail = "Você foi aprovado!"; string corpoEmail = System.IO.File.ReadAllText(path: @"emails\parabens.html"); _emailController.Email(usuario.Email, corpoEmail, tituloEmail); } } if (Request.Form.Files.Count > 0) { var arquivo = Request.Form.Files[0]; var caminhoPasta = @"Resources\Usuario\"; usuario.FotoUsuario = _uploadController.Upload(arquivo, caminhoPasta); } return(usuario); }