protected override void OnActionExecuting(ActionExecutingContext filterContext) { var chalkableAuthorization = ChalkableAuthorization; if (chalkableAuthorization != null) { Connector = new ChalkableConnector(chalkableAuthorization); ViewBag.ApiRoot = chalkableAuthorization.ApiRoot; } base.OnActionExecuting(filterContext); }
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); }
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)); }
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)); }
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>()); }