public HttpResponseMessage ResetPass(ResetPassRequest request)
        {
            try
            {
                var decrypted = EncryptorText.DataDecrypt(request.Token.Replace("!!", "/").Replace("$", "+"));
                if (string.IsNullOrEmpty(request.Token) || string.IsNullOrEmpty(decrypted))
                {
                    return(CreateErrorResponse(HttpStatusCode.BadRequest, "Token de recuperación no encontrado."));
                }
                string id   = decrypted.Split('@').First();
                var    user = _userService.FindBy(x => x.Uuid == id).First();
                if (user == null || DateUtil.GetDateTimeNow() > user.ExpiraToken)
                {
                    return(CreateErrorResponse(HttpStatusCode.BadRequest, "El token ha expirado."));
                }
                if (user.Role.Code != Constants.ROLE_DEFAULT_API)
                {
                    return(CreateErrorResponse(HttpStatusCode.BadRequest, "El usuario no cuenta con acceso."));
                }
                user.Password = request.Password;
                _userService.Update(user);

                return(CreateResponse("OK", "Datos actualizados correctamente"));
            }
            catch (Exception e)
            {
                return(CreateErrorResponse(e));
            }
        }
示例#2
0
 public async Task <HttpResponseMessage> ResetPass(string email)
 {
     using (var client = new HttpClient())
     {
         ResetPassRequest resetPassRequest = new ResetPassRequest()
         {
             Email = email
         };
         client.BaseAddress = new Uri(UriString);
         return(await client.PostAsync("ResetPass", new StringContent(JsonConvert.SerializeObject(resetPassRequest), Encoding.UTF8, "application/json")));
     }
 }
示例#3
0
 public ActionResult ResetPassword(ResetPassRequest user)
 {
     try{
         var u = _service.getInfoByEmail(user.Email);
         if (u == null)
         {
             throw new Exception("Email is not exist");
         }
         else
         {
             return(Ok("Khong con su dung"));
         }
     }catch (Exception e) {
         Console.WriteLine(e.Message);
         return(BadRequest(e.Message));
     }
 }
示例#4
0
 public ActionResult ResetPassword(ResetPassRequest user)
 {
     try{
         var u = _service.getInfoByEmail(user.Email);
         if (u == null)
         {
             throw new Exception("Email is not exist");
         }
         // Random random = new Random();
         // int num = random.Next(1000,9999);
         // MailContent content = new MailContent {
         //     To = user.Email,
         //     Subject = "Reset Password Email",
         //     Body = "<h3><strong>Xin chào</strong></h3><p>Bạn vừa thay đổi mật  khẩu tài khoản Talktif, mã xác nhận của bạn là : "+num+"</p>"
         // };
         // _emailService.SendMail(content);
         return(Ok(u.ForgotPass));
     }catch (Exception e) {
         Console.WriteLine(e.Message);
         return(BadRequest(e.Message));
     }
 }