Example #1
0
        /// <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);
        }