示例#1
0
        private void load()
        {
            string    se = Request.QueryString["SerialNumber"].ToString();
            DataTable dt = CreateTable();

            RPCResult <ReportStatistics> r = PretreatmentProxy.GetStatusReportService().GetReportStatistics(Guid.Parse(se));

            if (r.Success)
            {
                lbl_message.Visible = false;
                ReportStatistics s = r.Value;
                if (r.Value != null)
                {
                    DataRow dr = dt.NewRow();
                    dr["SerialNumber"]     = s.SerialNumber;
                    dr["Account"]          = s.Account;
                    dr["BeginSendTime"]    = s.BeginSendTime;
                    dr["FailureCount"]     = s.FailureCount;
                    dr["LastResponseTime"] = s.LastResponseTime;

                    dr["SendCount"]   = s.SendCount;
                    dr["SplitNumber"] = s.SplitNumber;
                    dr["Succeed"]     = s.Succeed;
                    dt.Rows.Add(dr);
                }
            }
            lbl_message.Visible  = false;
            GridView1.DataSource = dt;
            GridView1.DataBind();
            Session["dt"] = dt;
        }
        //public static void AddStatusReport(List<StatusReport> reports)
        //{
        //    MongoCollection collection = GetCollection();
        //    collection.InsertBatch(typeof(BsonDocument), reports);
        //}

        public static void Update(ReportStatistics report)
        {
            MongoCollection       collection = GetCollection();
            var                   query      = new QueryDocument("SerialNumber", report.SerialNumber);
            ReportStatisticsCache sr         = collection.FindOneAs <ReportStatisticsCache>(query);

            if (sr != null)
            {
                sr.Account          = report.Account;
                sr.BeginSendTime    = report.BeginSendTime;
                sr.FailureCount     = report.FailureCount;
                sr.LastResponseTime = report.LastResponseTime;
                sr.Numbers          = report.Numbers;
                sr.SendCount        = report.SendCount;
                sr.SerialNumber     = report.SerialNumber;
                sr.SplitNumber      = report.SplitNumber;
                collection.Save(sr);
            }
            else
            {
                sr                  = new ReportStatisticsCache();
                sr.Account          = report.Account;
                sr.BeginSendTime    = report.BeginSendTime;
                sr.FailureCount     = report.FailureCount;
                sr.LastResponseTime = report.LastResponseTime;
                sr.Numbers          = report.Numbers;
                sr.SendCount        = report.SendCount;
                sr.SerialNumber     = report.SerialNumber;
                sr.SplitNumber      = report.SplitNumber;
                collection.Insert <ReportStatisticsCache>(sr);
            }
        }
示例#3
0
        public async Task CreateOrUpdateReportFromCase(Case currentCase, Report report, Grade grade, int numberOfLVI, string userId, bool isSubmitted = false)
        {
            Report           previousReport = GetPreviousUserReport(userId);
            ReportStatistics statistics     = null;

            if (isSubmitted)
            {
                statistics = await Task.Run(() => CalculateStatistics(currentCase.PatientAge, currentCase.TumourSize, grade, numberOfLVI, previousReport));
            }

            if (report == null)
            {
                int    newReportNumber = previousReport != null ? previousReport.UserReportNumber + 1 : 1;
                Report newReport       = new Report(newReportNumber, userId, currentCase.Id, statistics, isSubmitted);

                newReport.TumourGrade = grade;
                newReport.NumberofLVI = numberOfLVI;
                await _reportRepository.AddAsync(newReport);
            }
            else
            {
                report.TumourGrade = grade;
                report.NumberofLVI = numberOfLVI;
                report.Statistics  = statistics;
                await _reportRepository.UpdateAsync(report);
            }
        }
示例#4
0
        public ReportStatistics CalculateStatistics(int ptAge, decimal tumourSize, Grade grade, int numLVISeen, Report previousReport)
        {
            ReportStatistics statistics = new ReportStatistics();

            // The four sets of Bayes theorum calculations need to be performed sequentially for the entire statistics set to be correct
            CalculateAgeBasedStatistics(statistics, ptAge);

            CalculateSizeBasedStatistics(statistics, tumourSize);

            CalculatePreTestProbability(statistics, grade);

            CalculatePostTestProbability(statistics, numLVISeen);

            // Calculate the cumulative values based on results of previously submitted cases
            int numberOfUserReports = previousReport != null ? previousReport.UserReportNumber + 1 : 1;

            if (previousReport != null)
            {
                statistics.CumulativeBayesForGrade        = previousReport.Statistics.CumulativeBayesForGrade + statistics.BayesForGrade;
                statistics.CumulativeAverageBayesForGrade = statistics.CumulativeBayesForGrade / numberOfUserReports;
                statistics.CumulativeCasesWithLVIPos      = previousReport.Statistics.CumulativeCasesWithLVIPos + (statistics.LVIPresent ? 1 : 0);
            }
            else
            {
                statistics.CumulativeBayesForGrade        = statistics.BayesForGrade;
                statistics.CumulativeAverageBayesForGrade = statistics.CumulativeBayesForGrade / numberOfUserReports;
                statistics.CumulativeCasesWithLVIPos      = statistics.LVIPresent ? 1 : 0;
            }

            BinomialDistribution binomDist = new BinomialDistribution(numberOfUserReports, (double)statistics.CumulativeAverageBayesForGrade);

            statistics.BinomialDist = (decimal)binomDist.ProbabilityMassFunction(statistics.CumulativeCasesWithLVIPos);
            return(statistics);
        }
 public Report(int userReportNumber, string userId, int caseId, ReportStatistics statistics, bool isSubmitted = false)
 {
     UserReportNumber = userReportNumber;
     LVIStudyUserID   = userId;
     CaseId           = caseId;
     Statistics       = statistics;
     IsSubmitted      = isSubmitted;
 }
        public static ReportStatistics GetStatusReport(string serial)
        {
            MongoCollection  collection = GetCollection();
            var              query      = new QueryDocument("SerialNumber", serial);
            ReportStatistics report     = collection.FindOneAs <ReportStatisticsCache>(query).Clone();

            return(report);
        }
示例#7
0
 public void CalculateAgeBasedStatistics(ReportStatistics statistics, int ptAge)
 {
     statistics.ProbLVIPos50Plus = ptAge < 51 ? DataConstants.BelowFiftyYearsLVIPos : 1 - DataConstants.BelowFiftyYearsLVIPos;
     statistics.ProbLVINeg50Plus = ptAge < 51 ? DataConstants.BelowFiftyYearsLVINeg : 1 - DataConstants.BelowFiftyYearsLVINeg;
     statistics.BayesForAge      = CalculateBayes(DataConstants.ProbLVIPos,
                                                  statistics.ProbLVIPos50Plus,
                                                  statistics.ProbLVINeg50Plus,
                                                  DataConstants.ProbLVINeg);
 }
 private bool containNum(ReportStatistics s, string num)
 {
     if (s.Telephones == null)
     {
         return(false);
     }
     else
     {
         return(s.Telephones.Count(t => t.IndexOf(num) > -1) > 0 ? true : false);
     }
 }
示例#9
0
        public static bool AddSMSHistory(ReportStatistics sms)
        {
            string        tableName = "ReportStatistics_" + sms.SendTime.Value.ToString("yyyyMMdd");
            StringBuilder strSql    = new StringBuilder();

            strSql.Append("insert into " + tableName + "(");
            string sql = @"insert into " + tableName + @"(ID,AccountID,SPNumber,Content,Signature,NumberCount,SendTime,SplitNumber,FeeTotalCount,AuditResult,AuditTime,AuditType,AuditAccountLoginName,Channel,SMSType,Status,Source)
                       values(@ID,@AccountID,@SPNumber,@Content,@Signature,@NumberCount,@SendTime,@SplitNumber,@FeeTotalCount,@AuditResult,@AuditTime,@AuditType,@AuditAccountLoginName,@Channel,@SMSType,@Status,@Source)";

            DBHelper.Instance.Execute(sql, sms);
            return(true);
        }
示例#10
0
 public void CalculateSizeBasedStatistics(ReportStatistics statistics, decimal tumourSize)
 {
     statistics.ProbLVIPosSize = tumourSize > (decimal)2 ? DataConstants.TwoToFivecmLVIPos
         : tumourSize > (decimal)1 ? DataConstants.OneToTwocmLVIPos
         : DataConstants.BelowOnecmLVIPos;
     statistics.ProbLVINegSize = tumourSize > (decimal)2 ? DataConstants.TwoToFivecmLVINeg
         : tumourSize > (decimal)1 ? DataConstants.OneToTwocmLVINeg
         : DataConstants.BelowOnecmLVINeg;
     statistics.BayesForSize = CalculateBayes
                                   (statistics.BayesForAge,
                                   statistics.ProbLVIPosSize,
                                   statistics.ProbLVINegSize,
                                   1 - statistics.BayesForAge);
 }
示例#11
0
 public void CalculatePreTestProbability(ReportStatistics statistics, Grade grade)
 {
     statistics.ProbLVIPosGrade = (int)grade == 1 ? DataConstants.GradeOneLVIPos
         : (int)grade == 2 ? DataConstants.GradeTwoLVIPos
         : DataConstants.GradeThreeLVIPos;
     statistics.ProbLVINegGrade = (int)grade == 1 ? DataConstants.GradeOneLVINeg
         : (int)grade == 2 ? DataConstants.GradeTwoLVINeg
         : DataConstants.GradeThreeLVINeg;
     statistics.BayesForGrade = CalculateBayes
                                    (statistics.BayesForSize,
                                    statistics.ProbLVIPosGrade,
                                    statistics.ProbLVINegGrade,
                                    1 - statistics.BayesForSize);
 }
示例#12
0
        public ReportStatistics Clone()
        {
            ReportStatistics rs = new ReportStatistics();

            rs.Account          = base.Account;
            rs.BeginSendTime    = base.BeginSendTime;
            rs.FailureCount     = base.FailureCount;
            rs.LastResponseTime = base.LastResponseTime;
            rs.Numbers          = base.Numbers;
            rs.SendCount        = base.SendCount;
            rs.SerialNumber     = base.SerialNumber;
            rs.SplitNumber      = base.SplitNumber;
            return(rs);
        }
示例#13
0
        public static void AddReportStatistics(ReportStatistics report)
        {
            ReportStatisticsCache srm = new ReportStatisticsCache();

            srm.Account          = report.Account;
            srm.BeginSendTime    = report.BeginSendTime;
            srm.FailureCount     = report.FailureCount;
            srm.LastResponseTime = report.LastResponseTime;
            srm.Numbers          = report.Numbers;
            srm.SendCount        = report.SendCount;
            srm.SerialNumber     = report.SerialNumber;
            srm.SplitNumber      = report.SplitNumber;
            MongoCollection collection = GetCollection();

            collection.Insert <ReportStatisticsCache>(srm);
        }
示例#14
0
        public void UpdateStatistic(ReportStatistics.ReportName reportName)
        {
            string country    = CmsOpsModel.CountryFilterModel.GetCode();
            int    poolId     = CmsOpsModel.GeneralThreeFilterModel.TopModel.GetId();
            int    locationId = CmsOpsModel.GeneralThreeFilterModel.MiddleModel.GetId();
            var    branch     = CmsOpsModel.GeneralThreeFilterModel.BottomModel.SelectedValue;

            try
            {
                ReportStatistics.InsertStatistics((int)reportName
                                                  , country, poolId, locationId, -1, -1, branch, HttpContext.Current.User.Identity.Name, DateTime.Now);
            }
            catch (SqlException ex)
            {
                //ILog _logger = log4net.LogManager.GetLogger("Pooling");
                //if (_logger != null) _logger.Error(" SQL Exception thrown in PoolingController(Abstract) accessing ReportStatistics.InsertStatistics, message : " + ex.Message);
            }
        }
示例#15
0
        public void CalculatePostTestProbability(ReportStatistics statistics, int numLVISeen)
        {
            statistics.LVIPresent = numLVISeen > 0;

            statistics.ProbLVIPosNumberOfLVI = numLVISeen == 0 ? DataConstants.ZeroLVIImagesLVIPos
                : numLVISeen < 3 ? DataConstants.OneToTwoLVIImagesLVIPos
                : numLVISeen < 4 ? DataConstants.TwoToThreeLVIImagesLVIPos
                : DataConstants.FivePlusLVIImagesLVIPos;
            statistics.ProbLVINegNumberOfLVI = numLVISeen == 0 ? DataConstants.ZeroLVIImagesLVINeg
                : numLVISeen < 3 ? DataConstants.OneToTwoLVIImagesLVINeg
                : numLVISeen < 4 ? DataConstants.TwoToThreeLVIImagesLVINeg
                : DataConstants.FivePlusLVIImagesLVINeg;
            statistics.BayesForNumberOfLVI = CalculateBayes
                                                 (statistics.BayesForGrade,
                                                 statistics.ProbLVIPosNumberOfLVI,
                                                 statistics.ProbLVINegNumberOfLVI,
                                                 1 - statistics.BayesForGrade);
        }
示例#16
0
        public void UpdateTest()
        {
            SMS sms = GetSMS();
            var b   = ReportStatisticsDB.AddSMSHistory(sms);

            Assert.IsTrue(b);
            var r = ReportStatisticsDB.GetReportStatistics(sms.SerialNumber, sms.SendTime);

            Assert.IsNotNull(r);
            ReportStatistics rs = new ReportStatistics()
            {
                SerialNumber = sms.SerialNumber,
                SendCount    = 100,
                SendTime     = sms.SendTime
            };

            b = ReportStatisticsDB.Update("account", rs);
            Assert.IsTrue(b);
        }
        public async Task <InterventionData> GetInterventionDataForCaseReport(CaseReportViewModel caseReportViewModel, string userId)
        {
            int[]     chartXAxis;
            decimal[] theoreticalYValues;
            decimal[] observedYValues;

            Report previousReport = _reportService.GetPreviousUserReport(userId);

            int currentReportNumber = previousReport != null ? previousReport.UserReportNumber + 1 : 1;

            // Calculate statistics for the current case report on the fly
            ReportStatistics currentStatistics = await Task.Run(() => _reportService.CalculateStatistics(
                                                                    caseReportViewModel.PatientAge,
                                                                    caseReportViewModel.TumourSize,
                                                                    caseReportViewModel.TumourGrade,
                                                                    caseReportViewModel.NumberofLVI,
                                                                    previousReport));

            // Get the theoretical series values (x and y)
            theoreticalYValues = new decimal[currentReportNumber + 1];
            observedYValues    = new decimal[currentReportNumber + 1];
            chartXAxis         = new int[currentReportNumber + 1];

            BinomialDistribution binomDist = new BinomialDistribution(currentReportNumber, (double)currentStatistics.CumulativeAverageBayesForGrade);

            for (int i = 0; i <= currentReportNumber; i++)
            {
                theoreticalYValues[i] = (decimal)binomDist.ProbabilityMassFunction(i);
                observedYValues[i]    = currentStatistics.CumulativeCasesWithLVIPos == i ? currentStatistics.BinomialDist : 0;
                chartXAxis[i]         = i;
            }

            return(new InterventionData()
            {
                TheoreticalYValues = theoreticalYValues,
                ObservedYValues = observedYValues,
                ChartXAxis = chartXAxis,
                PreTestProbability = currentStatistics.BayesForGrade,
                PostTestProbability = currentStatistics.BayesForNumberOfLVI,
                LVIReported = caseReportViewModel.NumberofLVI > 0 ? true : false
            });
        }
        public void CalculateCumulativeStatistics_CalculatesCorrectly(Report[] testReports)
        {
            //Arrange
            var    reportService      = new ReportService(null, null);
            Report latestTestreport   = testReports[testReports.Length - 1];
            Report previousTestReport = null;

            if (testReports.Length > 1)
            {
                previousTestReport = testReports[testReports.Length - 2];
            }

            //Act
            ReportStatistics actualStats = reportService.CalculateStatistics(latestTestreport.Case.PatientAge, latestTestreport.Case.TumourSize, latestTestreport.TumourGrade, latestTestreport.NumberofLVI, previousTestReport);

            //Assert
            Assert.Equal(Decimal.Round(latestTestreport.Statistics.CumulativeBayesForGrade, 5), Decimal.Round(actualStats.CumulativeBayesForGrade, 5));
            Assert.Equal(Decimal.Round(latestTestreport.Statistics.CumulativeAverageBayesForGrade, 5), Decimal.Round(actualStats.CumulativeAverageBayesForGrade, 5));
            Assert.Equal(Decimal.Round(latestTestreport.Statistics.CumulativeCasesWithLVIPos, 5), Decimal.Round(actualStats.CumulativeCasesWithLVIPos, 5));
            Assert.Equal(Decimal.Round(latestTestreport.Statistics.BinomialDist, 5), Decimal.Round(actualStats.BinomialDist, 5));
        }
示例#19
0
        protected void GridviewSortingAndPagingDate(string sortExpression)
        {
            var marsTool = int.Parse(ddlAvailabilityOrPooling.SelectedValue);

            var gridViewStatisticsDate      = marsTool != 4 ? GridviewStatisticsDate : GridviewStatisticsDatePooling;
            var gridViewStatisticsDateTotal = marsTool != 4 ? GridviewStatisticsDateTotals : GridviewStatisticsDateTotalsPooling;


            ReportStatistics.SelectStatistics(marsTool, Convert.ToInt32(SessionHandler.AvailabilityStatisticsLogic),
                                              SessionHandler.AvailabilityStatisticsCountry, Convert.ToInt32(SessionHandler.AvailabilityStatisticsCMSPoolId),
                                              SessionHandler.AvailabilityStatisticsCMSLocationGroupCode ?? 0, SessionHandler.AvailabilityStatisticsRacfID,
                                              Convert.ToInt32(SessionHandler.AvailabilityStatisticsOPSRegionId), Convert.ToInt32(SessionHandler.AvailabilityStatisticsOPSAreaId),
                                              SessionHandler.AvailabilityStatisticsLocation, Convert.ToDateTime(SessionHandler.AvailabilityStatisticsStartDate),
                                              Convert.ToDateTime(SessionHandler.AvailabilityStatisticsEndDate), Convert.ToInt32(SessionHandler.AvailabilityStatisticsDatePageSize),
                                              Convert.ToInt32(SessionHandler.AvailabilityStatisticsDateCurrentPageNumber), sortExpression,
                                              this.PagerControlStatisticsDate.PagerButtonFirst, this.PagerControlStatisticsDate.PagerButtonNext,
                                              this.PagerControlStatisticsDate.PagerButtonPrevious, this.PagerControlStatisticsDate.PagerButtonLast,
                                              this.PagerControlStatisticsDate.PagerLabelTotalPages, this.PagerControlStatisticsDate.PagerDropDownListPage,
                                              gridViewStatisticsDate, gridViewStatisticsDateTotal, this.LabelTotalRecordsDisplayStatisticsDate,
                                              (int)ReportStatistics.StatisticsType.ByDate, this.PanelStatisticsDate, this.PanelStatisticsDateEmptyDataTemplate);

            this.UpdatePanelStatistics.Update();
        }
        public async Task GetPreTestProbabilityData(CaseReportViewModel caseReportViewModel, ReportStatistics statistics)
        {
            if (statistics.BayesForSize > 0)
            {
                await Task.Run(() => _reportService.CalculatePreTestProbability(statistics, caseReportViewModel.TumourGrade));
            }
            else
            {
                // Assume we haven't yet calculated the first two bayes theorum values (probabilities based on age and tumour size)
                await Task.Run(() => _reportService.CalculateAgeBasedStatistics(statistics, caseReportViewModel.PatientAge));

                await Task.Run(() => _reportService.CalculateSizeBasedStatistics(statistics, caseReportViewModel.TumourSize));

                await Task.Run(() => _reportService.CalculatePreTestProbability(statistics, caseReportViewModel.TumourGrade));
            }

            return;
        }
示例#21
0
 public static bool Update(string accountID, ReportStatistics statistics)
 {
     throw new NotImplementedException();
     return(true);
 }
示例#22
0
        protected void GenerateReport()
        {
            //Get Selection Values from reportselection user controls
            int selectedLogic = this.UserControlReportSettings.Logic;

            //Set values from report selection
            string country = this.UserControlReportSettings.Country;

            //Set default values for CMS / OPS logic
            int    cms_pool_id           = -1;
            string cms_pool              = null;
            int    cms_location_group_id = -1;
            string cms_location_group    = null;

            int    ops_region_id = -1;
            string ops_region    = null;
            int    ops_area_id   = -1;
            string ops_area      = null;

            //Check option logic
            switch (selectedLogic)
            {
            case (int)ReportSettings.OptionLogic.CMS:
                //Set Values for CMS
                cms_pool_id           = this.UserControlReportSettings.CMS_Pool_Id;
                cms_pool              = this.UserControlReportSettings.CMS_Pool;
                cms_location_group_id = this.UserControlReportSettings.CMS_Location_Group_Id;
                cms_location_group    = this.UserControlReportSettings.CMS_Location_Group;

                break;

            case (int)ReportSettings.OptionLogic.OPS:
                //Set Values for OPS
                ops_region_id = this.UserControlReportSettings.OPS_Region_Id;
                ops_region    = this.UserControlReportSettings.OPS_Region;
                ops_area_id   = this.UserControlReportSettings.OPS_Area_Id;
                ops_area      = this.UserControlReportSettings.OPS_Area;

                break;
            }

            //Set common values
            string location = this.UserControlReportSettings.Location;
            string racfId   = this.UserControlReportSettings.RacfId;


            //Statistics values
            DateTime startDate = this.UserControlReportSettings.StatisticsStartDate;
            DateTime endDate   = this.UserControlReportSettings.StatisticsEndDate;


            //Set Selection Session Values
            this.SetSelectionSessionValues(country, selectedLogic, cms_pool_id, cms_location_group_id, ops_region_id, ops_area_id, location, startDate, endDate, racfId);

            var marsTool        = int.Parse(ddlAvailabilityOrPooling.SelectedValue);
            var poolingSelected = marsTool == 4;

            GridviewStatisticsDate.Visible        = !poolingSelected;
            GridviewStatisticsDatePooling.Visible = poolingSelected;

            GridviewStatisticsSelection.Visible        = !poolingSelected;
            GridviewStatisticsSelectionPooling.Visible = poolingSelected;

            GridviewStatisticsSelectionTotals.Visible        = !poolingSelected;
            GridviewStatisticsSelectionTotalsPooling.Visible = poolingSelected;

            GridviewStatisticsDateTotals.Visible        = !poolingSelected;
            GridviewStatisticsDateTotalsPooling.Visible = poolingSelected;

            var gridViewStatisticsSelection      = !poolingSelected ? GridviewStatisticsSelection : GridviewStatisticsSelectionPooling;
            var gridViewStatisticsDate           = !poolingSelected ? GridviewStatisticsDate : GridviewStatisticsDatePooling;
            var gridViewStatisticsSelectionTotal = !poolingSelected ? GridviewStatisticsSelectionTotals : GridviewStatisticsSelectionTotalsPooling;
            var gridViewStatisticsDateTotal      = !poolingSelected ? GridviewStatisticsDateTotals : GridviewStatisticsDateTotalsPooling;


            //Load Data By Selection
            ReportStatistics.SelectStatistics(marsTool, selectedLogic, country, cms_pool_id, cms_location_group_id, racfId, ops_region_id, ops_area_id, location, startDate,
                                              endDate, Convert.ToInt32(SessionHandler.AvailabilityStatisticsSelectionPageSize), Convert.ToInt32(SessionHandler.AvailabilityStatisticsSelectionCurrentPageNumber), null, this.PagerControlStatisticsSelection.PagerButtonFirst, this.PagerControlStatisticsSelection.PagerButtonNext, this.PagerControlStatisticsSelection.PagerButtonPrevious, this.PagerControlStatisticsSelection.PagerButtonLast, this.PagerControlStatisticsSelection.PagerLabelTotalPages, this.PagerControlStatisticsSelection.PagerDropDownListPage,
                                              gridViewStatisticsSelection, gridViewStatisticsSelectionTotal, this.LabelTotalRecordsDisplayStatisticsSelection, (int)ReportStatistics.StatisticsType.BySelection, this.PanelStatisticsSelection, this.PanelStatisticsSelectionEmptyDataTemplate);

            //Load Data By Date
            ReportStatistics.SelectStatistics(marsTool, selectedLogic, country, cms_pool_id, cms_location_group_id, racfId, ops_region_id, ops_area_id, location, startDate,
                                              endDate, Convert.ToInt32(SessionHandler.AvailabilityStatisticsDatePageSize), Convert.ToInt32(SessionHandler.AvailabilityStatisticsDateCurrentPageNumber), null, this.PagerControlStatisticsDate.PagerButtonFirst, this.PagerControlStatisticsDate.PagerButtonNext, this.PagerControlStatisticsDate.PagerButtonPrevious, this.PagerControlStatisticsDate.PagerButtonLast, this.PagerControlStatisticsDate.PagerLabelTotalPages, this.PagerControlStatisticsDate.PagerDropDownListPage,
                                              gridViewStatisticsDate, gridViewStatisticsDateTotal, this.LabelTotalRecordsDisplayStatisticsDate, (int)ReportStatistics.StatisticsType.ByDate, this.PanelStatisticsDate, this.PanelStatisticsDateEmptyDataTemplate);

            //Set Report Selection User Control
            SetReportSelection(selectedLogic, country, cms_pool_id, cms_location_group_id, ops_region_id, ops_area_id, location, startDate, endDate, racfId);


            //Set Last Selection Value
            base.SaveLastSelectionToSession(selectedLogic, country, cms_pool_id, cms_location_group_id, ops_region_id, ops_area_id, location, null, null, null);


            this.UpdatePanelStatistics.Update();
        }