public async Task <IActionResult> Index(ContentOptions options, PagerParameters pagerParameters) { if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManagePlacements)) { return(Forbid()); } var siteSettings = await _siteService.GetSiteSettingsAsync(); var pager = new Pager(pagerParameters, siteSettings.PageSize); var shapeTypes = await _placementsManager.ListShapePlacementsAsync(); var shapeList = shapeTypes.Select(entry => new ShapePlacementViewModel { ShapeType = entry.Key }).ToList(); if (!string.IsNullOrWhiteSpace(options.Search)) { shapeList = shapeList.Where(x => x.ShapeType.Contains(options.Search, StringComparison.OrdinalIgnoreCase)).ToList(); } var count = shapeList.Count(); shapeList = shapeList.OrderBy(x => x.ShapeType) .Skip(pager.GetStartIndex()) .Take(pager.PageSize).ToList(); var pagerShape = (await New.Pager(pager)).TotalItemCount(count); var model = new ListShapePlacementsViewModel { ShapePlacements = shapeList, Pager = pagerShape, Options = options, }; model.Options.ContentsBulkAction = new List <SelectListItem>() { new SelectListItem() { Text = S["Delete"], Value = nameof(ContentsBulkAction.Remove) } }; return(View("Index", model)); }
public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result) { var placementsStep = step as PlacementsDeploymentStep; if (placementsStep == null) { return; } var placementObjects = new JObject(); var placements = await _placementsManager.ListShapePlacementsAsync(); foreach (var placement in placements) { placementObjects[placement.Key] = JArray.FromObject(placement.Value); } result.Steps.Add(new JObject( new JProperty("name", "Placements"), new JProperty("Placements", placementObjects) )); }