public ActionResult Index(DateTime?date)
        {
            if (!date.HasValue)
            {
                date = DateTime.Now.Date;
            }
            var scheduleDetails =
                _scheduleDetailRepository.GetMany(p => DbFunctions.TruncateTime(p.DateTime) == date,
                                                  p => p.DateTime).ToList();

            if (scheduleDetails.Count == 0)
            {
                var dayOfWeek = date.Value.DayOfWeek;

                scheduleDetails = _scheduleRepository.GetMany(s => s.DayOfWeek == dayOfWeek, s => s.Time)
                                  .Select(s => new ProgramScheduleDetail
                {
                    VideoCategoryId = s.VideoCategoryId,
                    DateTime        = date.Value.Add(s.Time),
                    VideoCategory   = s.VideoCategory,
                    IsNew           = s.IsNew
                }).ToList();
            }
            ViewBag.Date = date.Value;
            return(View(scheduleDetails));
        }
예제 #2
0
        public List <ProgramScheduleDetailModel> GetBroadcastScheduleByDate(string date)
        {
            var dateTime = DateTime.ParseExact(date, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);

            List <ProgramScheduleDetailModel> scheduleDetails =
                _scheduleDetailRepository.GetMany(p => DbFunctions.TruncateTime(p.DateTime) == dateTime,
                                                  p => p.DateTime).
                Select(s => new ProgramScheduleDetailModel
            {
                DateTime = s.DateTime,
                //IsNew = s.IsNew,
                Name          = string.IsNullOrEmpty(s.Name) ? "" : s.Name,
                VideoCategory = s.VideoCategory.Name,
                VideoId       = s.VideoId == null ? 0 : s.VideoId
            }).ToList();

            if (scheduleDetails.Count == 0)
            {
                var dayOfWeek = dateTime.DayOfWeek;

                scheduleDetails = _scheduleRepository.GetMany(s => s.DayOfWeek == dayOfWeek, s => s.Time)
                                  .Select(s => new ProgramScheduleDetailModel
                {
                    VideoCategory = s.VideoCategory.Name,
                    DateTime      = dateTime.Date.Add(s.Time),
                    //IsNew = s.IsNew,
                    Name    = "",
                    VideoId = 0
                }).ToList();
            }
            return(scheduleDetails);
        }
예제 #3
0
        // GET: VideoRate
        public ActionResult Index(DateTime?date)
        {
            if (!date.HasValue)
            {
                date = DateTime.Now.Date;
            }

            DateTime dateValue = date.Value;
            var      list      = new List <ScheduleDetailFilterView>();

            for (int i = 0; i < 7; i++)
            {
                var view = new ScheduleDetailFilterView
                {
                    DateTime        = dateValue,
                    ScheduleDetails =
                        _scheduleDetailRepository.GetMany(p => DbFunctions.TruncateTime(p.DateTime) == dateValue,
                                                          p => p.DateTime).ToList()
                };
                list.Add(view);
                dateValue = dateValue.AddDays(1);
            }
            return(View(list));
        }
예제 #4
0
        //testsang
        //24806 tuan 33 số 17
        public ActionResult GetVideoReport(int videoId)
        {
            var video = _videoRepository.Find(videoId);

            if (video == null)
            {
                return(HttpNotFound());
            }
            var      year                      = DateTime.Now.Year;
            DateTime firstDate                 = new DateTime(year, 1, 1);
            var      data                      = _videoRepository.GetVideoAccess(videoId, "day", video.DisplayTime.Date, new DateTime(year, 12, 31)).OrderBy(v => v.Date).ToList();
            var      page                      = _pageCatRepository.Find(video.Id);
            var      lstVideo                  = _videoRepository.GetMany(v => v.DisplayTime >= firstDate && v.DisplayTime <= video.DisplayTime && v.CategoryId == video.CategoryId).OrderBy(v => v.DisplayTime).ToList();
            var      lstProSchedDetail         = _programScheduleDetailRepository.GetMany(p => p.VideoCategoryId == video.CategoryId && p.DateTime >= firstDate && p.DateTime <= video.DisplayTime && p.IsNew, order => order.DateTime).ToList();
            List <ProgramSchedule> lstProSched = _programScheduleRepository.GetMany(p => p.VideoCategoryId == video.CategoryId && p.IsNew, order => order.VideoCategoryId).ToList();
            var lastDayOfYear                  = video.DisplayTime;
            var firstDayOfYear                 = lstVideo.Count() > 0 ? lstVideo.FirstOrDefault().DisplayTime : firstDate;
            int weekNoProSched                 = GetVideoByProSched(firstDayOfYear, lastDayOfYear, lstProSched);
            int weekNo  = lstProSchedDetail.Count() > 0 ? lstProSchedDetail.Count() : 0;
            int videoNo = lstVideo.Count() > 0 ? lstVideo.IndexOf(video) + 1 : 0;

            List <ArrayList> lstData = new List <ArrayList>();
            DateTime         last    = data.LastOrDefault().Date;

            for (DateTime dateTime = video.DisplayTime.Date; dateTime <= last; dateTime += TimeSpan.FromDays(1))
            {
                VideoPeriodAccessReport vireport = data.Where(d => d.Date == dateTime).FirstOrDefault();
                ArrayList arr = new ArrayList();
                if (vireport != null)
                {
                    arr.Add(ToUnixTimestamp(vireport.Date));
                    arr.Add(vireport.IPViewCount);
                    arr.Add(vireport.PageViewCount);
                }
                else
                {
                    arr.Add(ToUnixTimestamp(dateTime));
                    arr.Add(0);
                    arr.Add(0);
                }
                lstData.Add(arr);
            }

            return(Json(new
            {
                Id = video.Id,
                name = video.Title,
                PublishedTime = video.PublishedTime.ToString("dd-MM-yyyy") + " vào lúc " + video.PublishedTime.ToString("HH:mm"),
                UploadTime = video.UploadedTime.Value.ToString("dd-MM-yyyy") + " vào lúc " + video.UploadedTime.Value.ToString("HH:mm"),
                IsPublishFail = video.PublishedTime < video.UploadedTime,
                Duration = video.Duration,
                Category = video.Category.Name,
                CategoryId = video.Category.Id,
                TypeCat = video.Category.Type.Name,
                Editor = video.UploadUser != null ? string.IsNullOrEmpty(video.UploadUser.UserName) ? "": video.UploadUser.UserName: "",
                LinkVideo = page.Url,
                weekNoProSched = weekNoProSched,
                lstProSched = lstProSched.Count(),
                weekNo = weekNo,
                videoNo = videoNo,
                data = lstData.ToList()
            }, JsonRequestBehavior.AllowGet));
        }