Exemplo n.º 1
0
        public override IEnumerable <TEntityDto> WhereDto <TSearchModel, TEntityDto>(TSearchModel searchModel, int pageIndex = 0, int pageSize = 0)
        {
            ReportServerSearchViewModel  model = (ReportServerSearchViewModel)(object)searchModel;
            IQueryable <ReportServer>    reportServerData;
            IQueryable <ReportServerDto> reportServerDataDto;

            Expression <Func <ReportServer, bool> > predicate = f => true;

            predicate = CreateDynamicPredicate <TSearchModel>(searchModel);

            if (model.StartDate >= DateTime.Today.AddDays(-1))
            {
                reportServerData    = UpdateCache(model).Where(predicate);
                reportServerDataDto = (from e in reportServerData
                                       orderby e.TimeStart descending
                                       select new ReportServerDto
                {
                    ItemPath = e.ItemPath,
                    UserName = e.UserName,
                    Format = e.Format,
                    Parameters = e.Parameters,
                    TimeStart = e.TimeStart,
                    TimeEnd = e.TimeEnd,
                    LogEntryId = e.LogEntryId,
                }).Take(1000);

                return((IEnumerable <TEntityDto>)reportServerDataDto.AsEnumerable());
            }
            else
            {
                reportServerDataDto = (from e in rep.Table.Where(predicate)
                                       orderby e.TimeStart descending
                                       select new ReportServerDto
                {
                    ItemPath = e.ItemPath,
                    UserName = e.UserName,
                    Format = e.Format,
                    Parameters = e.Parameters,
                    TimeStart = e.TimeStart,
                    TimeEnd = e.TimeEnd,
                    LogEntryId = e.LogEntryId,
                }).Take(1000);

                return((IEnumerable <TEntityDto>)reportServerDataDto.AsEnumerable());
            }
        }
Exemplo n.º 2
0
        public IQueryable <ReportServer> UpdateCache(ReportServerSearchViewModel model)
        {
            List <ReportServer> currentData = GetCache(model);

            var maxDate = (from n in currentData
                           select n.TimeStart).Max();

            var newData = (from e in rep.Table
                           where e.TimeStart > maxDate
                           select e).ToList();

            List <ReportServer> allData = currentData.Union(newData).ToList();

            if (model.EnabledServer == 0)
            {
                HttpRuntime.Cache["ReportServer"] = allData;
            }
            else if (model.EnabledServer == 1)
            {
                HttpRuntime.Cache["ReportServerHD"] = allData;
            }
            else if (model.EnabledServer == 2)
            {
                HttpRuntime.Cache["ReportServerMTST"] = allData;
            }
            else if (model.EnabledServer == 3)
            {
                HttpRuntime.Cache["ReportServerMTGC"] = allData;
            }
            else if (model.EnabledServer == 4)
            {
                HttpRuntime.Cache["ReportServerOTTS"] = allData;
            }
            else if (model.EnabledServer == 5)
            {
                HttpRuntime.Cache["ReportServerBOX"] = allData;
            }

            return(allData.AsQueryable());
        }
Exemplo n.º 3
0
        public List <ReportServer> GetCache(ReportServerSearchViewModel model)
        {
            List <ReportServer> ssrs = new List <ReportServer>();

            if (model.EnabledServer == 0)
            {
                ssrs = HttpRuntime.Cache["ReportServer"] as List <ReportServer>;

                if (HttpRuntime.Cache["ReportServer"] == null)
                {
                    var time = DateTime.Today.AddDays(-1);
                    ssrs = (from e in rep.Table
                            where e.TimeStart > time
                            select e).ToList();
                    HttpRuntime.Cache["ReportServer"] = ssrs;
                }
            }
            else if (model.EnabledServer == 1)
            {
                ssrs = HttpRuntime.Cache["ReportServerHD"] as List <ReportServer>;

                if (HttpRuntime.Cache["ReportServerHD"] == null)
                {
                    var time = DateTime.Today.AddDays(-1);
                    ssrs = (from e in rep.Table
                            where e.TimeStart > time
                            select e).ToList();
                    HttpRuntime.Cache["ReportServerHD"] = ssrs;
                }
            }
            else if (model.EnabledServer == 2)
            {
                ssrs = HttpRuntime.Cache["ReportServerMTST"] as List <ReportServer>;

                if (HttpRuntime.Cache["ReportServerMTST"] == null)
                {
                    var time = DateTime.Today.AddDays(-1);
                    ssrs = (from e in rep.Table
                            where e.TimeStart > time
                            select e).ToList();
                    HttpRuntime.Cache["ReportServerMTST"] = ssrs;
                }
            }
            else if (model.EnabledServer == 3)
            {
                ssrs = HttpRuntime.Cache["ReportServerMTGC"] as List <ReportServer>;

                if (HttpRuntime.Cache["ReportServerMTGC"] == null)
                {
                    var time = DateTime.Today.AddDays(-1);
                    ssrs = (from e in rep.Table
                            where e.TimeStart > time
                            select e).ToList();
                    HttpRuntime.Cache["ReportServerMTGC"] = ssrs;
                }
            }
            else if (model.EnabledServer == 4)
            {
                ssrs = HttpRuntime.Cache["ReportServerOTTS"] as List <ReportServer>;

                if (HttpRuntime.Cache["ReportServerOTTS"] == null)
                {
                    var time = DateTime.Today.AddDays(-1);
                    ssrs = (from e in rep.Table
                            where e.TimeStart > time
                            select e).ToList();
                    HttpRuntime.Cache["ReportServerOTTS"] = ssrs;
                }
            }
            else if (model.EnabledServer == 5)
            {
                ssrs = HttpRuntime.Cache["ReportServerBOX"] as List <ReportServer>;

                if (HttpRuntime.Cache["ReportServerBOX"] == null)
                {
                    var time = DateTime.Today.AddDays(-1);
                    ssrs = (from e in rep.Table
                            where e.TimeStart > time
                            select e).ToList();
                    HttpRuntime.Cache["ReportServerBOX"] = ssrs;
                }
            }

            if (ssrs != null && ssrs.Count != 0)
            {
                ssrs = ssrs.Where(a => a != null).ToList();
            }

            return(ssrs);
        }