Ejemplo n.º 1
0
 public static bool CFPassValidate(CFPassRequest request, ref CFPassResponse response)
 {
     if (string.IsNullOrEmpty(request.NewPassword))
     {
         response.NewPassword_Errors.Add("Mật khẩu mới không được để trống.");
         response.IsError = true;
     }
     if (request.NewPassword.Count() > 50)
     {
         response.NewPassword_Errors.Add("Mật khẩu mới quá dài.");
         response.IsError = true;
     }
     return(!response.IsError);
 }
        public HttpResponseMessage Change([FromBody] CFPassRequest request)
        {
            var response = new CFPassResponse();

            if (BusinessHandler.AccountBUS.CFPassValidate(request, ref response))
            {
                try
                {
                    var tokenValue = Token.Get(request.Token) as NhanVien;
                    if (tokenValue == null)
                    {
                        response.IsTokenTimeout = true;
                    }
                    else
                    {
                        var newp   = Security.Encrypt(request.NewPassword);
                        var result = NhanVienRepository.GetInstance().ChangePass(tokenValue.MaNV, newp);
                        if (result == 1)
                        {
                            BusinessHandler.AccountBUS.SyncPassword2ManagementServiceAsync(new ChangePasswordRequest
                            {
                                UserId  = tokenValue.MaNV,
                                NewPass = newp
                            });
                            response.Data = "Đã lấy lại mật khẩu thành công.";
                        }
                        else
                        {
                            response.Errors.Add("Đã lấy lại mật khẩu thất bại.");
                            response.IsError = true;
                        }
                    }
                }
                catch
                {
                    response.Errors.Add("Lỗi hệ thống.");
                    response.IsError = true;
                }
            }
            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }