コード例 #1
0
        public IActionResult Index()
        {
            ViewBag.News = _uw.NewsRepository.CountNews();
            ViewBag.FuturePublishedNews = _uw.NewsRepository.CountFuturePublishedNews();
            ViewBag.NewsPublished       = _uw.NewsRepository.CountNewsPublishedOrDraft(true);
            ViewBag.DraftNews           = _uw.NewsRepository.CountNewsPublishedOrDraft(false);

            var      month = StringExtensions.GetMonth();
            int      numberOfVisit;
            var      year = DateTimeExtensions.ConvertMiladiToShamsi(DateTime.Now, "yyyy");
            DateTime StartDateTimeMiladi;
            DateTime EndDateTimeMiladi;
            var      numberOfVisitList = new List <NumberOfVisitChartViewModel>();

            for (int i = 0; i < month.Length; i++)
            {
                StartDateTimeMiladi = DateTimeExtensions.ConvertShamsiToMiladi($"{year}/{i + 1}/01");
                if (i < 11)
                {
                    EndDateTimeMiladi = DateTimeExtensions.ConvertShamsiToMiladi($"{year}/{i + 2}/01");
                }
                else
                {
                    EndDateTimeMiladi = DateTimeExtensions.ConvertShamsiToMiladi($"{year}/01/01");
                }

                numberOfVisit = _uw._Context.News.Where(n => n.PublishDateTime < EndDateTimeMiladi && StartDateTimeMiladi <= n.PublishDateTime).Include(v => v.Visits).Select(k => k.Visits.Sum(v => v.NumberOfVisit)).AsEnumerable().Sum();
                numberOfVisitList.Add(new NumberOfVisitChartViewModel {
                    Name = month[i], Value = numberOfVisit
                });
            }

            ViewBag.NumberOfVisitChart = numberOfVisitList;
            return(View());
        }