public List <Period> GetList(TableObject table) { string CacheEnable = ConfigurationManager.AppSettings["CacheEnable"]; string CustomerLink = ConfigurationManager.AppSettings["CustomerLink"]; string key = CacheUtility.GetKey(table); object obj = CacheUtility.Get(key); if (obj != null) { return((List <Period>)obj); } string sqlStr = ""; string sqlAdd = ""; if (table.IsValid == 1) { sqlAdd = " AND (TotalCourseAmount>0 OR CommonCourseAmount>0 OR SpecialCourseAmount>0) "; } byte[] TimeStamp = new byte[8]; if (CacheUtility.GetCollectionKey(table.LastModified) == CacheUtility.GetCollectionKey(TimeStamp)) { sqlStr = @"select * from [CloudAsset].[dbo].[Period] where LastModified>@LastModified and AssetID in ( select AssetID from [CloudAsset].[dbo].[Asset] where [OwnerID] in( select CustomerID FROM " + CustomerLink + @"[CloudCustomer].[dbo].[CustomerSearch] ss where ss.XDSchoolID=@SchoolID " + sqlAdd + "))"; // AND (SS.TotalCourseAmount>0 OR SS.CommonCourseAmount>0 OR SS.SpecialCourseAmount>0) } else { sqlStr = @" select a.* from [CloudAsset].[dbo].[Period] a join [dbo].[Asset] b on a.AssetID=b.AssetID where b.SubCompanyID=@BranchID and b.SchoolID=@SchoolID and a.LastModified>@LastModified"; } List <SqlParameter> pms = new List <SqlParameter>(); pms.Add(new SqlParameter("BranchID", table.BranchID)); pms.Add(new SqlParameter("SchoolID", table.SchoolID)); pms.Add(new SqlParameter("LastModified", table.LastModified)); //if (!string.IsNullOrEmpty(table.StartDate)) //{ // sqlStr += " and AssetCreateDate>@StartDate"; // pms.Add(new SqlParameter("StartDate", table.StartDate)); //} //if (!string.IsNullOrEmpty(table.EndDate)) //{ // sqlStr += " and AssetCreateDate<@EndDate"; // pms.Add(new SqlParameter("EndDate", table.EndDate)); //} List <Period> list = PeriodBLL.Search(sqlStr, pms.ToArray()); if (list.Count > 0) { byte[] b = new byte[8]; if (CacheUtility.GetCollectionKey(table.LastModified) == CacheUtility.GetCollectionKey(b)) { CacheUtility.Insert(key, list); } else { if (CacheEnable == "true") { CacheUtility.Insert(key, list); } } } return(list); }