Exemplo n.º 1
0
        public override IDisplayResult Display(ListPart listPart, BuildPartDisplayContext context)
        {
            return
                (Combine(
                     Initialize <ListPartViewModel>(GetDisplayShapeType(context), async model =>
            {
                var pager = await GetPagerSlimAsync(context);
                var settings = context.TypePartDefinition.GetSettings <ListPartSettings>();
                var containedItemOptions = new ContainedItemOptions();
                model.ContentItems = (await _containerService.QueryContainedItemsAsync(
                                          listPart.ContentItem.ContentItemId,
                                          settings.EnableOrdering,
                                          pager,
                                          containedItemOptions)).ToArray();

                model.ContainedContentTypeDefinitions = GetContainedContentTypes(context);
                model.Context = context;
                model.Pager = await context.New.PagerSlim(pager);
            })
                     .Location("Detail", "Content:10"),
                     Initialize <ListPartViewModel>("ListPartDetailAdmin", async model =>
            {
                var pager = await GetPagerSlimAsync(context);
                var settings = context.TypePartDefinition.GetSettings <ListPartSettings>();
                var listPartFilterViewModel = new ListPartFilterViewModel();
                var containedItemOptions = new ContainedItemOptions();

                await _updateModelAccessor.ModelUpdater.TryUpdateModelAsync(listPartFilterViewModel, Prefix);
                model.ListPart = listPart;
                containedItemOptions.DisplayText = listPartFilterViewModel.DisplayText;
                containedItemOptions.Status = listPartFilterViewModel.Status;
                model.ListPartFilterViewModel = listPartFilterViewModel;

                model.ContentItems = (await _containerService.QueryContainedItemsAsync(
                                          listPart.ContentItem.ContentItemId,
                                          settings.EnableOrdering,
                                          pager,
                                          containedItemOptions)).ToArray();

                model.ContainedContentTypeDefinitions = GetContainedContentTypes(context);
                model.Context = context;
                model.EnableOrdering = settings.EnableOrdering;
                model.Pager = await context.New.PagerSlim(pager);
            })
                     .Location("DetailAdmin", "Content:10"),
                     Initialize <ContentItemViewModel>("ListPartSummaryAdmin", model => model.ContentItem = listPart.ContentItem)
                     .Location("SummaryAdmin", "Actions:4")
                     ));
        }
 public override IDisplayResult Display(ListPart part, BuildPartDisplayContext context)
 {
     return(Combine(
                Initialize <ListPartViewModel>(GetDisplayShapeType(context), async model =>
     {
         await BuildViewModel(context, part, model, new ContainedItemOptions());
     })
                .Location("Detail", "Content:10"),
                Initialize <ListPartViewModel>("ListPart", async model =>
     {
         var listPartFilterViewModel = new ListPartFilterViewModel();
         var containedItemOptions = new ContainedItemOptions();
         await _updateModelAccessor.ModelUpdater.TryUpdateModelAsync(listPartFilterViewModel, Prefix);
         containedItemOptions.DisplayText = listPartFilterViewModel.DisplayText;
         containedItemOptions.Status = listPartFilterViewModel.Status;
         model.ListPartFilterViewModel = listPartFilterViewModel;
         await BuildViewModel(context, part, model, containedItemOptions);
     })
                .Location("DetailAdmin", "Content:10")
                ));
 }