Ejemplo n.º 1
0
        public VideoPage()
        {
            this.InitializeComponent();

            if (videoCategoryViewModel == null)
            {
                if (!SimpleIoc.Default.IsRegistered <VideoCategoryViewModel>())
                {
                    SimpleIoc.Default.Register <VideoCategoryViewModel>();
                }

                videoCategoryViewModel = SimpleIoc.Default.GetInstance <VideoCategoryViewModel>();
            }

            this.DataContext = videoCategoryViewModel;

            this.navigationHelper = new NavigationHelper(this);
            if (AppEnvironment.IsPhone)
            {
                this.hub.Visibility    = Visibility.Collapsed;
                this.gridPI.Visibility = Visibility.Visible;
            }
            else
            {
                this.hub.Visibility    = Visibility.Visible;
                this.gridPI.Visibility = Visibility.Collapsed;
            }
        }
Ejemplo n.º 2
0
        public ActionResult ListByVideoTag(string id, int page = 1, int page_size = 15)
        {
            if (id.Contains("_"))
            {
                return(RedirectToActionPermanent("ListByVideoTag", new { id = id.Replace("_", "-") }));
            }

            //If first page redirect to correct url without page parameter
            if (page <= 1 && Request.RawUrl.Contains(id + "/" + page.ToString()))
            {
                return(RedirectToActionPermanent("ListByVideoTag", new { id = id, page = "" }));
            }


            VideoCategoryViewModel view_model = servicesManager.VideoFrontService.GetVideosTag(id, page < 1 ? 1 : page, page_size, VideoService.VideoThumbWidth7, VideoService.VideoThumbHeight7, 100);

            view_model.LinkTemplate = "/تصنيف-فيديو/" + id + "/{page}";
            if (view_model == null)
            {
                throw new HttpException(404, "Page Not Found");
            }

            //Get Current User Info
            if (WebSecurity.IsAuthenticated)
            {
                ViewBag.CurrentUser = servicesManager.AccountFrontService.GetSimpleUserById(WebSecurity.CurrentUserId);
            }

            view_model.URL = id;

            //Get latest articles list
            ViewBag.LatestArticlesLeft = servicesManager.ArticleFrontService.GetLatestArticles(5, ArticleService.ArticleThumbWidth3, ArticleService.ArticleThumbHeight3);

            //Fill Bread Crumb
            BreadCrumbViewModel bread_crumb = new BreadCrumbViewModel();

            bread_crumb.Items = new List <BreadCrumbItemViewModel>();
            bread_crumb.Items.Add(new BreadCrumbItemViewModel()
            {
                Text = "الرئيسية", URL = "/"
            });
            bread_crumb.Items.Add(new BreadCrumbItemViewModel()
            {
                Text = "فيديو", URL = "/فيديو"
            });
            bread_crumb.Items.Add(new BreadCrumbItemViewModel()
            {
                Text = view_model.Name, URL = Url.Action("ListByVideoTag", "Category", new { id = id, page = "" })
            });
            ViewBag.BreadCrumb = bread_crumb;

            return(View(view_model));
        }
Ejemplo n.º 3
0
        public VideoCategoryViewModel GetVideosTag(string tag, int page, int page_size, int image_width, int image_height, int description_length = 40)
        {
            tag = tag.Replace("-", "_");
            TagOfVideo db_tag = DAManager.TagOfVideoRepository.Get(t => t.TagName == tag).FirstOrDefault();

            if (db_tag == null)
            {
                return(null);
            }

            VideoCategoryViewModel result_viewmodel = new VideoCategoryViewModel()
            {
                Name = db_tag.FrontTitle, MetaDescription = db_tag.MetaDescription, MetaTitle = db_tag.MetaTitle
            };
            List <ListVideoViewModel> result = new List <ListVideoViewModel>();

            IQueryable <VideoTag> tag_videos = DAManager.VideoTagsRepository.Get(at => at.Tag == tag && at.Video.IsPublished == true && DbFunctions.CreateDateTime(at.Video.PublishDate.Year, at.Video.PublishDate.Month, at.Video.PublishDate.Day, at.Video.PublishDate.Hour, at.Video.PublishDate.Minute, at.Video.PublishDate.Second) <= DateTime.Now, a => a.OrderByDescending(ar => ar.Video.PublishDate), "Video.VideoImages.Image").Skip((page - 1) * page_size).Take(page_size);

            foreach (VideoTag AC in tag_videos.ToList())
            {
                ListVideoViewModel video = new ListVideoViewModel()
                {
                    Title = AC.Video.Title, URL = AC.Video.URL
                };
                video.Description = StringsUtility.StripHTML(AC.Video.Description);
                if (video.Description.Length > description_length)
                {
                    video.Description = video.Description.Substring(0, description_length);
                }
                if (AC.Video.VideoImages.Count() > 0)
                {
                    video.ImageURL = ImageService.GenerateImageFullPath(AC.Video.VideoImages.First().Image.URL, image_width.ToString(), image_height.ToString());
                }

                result.Add(video);
            }



            result_viewmodel.Videos = result;

            int total_videos = DAManager.VideoTagsRepository.Get(at => at.Tag == tag && at.Video.IsPublished == true && DbFunctions.CreateDateTime(at.Video.PublishDate.Year, at.Video.PublishDate.Month, at.Video.PublishDate.Day, at.Video.PublishDate.Hour, at.Video.PublishDate.Minute, at.Video.PublishDate.Second) <= DateTime.Now).Count();

            //Set pagination properties
            result_viewmodel.PageNumber = page;
            result_viewmodel.PageSize   = page_size;
            result_viewmodel.TotalItems = total_videos;

            return(result_viewmodel);
        }