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 }));
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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 }));
            }
        }