Пример #1
0
        public ViewResult List()
        {
            var videoListViewModel = new VideoListViewModel();

            videoListViewModel.Videos = _videoRepository.GetAllVideos();
            return(View(videoListViewModel));
        }
Пример #2
0
        public IActionResult Index()
        {
            var listVideo = new VideoListViewModel();

            listVideo.Videos = _videoRepository.GetAllVideos().Take(3);
            return(View(listVideo));
        }
Пример #3
0
        public MainPage()
        {
            InitializeComponent();

            _viewModel = new VideoListViewModel(Navigation);

            BindingContext = _viewModel;
        }
Пример #4
0
 public void Call()
 {
     if (_core.TryGetUiManager(out IUiManager ui))
     {
         var videoList = new VideoListViewModel(_core, this);
         ui.Navigate(videoList);
     }
     _core.WebSocket.PopularNotifyPage("StreamingVideo");
 }
        public IActionResult Video()
        {
            VideoListViewModel videoListViewModel = new VideoListViewModel()
            {
                Videos = _videoServices.GetAll()
            };

            return(View(videoListViewModel));
        }
Пример #6
0
        // GET: Home
        public ActionResult Index()
        {
            var model = new VideoListViewModel
            {
                Videos     = _videoService.GetList(),
                Categories = _videoService.GetVideoDetails()
            };

            return(View(model));
        }
Пример #7
0
        // GET: admin/Video
        public ActionResult list(int page = 1, int pageSize = 20)
        {
            int totalCount = 0;
            PagedList <Video> InfoPager = videoBll.FindPageList(page, pageSize, out totalCount, "Id", false).AsQueryable().ToPagedList(page, pageSize);

            InfoPager.TotalItemCount   = totalCount;
            InfoPager.CurrentPageIndex = page;
            //数据组装到viewModel
            VideoListViewModel index = new VideoListViewModel();

            index.Infos = InfoPager;
            return(View(index));
        }
Пример #8
0
        public async Task <IActionResult> List(int?authorId, string authorName, int[] genresId, string genresName)
        {
            ViewBag.Title = "Videos";

            var authors = await _db.Author.ToListAsync();

            var genres = await _db.Genre.ToListAsync();

            IQueryable <Video> videos = _db.Video.Include(p => p.Author).Include(x => x.Genres);

            var genreIds = await videos.SelectMany(x => x.Genres)
                           .Where(x => genresId.Contains(x.Id))
                           .Select(x => x.Id)
                           .Distinct()
                           .ToListAsync();

            if ((authorId != null && authorId != 0) || (genresId != null && genresId.Length != 0))
            {
                if (authorId != null && authorId != 0)
                {
                    videos = videos.Where(p => p.AuthorId == authorId);
                }

                if (genresId != null && genresId.Length != 0)
                {
                    videos = videos.Where(p => genreIds.Contains(p.Id));
                }

                if ((authorId != null && authorId != 0) && (genresId != null && genresId.Length != 0))
                {
                    videos = videos.Where(x => x.AuthorId == authorId).Where(p => genreIds.Contains(p.Id));
                }
            }

            genres.Insert(0, new Genre {
                Name = "Все", Id = 0
            });
            authors.Insert(0, new Author {
                Name = "Все", Id = 0
            });

            var videoListViewModel = new VideoListViewModel
            {
                Videos     = videos,
                Authors    = new SelectList(authors, "Id", "Name"),
                AuthorName = authorName,
                Genres     = new SelectList(genres, "Id", "Name")
            };

            return(View(videoListViewModel));
        }
Пример #9
0
        public ActPage()
        {
            this.InitializeComponent();

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

                videoListViewModel = SimpleIoc.Default.GetInstance <VideoListViewModel>();

                this.DataContext = videoListViewModel;

                this.navigationHelper = new NavigationHelper(this);
            }
        }
Пример #10
0
        public async Task <ActionResult> Index(string channelId)
        {
            var accessToken = await AadHelper.GetAccessToken();

            var repo = new VideoChannelRepository(accessToken);

            var channel = await repo.GetChannel(channelId);

            var videos = await repo.GetChannelVideos(channelId);

            var viewModel = new VideoListViewModel {
                ChannelId    = channelId,
                ChannelTitle = channel.Title,
                Videos       = videos
            };

            return(View(viewModel));
        }
Пример #11
0
        public ActionResult Index(int page = 1)
        {
            var pagesCount = (int)Math.Ceiling(this.videosRepository.All().Count() / (decimal)ItemsPerPage);

            var videos = this.videosRepository
                         .All()
                         .Where(x => !x.IsDeleted)
                         .OrderByDescending(x => x.CreatedOn)
                         .To <VideoListItemViewModel>()
                         .Skip(ItemsPerPage * (page - 1))
                         .Take(ItemsPerPage)
                         .ToList();

            var model = new VideoListViewModel {
                Page = page, Pages = pagesCount, Videos = videos
            };

            return(this.View(model));
        }
        public async Task <ActionResult> Index(string channelId)
        {
            try
            {
                var accessTokenSharePoint = await AadHelper.GetAccessTokenForSharePoint();

                var accessTokenMSGraph = await AadHelper.GetAccessTokenForMicrosoftGraph();

                var sharePointRepository    = new VideoChannelRepository(accessTokenSharePoint);
                var groupsRepository        = new GroupsRepository(graphClient);
                var subscriptionsRepository = new SubscriptionsRepository(graphClient, this.Session, HttpRuntime.Cache);

                var channel = await sharePointRepository.GetChannel(channelId);

                var videos = await sharePointRepository.GetChannelVideos(channelId);

                var groups = await groupsRepository.GetGroups();

                var viewModel = new VideoListViewModel
                {
                    ChannelId    = channelId,
                    ChannelTitle = channel.Title,
                    Videos       = videos,
                    Groups       = groups
                };

                // integration of the webhooks example
                Microsoft.Graph.Subscription result = await subscriptionsRepository.CreateOrReuseSubscription();

                return(View(viewModel));
            }
            catch (Exception ex)
            {
                if (ex is AdalException)
                {
                    // let the ActionFilterAttribute take care of it
                    throw ex;
                }

                return(RedirectToAction("Index", "Error", new { message = ex.Message }));
            }
        }
        // GET: videos/search
        public async Task <IActionResult> search(string term, string filter, int?pagenumber)
        {
            if (term == null)
            {
                return(Redirect("/videos/"));
            }

            var _sanitize = new Ganss.XSS.HtmlSanitizer();

            term = UtilityBLL.ReplaceHyphinWithSpace(term);

            /* ***************************************/
            // Process Page Meta & BreaCrumb
            /* ***************************************/
            var _meta = PageMeta.returnPageMeta(new PageQuery()
            {
                controller = ControllerContext.ActionDescriptor.ControllerName,
                index      = ControllerContext.ActionDescriptor.ActionName,
                pagenumber = (int)pagenumber,
                matchterm  = term
            });

            if (Jugnoon.Settings.Configs.GeneralSettings.store_searches)
            {
                //*********************************************
                // User Search Tracking Script
                //********************************************
                if (!TagsBLL.Validate_Tags(term.Trim()) && !term.Trim().Contains("@"))
                {
                    // check if tag doesn't exist
                    var count_tags = await TagsBLL.Count(_context, new TagEntity()
                    {
                        type      = TagsBLL.Types.General,
                        tag_type  = TagsBLL.TagType.UserSearches,
                        isenabled = EnabledTypes.Enabled
                    });

                    if (count_tags == 0)
                    {
                        TagsBLL.Add(_context, term.Trim(), TagsBLL.Types.General, 0, TagsBLL.TagType.UserSearches, EnabledTypes.Enabled, term.Trim());
                    }
                }
            }

            /* List Initialization */
            var ListEntity = new VideoListViewModel()
            {
                QueryOptions = new VideoEntity()
                {
                    term = term
                },
                BreadItems = _meta.BreadItems
            };

            /**********************************************/
            // Page Meta Setup
            /**********************************************/
            ViewBag.title       = _meta.title;
            ViewBag.description = _meta.description;

            return(View(ListEntity));
        }
        // GET: videos/archive
        public async Task <IActionResult> archive(string month, int year, string order, int?pagenumber)
        {
            if (pagenumber == null)
            {
                pagenumber = 1;
            }

            /* ***************************************/
            // Process Page Meta & BreaCrumb
            /* ***************************************/
            var _meta = PageMeta.returnPageMeta(new PageQuery()
            {
                controller = ControllerContext.ActionDescriptor.ControllerName,
                index      = ControllerContext.ActionDescriptor.ActionName,
                pagenumber = (int)pagenumber,
                matchterm  = month,
                matchterm2 = year.ToString()
            });

            /* List Initialization */
            var ListEntity = new VideoListViewModel()
            {
                isListStatus = true,
                isListNav    = false,
                QueryOptions = new VideoEntity()
                {
                    type       = MediaType.Videos,
                    pagenumber = (int)pagenumber,
                    term       = "",
                    month      = UtilityBLL.ReturnMonth(month),
                    year       = year,
                    iscache    = false,
                    ispublic   = true,
                    pagesize   = Jugnoon.Settings.Configs.GeneralSettings.pagesize,
                    order      = "video.created_at desc"
                },
                ListObject = new ListItems()
                {
                    TitleLength = 30,
                    ColWidth    = "col-md-4",
                    ListType    = ListType.Grid,
                    showRating  = true,
                    showViews   = true,
                    showDate    = true
                },
                HeadingTitle      = _meta.title,
                DefaultUrl        = Config.GetUrl("videos/archive/" + month + "/" + year + "/"),
                PaginationUrl     = Config.GetUrl("videos/archive/" + month + "/" + year + "/[p]/"),
                NoRecordFoundText = SiteConfig.generalLocalizer["_no_records"].Value,
                BreadItems        = _meta.BreadItems
            };

            ListEntity.TotalRecords = await VideoBLL.Count(_context, ListEntity.QueryOptions);

            if (ListEntity.TotalRecords > 0)
            {
                ListEntity.DataList = await VideoBLL.LoadItems(_context, ListEntity.QueryOptions);
            }

            /**********************************************/
            // Page Meta Setup
            /**********************************************/
            ViewBag.title       = _meta.title;
            ViewBag.description = _meta.description;

            return(View(ListEntity));
        }
        // GET: videos/tag
        public async Task <IActionResult> label(string title, string order, string filter, int?pagenumber)
        {
            if (title == null)
            {
                return(Redirect(Config.GetUrl("videos/")));
            }
            if (pagenumber == null)
            {
                pagenumber = 1;
            }

            string _term        = UtilityBLL.ReplaceHyphinWithSpace(title);
            string categoryName = UtilityBLL.UppercaseFirst(_term);

            string _order          = "video.created_at desc";
            var    _dateFilter     = DateFilter.AllTime;
            var    _featuredFilter = FeaturedTypes.All;

            /* ***************************************/
            // Process Page Meta & BreaCrumb
            /* ***************************************/
            var pageOrder  = "recent";
            var pageFilter = "";

            if (order != null)
            {
                pageOrder = order;
            }
            if (filter != null)
            {
                pageFilter = filter;
            }
            var _meta = PageMeta.returnPageMeta(new PageQuery()
            {
                controller = ControllerContext.ActionDescriptor.ControllerName,
                index      = ControllerContext.ActionDescriptor.ActionName,
                order      = pageOrder,
                filter     = pageFilter,
                pagenumber = (int)pagenumber,
                matchterm  = categoryName
            });

            // pagination
            var DefaultUrl    = Config.GetUrl("videos/label/" + title);
            var PaginationUrl = Config.GetUrl("videos/label/" + title + "/[p]/");

            // order
            var selectedOrder  = SiteConfig.generalLocalizer["_recent"].Value;
            var selectedFilter = SiteConfig.generalLocalizer["_all_time"].Value;

            if (order != null)
            {
                DefaultUrl    = Config.GetUrl("videos/label/" + title + "/" + order.ToLower().Trim());
                PaginationUrl = Config.GetUrl("videos/label/" + title + "/" + order.ToLower().Trim() + "/[p]/");

                switch (order)
                {
                case "mostviewed":
                    selectedOrder = SiteConfig.generalLocalizer["_most_viewed"].Value;
                    _order        = "video.views desc, video.created_at desc";
                    break;

                case "toprated":
                    selectedOrder = SiteConfig.generalLocalizer["_top_rated"].Value;
                    _order        = "video.avg_rating desc, video.views desc";
                    break;

                case "featured":
                    selectedOrder   = SiteConfig.generalLocalizer["_featured"].Value;
                    _order          = "video.created_at desc";
                    _featuredFilter = FeaturedTypes.Featured;
                    break;
                }
            }
            if (filter != null)
            {
                // pagination setting
                if (filter == "today" || filter == "thisweek" || filter == "thismonth")
                {
                    if (order != null)
                    {
                        DefaultUrl    = Config.GetUrl("videos/label/filter/" + title + "/" + filter.ToLower().Trim() + "/" + order);
                        PaginationUrl = Config.GetUrl("videos/label/filter/" + title + "/" + filter.ToLower().Trim() + "/" + order + "/[p]/");
                    }
                    else
                    {
                        DefaultUrl    = Config.GetUrl("videos/label/filter/" + title + "/" + filter.ToLower().Trim());
                        PaginationUrl = Config.GetUrl("videos/label/filter/" + title + "/" + filter.ToLower().Trim() + "/[p]/");
                    }
                }

                switch (filter)
                {
                case "today":
                    selectedFilter = SiteConfig.generalLocalizer["_today"].Value;
                    _dateFilter    = DateFilter.Today;
                    break;

                case "thisweek":
                    selectedFilter = SiteConfig.generalLocalizer["_this_week"].Value;
                    _dateFilter    = DateFilter.ThisWeek;
                    break;

                case "thismonth":
                    selectedFilter = SiteConfig.generalLocalizer["_this_month"].Value;
                    _dateFilter    = DateFilter.ThisMonth;
                    break;
                }
            }

            /* List Initialization */
            var ListEntity = new VideoListViewModel()
            {
                isListStatus = true,
                isListNav    = true,
                Navigation   = prepareCategoryFilterLinks("/videos/label/", title, selectedOrder, selectedFilter),
                QueryOptions = new VideoEntity()
                {
                    type       = MediaType.Videos,
                    pagenumber = (int)pagenumber,
                    tags       = _term,
                    iscache    = false,
                    term       = "",
                    ispublic   = true,
                    isfeatured = _featuredFilter,
                    pagesize   = Jugnoon.Settings.Configs.GeneralSettings.pagesize,
                    datefilter = _dateFilter,
                    order      = _order,
                },
                ListObject = new ListItems()
                {
                    ColWidth    = "col-md-4",
                    TitleLength = 40,
                    ListType    = ListType.Grid,
                    showRating  = true,
                    showViews   = true,
                    showDate    = true
                },
                HeadingTitle      = _meta.title,
                DefaultUrl        = DefaultUrl,
                PaginationUrl     = PaginationUrl,
                NoRecordFoundText = SiteConfig.generalLocalizer["_no_records"].Value,
                BreadItems        = _meta.BreadItems
            };

            ListEntity.TotalRecords = await VideoBLL.Count(_context, ListEntity.QueryOptions);

            if (ListEntity.TotalRecords > 0)
            {
                ListEntity.DataList = await VideoBLL.LoadItems(_context, ListEntity.QueryOptions);
            }

            /**********************************************/
            // Page Meta Setup
            /**********************************************/
            ViewBag.title       = _meta.title;
            ViewBag.description = _meta.description;
            ViewBag.keywords    = _meta.keywords;
            ViewBag.imageurl    = _meta.imageurl;

            return(View(ListEntity));
        }
 public VideoListPage(VideoListViewModel videoListViewModel) : this()
 {
     _videoListViewModel = videoListViewModel;
     BindingContext      = _videoListViewModel;
 }