public async Task <IActionResult> EsqueciSenha(EsqueciSenhaModel model) { try { if (ModelState.IsValid) { string token; var result = await _loginService.EsqueciSenhaService(model, out token); if (result) { var urlResult = Url.Action("ResetarSenha", "LoginUsuario", new { token = token, email = model.Email }, Request.Scheme); var emailModel = new RegistraUsuarioModel { Email = model.Email, }; await Email.Enviar(emailModel, "Alterar senha - WebReceitas", urlResult); var msg = "Agora verifique seu email e siga as istrucoes enviadas"; return(RedirectToAction("Confirmacao", "LoginUsuario", new { mensagem = msg })); } ModelState.AddModelError("", "Este usuario(email) nao existe!!"); return(View()); } return(View()); } catch (Exception) { return(RedirectToAction("HttpStatusCodeHandler", "Home", new { statusCode = this.Response.StatusCode = 500 })); } }
public Task <string> RegistrarUsuario(RegistraUsuarioModel model, out bool token, out bool erro) { token = false; erro = false; StringContent content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json"); var response = _client.PostAsync($"Login/Registrar", content).Result; var apiResponse = response.Content.ReadAsStringAsync().Result; if (response.IsSuccessStatusCode) { token = true; return(Task.FromResult(apiResponse)); } else if (response.StatusCode == HttpStatusCode.Unauthorized) { erro = true; return(Task.FromResult(apiResponse)); } else if (response.StatusCode == HttpStatusCode.InternalServerError) { throw new Exception(); } return((Task <string>)Task.CompletedTask); }
public async Task <IActionResult> Registrar(RegistraUsuarioModel model) { try { var user = await _userManager.FindByNameAsync(model.Email); if (user == null) { user = new Usuario { Nome = model.Nome, Email = model.Email, UserName = model.Email, Cidade = model.Cidade, Estado = model.Estado, Data_Nascimento = model.Data_Nascimento }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { var token = await _userManager.GenerateEmailConfirmationTokenAsync(user); return(Ok(token)); } else { List <IdentityError> erro = new List <IdentityError>(); foreach (var error in result.Errors) { erro.Add(error); } return(BadRequest(erro.ToArray())); } } return(Unauthorized("Usuario(email) ja existe no sistema")); } catch (Exception e) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Error API:\n {e}")); } }
public async Task <IActionResult> Registrar(RegistraUsuarioModel model) { try { if (ModelState.IsValid) { bool token, erro; var result = await _registroService.RegistrarUsuario(model, out token, out erro); if (token) { string msg = "Usuario cadastrado, agora para validar seu cadastro verifique o email que te enviaremos"; var urlResult = Url.Action("ConfirmarEmail", "Registro", new { token = result, email = model.Email }, Request.Scheme); await Email.Enviar(model, "Confirmacao de email - WebReceitas", urlResult); return(RedirectToAction("Confirmacao", "LoginUsuario", new { mensagem = msg })); } else { _toast.AddErrorToastMessage($"{result}"); return(View()); } } string messages = string.Join(".<br/>\r\n ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)); _toast.AddErrorToastMessage(String.Join("<br/>\r\n", "Erro ao cadastrar Usuario !!!", messages)); return(View()); } catch (Exception) { return(RedirectToAction("HttpStatusCodeHandler", "Home", new { statusCode = this.Response.StatusCode = 500 })); } }