public ActionResult Index(int taxonomyId, PagerParameters pagerParameters) { var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters); var taxonomy = _taxonomyService.GetTaxonomy(taxonomyId); var allTerms = _taxonomyService.GetTermsQuery(taxonomyId).OrderBy(x => x.FullWeight); var totalItemCount = allTerms.Count(); var termsPage = pager.PageSize > 0 ? allTerms.Slice(pager.GetStartIndex(), pager.PageSize) : allTerms.Slice(0, 0); var pagerShape = Shape.Pager(pager).TotalItemCount(totalItemCount); var entries = termsPage .Select(term => term.CreateTermEntry()) .ToList(); var model = new TermAdminIndexViewModel { Terms = entries, Taxonomy = taxonomy, TaxonomyId = taxonomyId, Pager = pagerShape }; return(View(model)); }
public ActionResult Index(int taxonomyId, PagerParameters pagerParameters) { var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters); var taxonomy = _taxonomyService.GetTaxonomy(taxonomyId); var allTerms = TermPart.Sort(_taxonomyService.GetTermsQuery(taxonomyId).List()); var termsPage = pager.PageSize > 0 ? allTerms.Skip(pager.GetStartIndex()).Take(pager.PageSize) : allTerms; var pagerShape = Shape.Pager(pager).TotalItemCount(allTerms.Count()); var entries = termsPage .Select(term => term.CreateTermEntry()) .ToList(); var model = new TermAdminIndexViewModel { Terms = entries, Taxonomy = taxonomy, TaxonomyId = taxonomyId, Pager = pagerShape }; return View(model); }
public ActionResult Index(int taxonomyId) { var taxonomy = _taxonomyService.GetTaxonomy(taxonomyId); var terms = _taxonomyService.GetTerms(taxonomyId); var entries = terms.Select(term => term.CreateTermEntry()).ToList(); var model = new TermAdminIndexViewModel { Terms = entries, Taxonomy = taxonomy, TaxonomyId = taxonomyId }; return(View(model)); }
public ActionResult Index(FormCollection input) { var viewModel = new TermAdminIndexViewModel { Terms = new List<TermEntry>(), BulkAction = new TermsAdminIndexBulkAction() }; if (!TryUpdateModel(viewModel)) { return View(viewModel); } var checkedEntries = viewModel.Terms.Where(t => t.IsChecked).ToList(); switch (viewModel.BulkAction) { case TermsAdminIndexBulkAction.None: Services.Notifier.Information(T("No action selected.")); break; case TermsAdminIndexBulkAction.Delete: if (!Services.Authorizer.Authorize(Permissions.DeleteTerm, T("Couldn't delete term"))) return new HttpUnauthorizedResult(); if(!checkedEntries.Any()) { Services.Notifier.Information(T("No terms selected.")); break; } foreach (var entry in checkedEntries) { var term = _taxonomyService.GetTerm(entry.Id); _taxonomyService.DeleteTerm(term); } Services.Notifier.Information(T.Plural("{0} term has been removed.", "{0} terms have been removed.", checkedEntries.Count)); break; case TermsAdminIndexBulkAction.Merge: if (!Services.Authorizer.Authorize(Permissions.ManageTerms, T("Couldn't merge term"))) return new HttpUnauthorizedResult(); return RedirectToAction("Merge", new { taxonomyId = viewModel.TaxonomyId, termIds = string.Join(",", checkedEntries.Select(o => o.Id)) }); case TermsAdminIndexBulkAction.Move: if (!Services.Authorizer.Authorize(Permissions.EditTerm, T("Couldn't move terms"))) return new HttpUnauthorizedResult(); return RedirectToAction("MoveTerm", new { taxonomyId = viewModel.TaxonomyId, termIds = string.Join(",", checkedEntries.Select(o => o.Id)) }); default: throw new ArgumentOutOfRangeException(); } return RedirectToAction("Index", new { taxonomyId = viewModel.TaxonomyId }); }
public ActionResult Index(FormCollection input) { var viewModel = new TermAdminIndexViewModel { Terms = new List <TermEntry>(), BulkAction = new TermsAdminIndexBulkAction() }; if (!TryUpdateModel(viewModel)) { return(View(viewModel)); } IEnumerable <TermEntry> checkedEntries = viewModel.Terms.Where(t => t.IsChecked); switch (viewModel.BulkAction) { case TermsAdminIndexBulkAction.None: break; case TermsAdminIndexBulkAction.Delete: if (!Services.Authorizer.Authorize(Permissions.ManageTerms, T("Couldn't delete term"))) { return(new HttpUnauthorizedResult()); } foreach (var entry in checkedEntries) { var term = _taxonomyService.GetTerm(entry.Id); _taxonomyService.DeleteTerm(term); } break; default: throw new ArgumentOutOfRangeException(); } Services.Notifier.Information(T("{0} term have been removed.", checkedEntries.Count())); return(RedirectToAction("Index", new { taxonomyId = viewModel.TaxonomyId })); }