Beispiel #1
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var chalkableAuthorization = ChalkableAuthorization;

            if (chalkableAuthorization != null)
            {
                Connector       = new ChalkableConnector(chalkableAuthorization);
                ViewBag.ApiRoot = chalkableAuthorization.ApiRoot;
            }
            base.OnActionExecuting(filterContext);
        }
Beispiel #2
0
        public static IList <string> GetStandardCodes(string standardIds, ChalkableConnector chlkConnector)
        {
            if (string.IsNullOrEmpty(standardIds))
            {
                return(new List <string>());
            }

            Guid         parsed;
            IList <Guid> standardsGuids = new List <Guid>();

            foreach (var standardId in standardIds.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
            {
                if (Guid.TryParse(standardId, out parsed))
                {
                    standardsGuids.Add(parsed);
                }
            }

            if (standardsGuids.Count == 0)
            {
                return(new List <string>());
            }

            var codes = new List <string>();
            var standardsRelations = Task.Run(() => chlkConnector.Standards.GetListOfStandardRelations(standardsGuids)).Result;

            codes.AddRange(standardsRelations.Where(x => !string.IsNullOrEmpty(x.CurrentStandard.Code)).Select(x => x.CurrentStandard.Code));

            foreach (var standardsRelation in standardsRelations)
            {
                if (standardsRelation.Derivatives != null)
                {
                    codes.AddRange(standardsRelation.Derivatives.Where(x => !string.IsNullOrEmpty(x.Code)).Select(x => x.Code));
                }
                if (standardsRelation.Origins != null)
                {
                    codes.AddRange(standardsRelation.Origins.Where(x => !string.IsNullOrEmpty(x.Code)).Select(x => x.Code));
                }
                if (standardsRelation.RelatedDerivatives != null)
                {
                    codes.AddRange(standardsRelation.RelatedDerivatives.Where(x => !string.IsNullOrEmpty(x.Code)).Select(x => x.Code));
                }
            }

            return(codes.Take(20).ToList());
        }
        public ActionResult Edit(string query, int announcementApplicationId)
        {
            var model = new SearchModel();
            model.Query = query;
            if (string.IsNullOrEmpty(query) )
            {
                var chalkableConnector = new ChalkableConnector(OauthClient);
                var anap = chalkableConnector.GetAnnouncementApplicationById(announcementApplicationId);
                var ann = chalkableConnector.GetAnnouncemnetById(anap.data.announcementid);
                query = [email protected];
            }
            var connector = new YoutubeConnector();
            var videos = connector.Search(query);
            model.Videos = videos.Select(VideoModel.Create);
            model.AnnouncementApplicationId = announcementApplicationId;

            return View("Edit", model);
        }
Beispiel #4
0
        public ActionResult Edit(string query, int announcementApplicationId)
        {
            var model = new SearchModel();

            model.Query = query;
            if (string.IsNullOrEmpty(query))
            {
                var chalkableConnector = new ChalkableConnector(OauthClient);
                var anap = chalkableConnector.GetAnnouncementApplicationById(announcementApplicationId);
                var ann  = chalkableConnector.GetAnnouncemnetById(anap.data.announcementid);
                query = [email protected];
            }
            var connector = new YoutubeConnector();
            var videos    = connector.Search(query);

            model.Videos = videos.Select(VideoModel.Create);
            model.AnnouncementApplicationId = announcementApplicationId;

            return(View("Edit", model));
        }
Beispiel #5
0
        protected override PaginatedList <ApplicationContent> GetApplicationContents(IList <StandardInfo> standardInfos, int?start, int?count)
        {
            count = count ?? 5;
            start = start ?? 0;

            var ids              = standardInfos.Select(x => x.StandardId).JoinString(",");
            var chlkConnector    = new ChalkableConnector(ChalkableAuthorization);
            var youtubeConnector = new YoutubeConnector();

            var standards = YoutubeController.GetStandardCodes(ids, chlkConnector);
            var videos    = standards.SelectMany(x => youtubeConnector.Search(x, 5))
                            .Select(x => new ApplicationContent
            {
                ContentId   = x.Id,
                Description = x.ShortDescription,
                ImageUrl    = x.ThumbUrl,
                Text        = x.ShortTitle
            }).ToList();

            return(new PaginatedList <ApplicationContent>(videos.Take(count.Value), videos.Count));
        }
Beispiel #6
0
        protected async Task <IList <StandardRelations> > PrepareCommonCores(IEnumerable <StandardInfo> standardInfos)
        {
            var          connector      = new ChalkableConnector(ChalkableAuthorization);
            IList <Guid> standardsGuids = new List <Guid>();

            if (standardInfos != null)
            {
                foreach (var standardInfo in standardInfos)
                {
                    Guid parsedGuidTmp;
                    if (Guid.TryParse(standardInfo.StandardId, out parsedGuidTmp))
                    {
                        standardsGuids.Add(parsedGuidTmp);
                    }
                }
                if (standardsGuids.Count > 0)
                {
                    return(await connector.Standards.GetListOfStandardRelations(standardsGuids));
                }
            }
            return(new List <StandardRelations>());
        }