public ActionResult EventArchiveStats(EventArchiveStatsFilter filter = null)
        {
            if (filter == null)
            {
                filter = new EventArchiveStatsFilter();
            }

            return(CreateExportQueue(filter, ExportableReportType.EventArchiveStats, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId));
        }
Exemple #2
0
        public string EventArchiveStatsExport(EventArchiveStatsFilter filter, long userId)
        {
            var dataGen = new ExportableDataGenerator <EventArchiveStatsViewModel, EventArchiveStatsFilter>(_eventArchiveStatsService.GetEventArchiveStats, Logger);

            var model = dataGen.GetData(filter);

            var exporter = ExportableDataGeneratorProcessManager <ViewModelBase, ModelFilterBase> .GetCsvExporter <EventArchiveStatsViewModel>();

            return(WriteCsv(GetExportableFileName("EventArchiveStats"), exporter, model.Collection, userId));
        }
        public ActionResult EventArchiveStats(EventArchiveStatsFilter filter, int pageNumber = 1)
        {
            int totalRecords;

            if (filter == null)
            {
                filter = new EventArchiveStatsFilter();
            }

            var model = _eventArchiveStatsService.GetEventArchiveStats(pageNumber, _pageSize, filter, out totalRecords) ?? new EventArchiveStatsListModel();

            model.Filter = filter;

            var currentAction = ControllerContext.RouteData.Values["action"].ToString();

            Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.EventId, filter.UploadDateFrom, filter.UploadDateTo, filter.UploadedBy, filter.UploadStatus });

            model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc);

            return(View(model));
        }
Exemple #4
0
        public IEnumerable <ResultArchive> GetForEventArchiveStatsReport(EventArchiveStatsFilter filter, int pageNumber, int pageSize, out int totalRecords)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var linqMetaData = new LinqMetaData(adapter);

                var query = (from rau in linqMetaData.ResultArchiveUpload
                             select rau);

                if (filter != null)
                {
                    if (filter.EventId > 0)
                    {
                        query = query.Where(q => q.EventId == filter.EventId);
                    }
                    else
                    {
                        if (filter.UploadDateFrom != null)
                        {
                            query = query.Where(q => q.UploadStartTime >= filter.UploadDateFrom);
                        }

                        if (filter.UploadDateTo != null)
                        {
                            query = query.Where(q => q.UploadStartTime < filter.UploadDateTo.Value.AddDays(1));
                        }

                        if (filter.UploadedBy > 0)
                        {
                            query = query.Where(q => q.UploadedByOrgRoleUserId == filter.UploadedBy);
                        }

                        if (filter.UploadStatus > 0)
                        {
                            if (filter.UploadStatus == (long)ResultArchiveUploadStatus.Uploading || filter.UploadStatus == (long)ResultArchiveUploadStatus.UploadFailed)
                            {
                                query = query.Where(q => q.Status == filter.UploadStatus);
                            }
                            else
                            {
                                query = query.Where(q => q.Status != (long)ResultArchiveUploadStatus.Uploading && q.Status != (long)ResultArchiveUploadStatus.UploadFailed);
                            }
                        }
                        if (filter.PodId > 0)
                        {
                            var eventIds = (from e in linqMetaData.Events
                                            join ep in linqMetaData.EventPod on e.EventId equals ep.EventId
                                            join p in linqMetaData.PodDetails on ep.PodId equals p.PodId
                                            where p.PodId == filter.PodId
                                            select e.EventId);

                            query = (from q in query where eventIds.Contains(q.EventId) select q);
                        }
                    }
                }

                totalRecords = query.Count();

                var result = query.OrderByDescending(ul => ul.ResultArchiveUploadId).TakePage(pageNumber, pageSize).ToArray();

                return(AutoMapper.Mapper.Map <IEnumerable <ResultArchiveUploadEntity>, IEnumerable <ResultArchive> >(result));
            }
        }