コード例 #1
0
ファイル: AdminViewProvider.cs プロジェクト: vdandrade/Plato
        async Task <RolesIndexViewModel> GetPagedModel(
            RoleIndexOptions options,
            PagerOptions pager)
        {
            var roles = await GetRoles(options, pager);

            return(new RolesIndexViewModel(
                       roles,
                       options,
                       pager));
        }
コード例 #2
0
ファイル: AdminViewProvider.cs プロジェクト: vdandrade/Plato
 async Task <IPagedResults <Role> > GetRoles(
     RoleIndexOptions options,
     PagerOptions pager)
 {
     return(await _platoRoleStore.QueryAsync()
            .Take(pager.Page, pager.Size)
            .Select <RoleQueryParams>(q =>
     {
         if (options.RoleId > 0)
         {
             q.Id.Equals(options.RoleId);
         }
         if (!string.IsNullOrEmpty(options.Search))
         {
             q.Keywords.Like(options.Search);
         }
     })
            .OrderBy("ModifiedDate", OrderBy.Desc)
            .ToList());
 }
コード例 #3
0
ファイル: FileSettingsViewModel.cs プロジェクト: radtek/Plato
 public FileSettingsViewModel(
     IPagedResults <Role> results,
     RoleIndexOptions options,
     PagerOptions pager) : base(results, options, pager)
 {
 }
コード例 #4
0
ファイル: AdminController.cs プロジェクト: mrs2020/Plato
        // ---------------
        // Settings
        // ---------------

        public async Task <IActionResult> Settings(RoleIndexOptions opts, PagerOptions pager)
        {
            // Ensure we have permission
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageAttachmentSettings))
            {
                return(Unauthorized());
            }

            _breadCrumbManager.Configure(builder =>
            {
                builder.Add(S["Home"], home => home
                            .Action("Index", "Admin", "Plato.Admin")
                            .LocalNav()
                            ).Add(S["Attachments"], manage => manage
                                  .Action("Index", "Admin", "Plato.Attachments")
                                  .LocalNav()
                                  ).Add(S["Settings"]);
            });

            // default options
            if (opts == null)
            {
                opts = new RoleIndexOptions();
            }

            // default pager
            if (pager == null)
            {
                pager = new PagerOptions();
            }

            // Get default options
            var defaultViewOptions  = new RoleIndexOptions();
            var defaultPagerOptions = new PagerOptions();

            // Add non default route data for pagination purposes
            if (opts.Search != defaultViewOptions.Search)
            {
                this.RouteData.Values.Add("opts.search", opts.Search);
            }
            if (opts.Sort != defaultViewOptions.Sort)
            {
                this.RouteData.Values.Add("opts.sort", opts.Sort);
            }
            if (opts.Order != defaultViewOptions.Order)
            {
                this.RouteData.Values.Add("opts.order", opts.Order);
            }
            if (pager.Page != defaultPagerOptions.Page)
            {
                this.RouteData.Values.Add("pager.page", pager.Page);
            }
            if (pager.Size != defaultPagerOptions.Size)
            {
                this.RouteData.Values.Add("pager.size", pager.Size);
            }

            // Build view model
            var viewModel = new AttachmentSettingsViewModel()
            {
                Options = opts,
                Pager   = pager
            };

            // Add view model to context
            this.HttpContext.Items[typeof(AttachmentSettingsViewModel)] = viewModel;

            // Return view
            return(View((LayoutViewModel)await _settingsViewProvider.ProvideIndexAsync(new AttachmentSetting(), this)));
        }