internal void CriarUsuarioAutoCadastro(string email, string url) { if (!ValidateUtils.IsValidEmail(email)) { throw new Exception("e-mail informado não é válido"); } var indiceArroba = email.IndexOf("@"); var dominio = email.Substring(indiceArroba + 1); var usuario = email.Substring(0, indiceArroba); var papel = PapelDao.PapelUsuario.UsuarioNaoAutenticado; if (dominio.ToLower() == "aluno.ifsc.edu.br") { papel = PapelDao.PapelUsuario.Discente; } else if (dominio.ToLower() == "ifsc.edu.br") { papel = PapelDao.PapelUsuario.Servidor; } if (papel != PapelDao.PapelUsuario.UsuarioNaoAutenticado) { var senha = GeraSenhaAleatoria(); var novoUsuario = new Usuario { Nome = usuario, Email = email, Ativo = false, PapelId = (int)papel, Senha = senha, SenhaReset = cripto.Encrypt(senha) }; var uServer = new UsuarioServer(); novoUsuario = uServer.Novo(novoUsuario); url += $"/Login/ConfirmacaoEmail?id={novoUsuario.Id}&s={senha}"; var textEmail = ($@"Seja Bem-Vindo ao SCIR-IFSC <br><br> Foi criado o seu usuário e senha, para acessar deve entrar no link a baixo para ativar a sua conta<br> {url} <br><br> E a sua senha após entrar no link anterior provisória é: <br>{senha} <br><br>Após efetuar o login é aconselhavel trocar a sua senha no sistema imediatamente!"); EnvioEmail.SendMailGeneric(novoUsuario, textEmail, "Conta de Usuário SCIR - IFSC"); } else { throw new Exception("Deve informar o seu e-mail fornecido pela instituição de ensino!"); } }
public async Task <string> ValidateEmail(string email) { try { return(await Task.Run(() => { Logger.LogInfo("Start email validation"); if (!ValidateUtils.IsValidEmail(email)) { string message = "Not a valid email"; Logger.LogInfo(message); return message; } int?id = QueryFirstOrDefault <int?>(@" select id from users where email = @email ", new { email }); if (id.HasValue) { string message = "User with same email already created. Please try another or try to sign in."; Logger.LogInfo(message); return message; } Logger.LogInfo("Email successfuly validated."); return null; })); } catch (Exception exception) { Logger.LogException(exception); throw exception; } }