/// <summary> /// Want to add a new review? Fill an instance of ReviewModel, and put it here /// </summary> /// <param name="Review">New review to add to Sitecore</param> /// <returns>Sitecore Item that was added</returns> /// public Item Add(ReviewModel Review) { try { using (new SecurityDisabler()) { Item newReview; AssistiveToolsSearchResultsPageItem searchPage = MainsectionItem.GetHomePageItem().GetToolsPage().GetAssistiveToolsLandingPage().GetSearchPage(); newReview = GetReviewIfAlreadyExists(Review.CommonSenseMediaID, searchPage); if (newReview == null) { TemplateItem reviewTemplate = Sitecore.Configuration.Factory.GetDatabase("master").GetTemplate(AssistiveToolsReviewPageItem.TemplateId); newReview = Get(searchPage.ID.ToString()).Add(Review.Title, reviewTemplate); } newReview.Editing.BeginEdit(); newReview = Map(newReview, Review); newReview.Editing.EndEdit(); // publish CommonSenseImportHelper.PublishItem(newReview, Sitecore.Configuration.Factory.GetDatabase("master")); CommonSenseImportHelper.PublishItem(newReview, Sitecore.Configuration.Factory.GetDatabase("web")); return(newReview); } } catch (Exception e) { return(null); } }
/// <summary> /// Maps the ReviewModel to a Sitecore Item /// </summary> /// <param name="mappedReview">Destination Sitecore Item to map</param> /// <param name="Review">Values to map</param> /// <returns>Updated Sitecore item</returns> private Item Map(Item mappedReview, ReviewModel Review) { try { // Single-line text if (mappedReview["title"] != null && !string.IsNullOrEmpty(Review.Title)) { mappedReview["title"] = Review.Title.Trim(); } if (mappedReview["summary"] != null && Review.Summary != null) { mappedReview["summary"] = Review.Summary.Trim(); } if (mappedReview["description"] != null && Review.Description != null) { mappedReview["description"] = Review.Description.Trim(); } if (mappedReview["what parents need to know"] != null && Review.ParentsNeedToKnow != null) { mappedReview["what parents need to know"] = Review.ParentsNeedToKnow.Trim(); } if (mappedReview["what kids can learn"] != null && Review.WhatKidsCanLearn != null) { mappedReview["what kids can learn"] = Review.WhatKidsCanLearn.Trim(); } if (mappedReview["any good"] != null && !string.IsNullOrEmpty(Review.AnyGood)) { mappedReview["any good"] = Review.AnyGood.Trim(); } if (mappedReview["target grade"] != null && !string.IsNullOrEmpty(Review.TargetGrade)) { mappedReview["target grade"] = Review.TargetGrade.Trim(); } if (mappedReview["on grade"] != null && !string.IsNullOrEmpty(Review.OnGrade)) { mappedReview["on grade"] = Review.OnGrade.Trim(); } if (mappedReview["off grade"] != null && !string.IsNullOrEmpty(Review.OffGrade)) { mappedReview["off grade"] = Review.OffGrade.Trim(); } if (mappedReview["apple app store id"] != null && !string.IsNullOrEmpty(Review.AppleAppStoreID)) { mappedReview["apple app store id"] = Review.AppleAppStoreID.Trim(); } if (mappedReview["google play store id"] != null && !string.IsNullOrEmpty(Review.GooglePlayStoreID)) { mappedReview["google play store id"] = Review.GooglePlayStoreID.Trim(); } if (mappedReview["csm id"] != null && !string.IsNullOrEmpty(Review.CommonSenseMediaID)) { mappedReview["csm id"] = Review.CommonSenseMediaID.Trim(); } if (mappedReview["external link"] != null && !string.IsNullOrEmpty(Review.ExternalLink)) { mappedReview["external link"] = "<link text=\"\" linktype=\"external\" url=\"" + Review.ExternalLink + "\" target=\"\" />"; } if (mappedReview["price"] != null && !string.IsNullOrEmpty(Review.Price)) { mappedReview["price"] = Review.Price.Trim(); } if (mappedReview["how parents can help"] != null && Review.HowParentsCanHelp != null) { mappedReview["how parents can help"] = Review.HowParentsCanHelp.Trim(); } if (mappedReview["learning"] != null && Review.LearningRank != null) { mappedReview["learning"] = Review.LearningRank.Trim(); } if (mappedReview["publish date"] != null && Review.Published != null) { mappedReview["publish date"] = Review.Published.Trim(); } if (mappedReview["quality"] != null && Review.QualityRank != null) { mappedReview["quality"] = Review.QualityRank.Trim(); } if (mappedReview["screenshots"] != null && Review.Screenshots != null) { mappedReview["screenshots"] = CommonSenseImportHelper.addMedia(Review.Screenshots).Trim(); } if (mappedReview["platforms"] != null && Review.Platforms != null) { mappedReview["platforms"] = CommonSenseImportHelper.MatchCSV(Review.Platforms, "{042EBC5C-CCA0-4758-823D-A07213A72434}").Trim(); } if (mappedReview["skills"] != null && Review.Skills != null) { mappedReview["skills"] = CommonSenseImportHelper.MatchCSV(Review.Skills, MainsectionItem.GetGlobals().GetSkillsFolder().ID.ToString()).Trim(); } if (mappedReview["subjects"] != null && Review.Subjects != null) { mappedReview["subjects"] = CommonSenseImportHelper.MatchCSV(Review.Subjects, "{11AAE042-9BFA-43C4-A971-0AF140108921}").Trim(); } if (mappedReview["issues"] != null && Review.Issues != null) { mappedReview["issues"] = CommonSenseImportHelper.MatchCSVIssues(Review.Issues, "{5CDC7D81-19CA-4CF6-8C58-A4D013823A05}").Trim(); } if (mappedReview["genre"] != null && Review.Genres != null) { mappedReview["genre"] = CommonSenseImportHelper.MatchCSV(Review.Genres, "{97908446-B312-4183-915E-2E43BA5A7693}").Trim(); } if (mappedReview["thumbnail image"] != null && Review.Thumbnail != null) { MediaItem temp = CommonSenseImportHelper.addMedia(Review.Thumbnail); if (temp != null) { mappedReview["thumbnail image"] = "<image mediaid=\"" + temp.ID.ToString() + "\" mediapath=\"" + temp.MediaPath + "\" src=\"" + temp.FilePath + "\" />"; } } if (mappedReview["type"] != null && Review.Type != null) { mappedReview["type"] = CommonSenseImportHelper.MatchCSV(Review.Type, "{88226E2B-BAFE-44E9-8EEE-95525458EA14}").Trim(); } if (mappedReview["category"] != null && Review.Category != null) { mappedReview["category"] = CommonSenseImportHelper.GetCategory(Review.Category).Trim(); } } catch (Exception e) { return(mappedReview); } //// Links //mappedReview["telligent id"] = Review.TelligentID; //// Numbers //mappedReview["quality"] = Review.QualityRank; return(mappedReview); }