async Task <RolesIndexViewModel> GetPagedModel( RoleIndexOptions options, PagerOptions pager) { var roles = await GetRoles(options, pager); return(new RolesIndexViewModel( roles, options, pager)); }
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()); }
public FileSettingsViewModel( IPagedResults <Role> results, RoleIndexOptions options, PagerOptions pager) : base(results, options, pager) { }
// --------------- // 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))); }