예제 #1
0
        private void LoadRequestData()
        {
            RequestStatisticService service = (RequestStatisticService)Portal.API.Statistics.Statistic.GetService(typeof(RequestStatisticService));
            RequestSummaryData      data    = service.GetRequestSummaryData(Context);
            //data.TRequestSummary.DefaultView.Sort = "Month DESC";

            List <RequestSummaryEntry> entries = new List <RequestSummaryEntry>();
            // Max. number of months to display will be set to 12 (1 year).
            int monthCount = data.TRequestSummary.Rows.Count > 12 ? 12 : data.TRequestSummary.Rows.Count;

            for (int monthIndex = 0; monthIndex < monthCount; ++monthIndex)
            {
                RequestSummaryData.TRequestSummaryRow row = (RequestSummaryData.TRequestSummaryRow)data.TRequestSummary.Rows[(data.TRequestSummary.Rows.Count - 1) - monthIndex];
                RequestSummaryEntry entry = new RequestSummaryEntry();
                entry.Month          = row.Month;
                entry.RequestsPerDay = GetRequestsPerDay(row.Month, row.RequestCount);
                entry.VisitsPerDay   = GetVisitsPerDay(row.Month, row.VisitsCount);
                entry.TotalRequests  = row.RequestCount;
                entry.TotalVisits    = row.VisitsCount;
                entries.Add(entry);
            }

            repeaterOverview.DataSource = entries;
            repeaterOverview.DataBind();

            // Show the error message, if an error is occured in the service.
            Exception ex = service.ConsumeLastException();

            if (ex != null)
            {
                _errorMsg.Visible = true;
                _errorMsg.Text    = ex.Message;
            }
        }