예제 #1
0
        /// <summary> Gets the given request. </summary>
        /// <param name="request"> The request. </param>
        /// <returns> A Task&lt;object&gt; </returns>
        public object Get(GetReportHeaders request)
        {
            if (string.IsNullOrEmpty(request.IncludeItemTypes))
            {
                return(null);
            }

            request.DisplayType = "Screen";
            ReportViewType reportViewType = ReportHelper.GetReportViewType(request.ReportView);

            List <ReportHeader> result = new List <ReportHeader>();

            switch (reportViewType)
            {
            case ReportViewType.ReportData:
                ReportBuilder dataBuilder = new ReportBuilder(_libraryManager);
                result = dataBuilder.GetHeaders(request);
                break;

            case ReportViewType.ReportActivities:
                ReportActivitiesBuilder activityBuilder = new ReportActivitiesBuilder(_libraryManager, _userManager);
                result = activityBuilder.GetHeaders(request);
                break;
            }

            return(result);
        }
        /// <summary> Gets report activities. </summary>
        /// <param name="request"> The request. </param>
        /// <returns> The report activities. </returns>
        private async Task <ReportResult> GetReportActivities(IReportsDownload request)
        {
            var activityLogQuery = new ActivityLogQuery
            {
                StartIndex = request.StartIndex,
                Limit      = request.HasQueryLimit ? request.Limit : null
            };

            var queryResult = await _activityManager.GetPagedResultAsync(activityLogQuery).ConfigureAwait(false);

            ReportActivitiesBuilder builder = new ReportActivitiesBuilder(_libraryManager, _userManager);
            var result = builder.GetResult(queryResult, request);

            result.TotalRecordCount = queryResult.TotalRecordCount;
            return(result);
        }
        /// <summary> Gets report activities. </summary>
        /// <param name="request"> The request. </param>
        /// <returns> The report activities. </returns>
        private ReportResult GetReportActivities(IReportsDownload request)
        {
            QueryResult <ActivityLogEntry> queryResult;

            if (request.HasQueryLimit)
            {
                queryResult = _activityManager.GetPagedResult(request.StartIndex, request.Limit);
            }
            else
            {
                queryResult = _activityManager.GetPagedResult(request.StartIndex, null);
            }

            ReportActivitiesBuilder builder = new ReportActivitiesBuilder(_libraryManager, _userManager);
            var result = builder.GetResult(queryResult, request);

            result.TotalRecordCount = queryResult.TotalRecordCount;
            return(result);
        }
예제 #4
0
        /// <summary> Gets report activities. </summary>
        /// <param name="request"> The request. </param>
        /// <returns> The report activities. </returns>
        private ReportResult GetReportActivities(IReportsDownload request)
        {
            DateTime?minDate = string.IsNullOrWhiteSpace(request.MinDate) ?
                               (DateTime?)null :
                               DateTime.Parse(request.MinDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime();

            QueryResult <ActivityLogEntry> queryResult;

            if (request.HasQueryLimit)
            {
                queryResult = _activityManager.GetActivityLogEntries(minDate, request.StartIndex, request.Limit);
            }
            else
            {
                queryResult = _activityManager.GetActivityLogEntries(minDate, request.StartIndex, null);
            }
            //var queryResult = _activityManager.GetActivityLogEntries(minDate, request.StartIndex, request.Limit);

            ReportActivitiesBuilder builder = new ReportActivitiesBuilder(_libraryManager, _userManager);
            var result = builder.GetResult(queryResult, request);

            result.TotalRecordCount = queryResult.TotalRecordCount;
            return(result);
        }
예제 #5
0
        /// <summary> Gets the given request. </summary>
        /// <param name="request"> The request. </param>
        /// <returns> A Task&lt;object&gt; </returns>
        public async Task<object> Get(GetReportHeaders request)
        {
            if (string.IsNullOrEmpty(request.IncludeItemTypes))
                return null;

            request.DisplayType = "Screen";
            ReportViewType reportViewType = ReportHelper.GetReportViewType(request.ReportView);

            List<ReportHeader> result = new List<ReportHeader>();
            switch (reportViewType)
            {
                case ReportViewType.ReportData:
                    ReportBuilder dataBuilder = new ReportBuilder(_libraryManager);
                    result = dataBuilder.GetHeaders(request);
                    break;
                case ReportViewType.ReportStatistics:
                    break;
                case ReportViewType.ReportActivities:
                    ReportActivitiesBuilder activityBuilder = new ReportActivitiesBuilder(_libraryManager, _userManager);
                    result = activityBuilder.GetHeaders(request);
                    break;
            }

            return ToOptimizedResult(result);

        }
예제 #6
0
        /// <summary> Gets report activities. </summary>
        /// <param name="request"> The request. </param>
        /// <returns> The report activities. </returns>
        private Task<ReportResult> GetReportActivities(IReportsDownload request)
        {
            return Task<ReportResult>.Run(() =>
            {
                DateTime? minDate = string.IsNullOrWhiteSpace(request.MinDate) ?
                (DateTime?)null :
                DateTime.Parse(request.MinDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime();

                QueryResult<ActivityLogEntry> queryResult;
                 if (request.HasQueryLimit)   
                   queryResult = _repo.GetActivityLogEntries(minDate, request.StartIndex, request.Limit);
                 else
                     queryResult = _repo.GetActivityLogEntries(minDate, request.StartIndex, null);
                //var queryResult = _activityManager.GetActivityLogEntries(minDate, request.StartIndex, request.Limit);

                ReportActivitiesBuilder builder = new ReportActivitiesBuilder(_libraryManager, _userManager);
                var result = builder.GetResult(queryResult, request);
                result.TotalRecordCount = queryResult.TotalRecordCount;
                return result;

            });

        }