public ActionResult Index(string SuccessMessage = "", string WarningMessage = "", string ErrorMessage = "") { MultiMoveViewModel model = PrepareIndexViewModel(); model.SuccessMessage = SuccessMessage; model.WarningMessage = WarningMessage; model.ErrorMessage = ErrorMessage; return(View("~/App_Plugins/EditorTools/Views/MultiMove/Index.cshtml", model)); }
private static MultiMoveViewModel PrepareIndexViewModel() { var model = new MultiMoveViewModel(); // Create a dictionary to store the results and their value var ContentResultsDictionary = new Dictionary <SearchResult, int>(); // instantiate the examine searcher and its criteria type. var ContentSearcher = Examine.ExamineManager.Instance.SearchProviderCollection["InternalSearcher"]; var ContentCriteria = ContentSearcher.CreateSearchCriteria(IndexTypes.Content); // Start with a query for the whole phrase var ContentPhraseExamineQuery = ContentCriteria.RawQuery(string.Format("__IndexType:content")); var ContentResults = ContentSearcher.Search(ContentPhraseExamineQuery); var ContentLevel = new Dictionary <int, int>(); foreach (var content in ContentResults) { var path = content.Fields["__Path"].Split(','); var contentModel = new MultiMoveContentModel(int.Parse(content.Fields["__NodeId"]), content.Fields["nodeName"], int.Parse(content.Fields["parentID"]), path.Count() - 1); string description; try { description = content.Fields["pageDescription"]; } catch (Exception) { description = "No Description."; } contentModel.Description = description; model.Content.Add(contentModel); ContentLevel.Add(int.Parse(content.Fields["__NodeId"]), path.Count() - 1); } foreach (var item in ContentLevel) { var content = model.Content.SingleOrDefault(x => x.ID == item.Key); if (content != null) { var parent = model.Content.SingleOrDefault(x => x.ID == content.ParentID); if (parent != null) { parent.Children.Add(content.ID); } } } model.ContentLevel = ContentLevel.OrderBy(x => x.Value).ToDictionary(x => x.Key, x => x.Value); return(model); }
public ActionResult ConfirmMoveSelected(string[] MoveContent) { MultiMoveViewModel model = PrepareIndexViewModel(); var ViewModel = new MultiMoveConfirmSelectedViewModel(); var FilterSelected = MoveContent.Where(x => x.ToLower().Split(',')[0] != "false"); foreach (var item in FilterSelected) { ViewModel.Selected.Add(int.Parse(item.Split(',')[0]), item.Split(',')[1]); } ViewModel.Content = model.Content; if (ViewModel.Selected.Count == 0) { return(Index("", "You did not select any pages.")); } else { return(View("~/App_Plugins/EditorTools/Views/MultiMove/ConfirmSelected.cshtml", ViewModel)); } }