コード例 #1
0
ファイル: HomeController.cs プロジェクト: vuadaphop3z/manager
        public ActionResult BookingStatistics()
        {
            StatisticsBookingModel finalData = null;

            try
            {
                finalData = GetStatisticsAndSaveToCache();
            }
            catch (Exception ex)
            {
                logger.Error(string.Format("Failed when get Report for Dashboard because: {0}", ex.ToString()));
            }

            return(Json(finalData, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: vuadaphop3z/manager
        private StatisticsBookingModel GetStatisticsAndSaveToCache()
        {
            StatisticsBookingModel finalData = null;

            //Check from cache
            //var cacheClient = GlobalContainer.IocContainer.Resolve<ICacheClient>();
            //finalData = cacheClient.Get<StatisticsBookingModel>(_reportInYear);
            //if (finalData == null)
            //{
            //    finalData = new StatisticsBookingModel();

            //    //Agency statistics
            //    var listHang = SystemSettings.AirlinesReportInDashBoard.Split(',').ToList();
            //    var listHangLabels = SystemSettings.AirlinesLabelInDashBoard.Split(',').ToList();
            //    var airlinesCounter = listHang.Count;

            //    finalData.AgencyData.ListHang = listHang;
            //    finalData.AgencyData.ListHangLabels = listHangLabels;
            //    finalData.AgencyData.TotalData = new int[airlinesCounter];

            //    var listBooking = new List<IdentityReportByYear>();

            //    int year = DateTime.Now.Year;
            //    DateTime firstDay = new DateTime(year, 1, 1);
            //    DateTime lastDay = new DateTime(year, 12, 31);
            //    DateTime dtNow = DateTime.Now;

            //    var _storeReport = GlobalContainer.IocContainer.Resolve<IStoreReport>();
            //    var filter = new ReportFilter();
            //    filter.ProviderId = 0;
            //    filter.FromDate = firstDay;
            //    filter.ToDate = lastDay;

            //    listBooking = _storeReport.GetStatisticsForDashBoard(filter);

            //    if (listBooking != null && listBooking.Count > 0)
            //    {
            //        foreach (var item in listBooking)
            //        {
            //            //Get data statistics for year
            //            for (int i = 0; i < finalData.InYearData.successData.Length; i++)
            //            {
            //                if (item.NgayBook.Value.Month == (i + 1))
            //                {
            //                    if (item.TinhTrang == (int)EnumTinhTrangVe.DaXuatVe)
            //                    {
            //                        finalData.InYearData.successData[i]++;
            //                    }
            //                    else if (item.TinhTrang == (int)EnumTinhTrangVe.DaHuy)
            //                    {
            //                        finalData.InYearData.failedData[i]++;
            //                    }
            //                    else
            //                    {
            //                        finalData.InYearData.processingData[i]++;
            //                    }
            //                }
            //            }

            //            //Get data statistics for Agency
            //            if (listHang != null && airlinesCounter > 0)
            //            {
            //                var isAgencyData = (item.NgayBook.Value.Month == dtNow.Month && item.NgayBook.Value.Day == dtNow.Day);
            //                var matched = false;
            //                if (isAgencyData)
            //                {
            //                    for (int i = 0; i < airlinesCounter; i++)
            //                    {
            //                        var currentHang = listHang[i];
            //                        if (item.HangId == currentHang)
            //                        {
            //                            matched = true;
            //                            finalData.AgencyData.TotalData[i]++;
            //                            break;
            //                        }
            //                    }

            //                    if(!matched)
            //                        finalData.AgencyData.TotalData[airlinesCounter - 1]++;
            //                }

            //            }
            //        }
            //    }

            //    finalData.UpdatedTime = dtNow.ToString("dd/MM/yyyy HH:mm");
            //    finalData.NextUpdate = dtNow.AddMinutes(SystemSettings.CacheExpireDataInDashBoard).ToString("dd/MM/yyyy HH:mm");

            //    //Save to cache: Expire time default is: 30 minutes
            //    cacheClient.Add(_reportInYear, finalData, _cacheReportByYearExpiredTime);
            //}

            return(finalData);
        }