/// <summary> /// Add Data To Cache /// </summary> private List <PicInfo> AddDataToCache() { try { var userData = UserData; var cacheKey = WebUtility.GetCacheKeyName(userData, "his-pictures"); HttpRuntime.Cache.Remove(cacheKey); if (LscsComboBox.SelectedItem == null) { return(null); } var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value); if (ids.Length != 2) { return(null); } var lscId = Int32.Parse(ids[0]); var groupId = Int32.Parse(ids[1]); var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == lscId); }); if (lscUser == null) { return(null); } var reportEntity = new BReport(); var otherEntity = new BOther(); var fromTime = DateTime.Parse(FromDate.Text); var toTime = DateTime.Parse(ToDate.Text); string[] picModels = null; if (PicTypeMultiCombo.SelectedItems.Count > 0) { picModels = new string[PicTypeMultiCombo.SelectedItems.Count]; for (int i = 0; i < picModels.Length; i++) { picModels[i] = PicTypeMultiCombo.SelectedItems[i].Text; } } var pics = reportEntity.GetHisPictures(lscUser.LscID, fromTime, toTime, picModels); if (pics.Count > 0) { var rtus = otherEntity.GetRtus(lscUser.LscID, lscUser.Group.GroupID); pics = (from pic in pics join rtu in rtus on pic.RtuID equals rtu.RtuID where (Area2ComboBox.SelectedIndex == 0 || rtu.Area2Name.Equals(Area2ComboBox.SelectedItem.Text)) && (Area3ComboBox.SelectedIndex == 0 || rtu.Area3Name.Equals(Area3ComboBox.SelectedItem.Text)) && (StaComboBox.SelectedIndex == 0 || rtu.StaName.Equals(StaComboBox.SelectedItem.Text)) && (DevComboBox.SelectedIndex == 0 || rtu.DevName.Equals(DevComboBox.SelectedItem.Text)) orderby pic.PicTime descending select new PicInfo { LscID = rtu.LscID, LscName = rtu.LscName, RtuID = pic.RtuID, PicID = pic.PicID, PicName = String.Format("{0}-{1}-{2}", rtu.StaName, rtu.StaMID, WebUtility.GetDateString(pic.PicTime)), PicModel = pic.PicModel, PicBytes = pic.PicBytes, PicTime = pic.PicTime }).ToList(); } var cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]); HttpRuntime.Cache.Insert(cacheKey, pics, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null); return(pics); } catch { throw; } }