/// <summary> /// Add Data To Cache /// </summary> private List <AlmMaskEntity> AddDataToCache() { var userData = UserData; var cacheKey = WebUtility.GetCacheKeyName(userData, "alarm-masking-report"); HttpRuntime.Cache.Remove(cacheKey); var lscs = new List <LscUserInfo>(); if (LscsComboBox.SelectedIndex > 0) { 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); } lscs.Add(lscUser); } else { lscs.AddRange(userData.LscUsers); } var fromTime = DateTime.Parse(BeginDate.Text); var toTime = DateTime.Parse(EndDate.Text); var maskType = MaskTypeList.SelectedItem.Value; var otherEntity = new BOther(); var masks = new List <MaskingInfo>(); foreach (var lsc in lscs) { var _current = new BLsc().GetLsc(lsc.LscID); var connectionString = WebUtility.CreateLscConnectionString(_current); var _masks = otherEntity.GetMaskings(lsc.LscID, lsc.LscName, connectionString, fromTime, toTime); if ("1".Equals(maskType)) { _masks = _masks.FindAll(m => m.MaskType == EnmNodeType.Sta); } if ("2".Equals(maskType)) { _masks = _masks.FindAll(m => m.MaskType == EnmNodeType.Dev); } if ("3".Equals(maskType)) { _masks = _masks.FindAll(m => m.MaskType == EnmNodeType.Dic || m.MaskType == EnmNodeType.Aic); } masks.AddRange(_masks); } if (Area2ComboBox.SelectedIndex > 0) { var area2Id = Int32.Parse(Area2ComboBox.SelectedItem.Value); masks = masks.FindAll(s => s.Area2ID == area2Id); } if (Area3ComboBox.SelectedIndex > 0) { var area3Id = Int32.Parse(Area3ComboBox.SelectedItem.Value); masks = masks.FindAll(s => s.Area3ID == area3Id); } var result = new List <AlmMaskEntity>(); var index = 0; foreach (var mask in masks) { result.Add(new AlmMaskEntity { ID = ++index, LscName = mask.LscName, Area1Name = mask.Area1Name, Area2Name = mask.Area2Name, Area3Name = mask.Area3Name, StaName = mask.StaName, MaskName = mask.MaskName, MaskType = WebUtility.GetNodeTypeName(mask.MaskType), MaskTime = WebUtility.GetDateString(mask.OpTime) }); } var cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]); HttpRuntime.Cache.Insert(cacheKey, result, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null); return(result); }