Пример #1
0
        /// <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; }
        }