/// <summary> /// Renders a category list for the site settings dialog. /// </summary> /// <param name="request">The request.</param> /// <returns> /// Rendered category list. /// </returns> public ActionResult Categories(SearchableGridOptions request) { request.SetDefaultPaging(); var model = GetCommand<GetCategoryListCommand>().ExecuteCommand(request); return View(model); }
/// <summary> /// Gets the media history. /// </summary> /// <param name="mediaId">The media id.</param> /// <param name="gridOptions">The grid options.</param> /// <returns>Media history items.</returns> public IList<Media> GetMediaHistory(Guid mediaId, SearchableGridOptions gridOptions) { var medias = repository .AsQueryable<Media>() .Where(media => !media.IsDeleted && (media.Id == mediaId || (media.Original != null && media.Original.Id == mediaId))); switch (gridOptions.Column) { case "PublishedOn": medias = gridOptions.Direction == SortDirection.Ascending ? medias.OrderBy(media => media.PublishedOn) : medias.OrderByDescending(media => media.PublishedOn); break; case "PublishedByUser": medias = gridOptions.Direction == SortDirection.Ascending ? medias.OrderBy(media => media.ModifiedByUser) : medias.OrderByDescending(media => media.ModifiedByUser); break; case "ArchivedOn": System.Linq.Expressions.Expression<Func<Media, DateTime?>> archivedOnExpression = m => m.Original != null ? m.ModifiedOn : (DateTime?)null; medias = gridOptions.Direction == SortDirection.Ascending ? medias.OrderBy(archivedOnExpression) : medias.OrderByDescending(archivedOnExpression); break; case "DisplayedFor": medias = medias.ToList().AsQueryable(); // Note: NHibernate does not support sorting on TimeSpan. System.Linq.Expressions.Expression<Func<Media, TimeSpan?>> displayedForExpression = m => m.Original != null ? m.ModifiedOn - m.PublishedOn : (TimeSpan?)null; medias = gridOptions.Direction == SortDirection.Ascending ? medias.OrderBy(displayedForExpression) : medias.OrderByDescending(displayedForExpression); break; case "StatusName": System.Linq.Expressions.Expression<Func<Media, string>> statusNameExpression = m => m.Original != null ? MediaGlobalization.MediaHistory_Status_Archived : MediaGlobalization.MediaHistory_Status_Active; medias = gridOptions.Direction == SortDirection.Ascending ? medias.OrderBy(statusNameExpression) : medias.OrderByDescending(statusNameExpression); break; default: medias = medias.OrderBy(media => media.Original).ThenByDescending(o => o.CreatedOn); break; } var searchQuery = (gridOptions.SearchQuery ?? string.Empty).ToLower(); medias = medias .ToList() .Where(media => ContainsSearchQuery(media, searchQuery)) .AsQueryable() .AddPaging(gridOptions); return medias.ToList(); }
public ActionResult RolesList(SearchableGridOptions request) { request.SetDefaultPaging(); var model = GetCommand<GetRolesCommand>().ExecuteCommand(request); return WireJson(model != null, model); }
/// <summary> /// User list for Site Settings. /// </summary> /// <param name="request">The request.</param> /// <returns>User list view.</returns> public ActionResult Index(SearchableGridOptions request) { request.SetDefaultPaging(); var model = GetCommand<GetUsersCommand>().ExecuteCommand(request); return View(model); }
/// <summary> /// Lists the template. /// </summary> /// <returns>Json result.</returns> public ActionResult ListTemplate() { var view = RenderView("Partial/ListTemplate", null); var request = new SearchableGridOptions(); request.SetDefaultPaging(); var authors = GetCommand<GetAuthorListCommand>().ExecuteCommand(request); return ComboWireJson(authors != null, view, authors, JsonRequestBehavior.AllowGet); }
public ActionResult ListTemplate() { var view = RenderView("List", null); var request = new SearchableGridOptions(); request.SetDefaultPaging(); var subscribers = GetCommand<GetSubscriberListCommand>().ExecuteCommand(request); return ComboWireJson(subscribers != null, view, subscribers, JsonRequestBehavior.AllowGet); }
public ActionResult WidgetUsages(string widgetId, SearchableGridOptions options) { options.SetDefaultPaging(); var request = new GetWidgetUsagesCommandRequest { Options = options, WidgetId = widgetId.ToGuidOrDefault() }; var model = GetCommand<GetWidgetUsagesCommand>().ExecuteCommand(request); var view = RenderView("Partial/WidgetUsagesTemplate", null); return ComboWireJson(model != null, view, model, JsonRequestBehavior.AllowGet); }
/// <summary> /// Renders a tag list for the site settings dialog. /// </summary> /// <param name="request">The request.</param> /// <returns> /// Rendered tag list. /// </returns> public ActionResult ListTags(SearchableGridOptions request) { var model = GetCommand<GetTagListCommand>().ExecuteCommand(request); return View(model); }
public ActionResult Widgets(SearchableGridOptions request) { var model = GetCommand<GetSiteSettingsWidgetsCommand>().ExecuteCommand(request); // TODO: add servercontrolwidgetvalidation command and check if server controls exists in the server. /*if (model.ValidationMessages != null && model.ValidationMessages.Count > 0) { Messages.AddWarn(model.ValidationMessages.ToArray()); } */ return View(model); }
/// <summary> /// Renders a templates list for the site settings dialog. /// </summary> /// <returns>Rendered templates list.</returns> public ActionResult Templates(SearchableGridOptions request) { request.SetDefaultPaging(); var model = GetCommand<GetSiteSettingsTemplatesCommand>().ExecuteCommand(request); return View(model); }
/// <summary> /// Lists the authors. /// </summary> /// <param name="request">The request.</param> /// <returns>Json result.</returns> public ActionResult AuthorsList(SearchableGridOptions request) { var model = GetCommand<GetAuthorListCommand>().ExecuteCommand(request); return WireJson(model != null, model); }
public void Should_Find_Page_And_Return_ViewModel_Successfully() { // DEBUG START var request = new SearchableGridOptions { SearchQuery = "a", PageNumber = 2, PageSize = 3, Column = "PageUrl", Direction = SortDirection.Descending }; var sessionFactory = this.Container.Resolve<ISessionFactoryProvider>(); // DEBUG END SearchableGridViewModel<SiteSettingRedirectViewModel> model; using (var session = sessionFactory.OpenSession()) { BetterCms.Module.Pages.Models.Redirect alias = null; SiteSettingRedirectViewModel modelAlias = null; IQueryOver<BetterCms.Module.Pages.Models.Redirect, BetterCms.Module.Pages.Models.Redirect> query = session.QueryOver(() => alias); // Filter if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { var searchQuery = string.Format("%{0}%", request.SearchQuery); query = query .Where( Restrictions.InsensitiveLike(Projections.Property(() => alias.PageUrl), searchQuery) || Restrictions.InsensitiveLike(Projections.Property(() => alias.RedirectUrl), searchQuery)); } // Select fields query = query .SelectList(select => select .Select(() => alias.Id).WithAlias(() => modelAlias.Id) .Select(() => alias.PageUrl).WithAlias(() => modelAlias.PageUrl) .Select(() => alias.RedirectUrl).WithAlias(() => modelAlias.RedirectUrl) .Select(() => alias.Version).WithAlias(() => modelAlias.Version)) .TransformUsing(Transformers.AliasToBean<SiteSettingRedirectViewModel>()); // Count var count = query.RowCount(); // Sorting and paging query.AddSortingAndPaging(request); // Get results var redirects = query.List<SiteSettingRedirectViewModel>(); model = new SearchableGridViewModel<SiteSettingRedirectViewModel> { GridOptions = request, Items = new CustomPagination<SiteSettingRedirectViewModel>(redirects, request.PageNumber, request.PageSize, count) }; } // DEBUG START Assert.IsNotNull(model); // DEBUG END }
public ActionResult Index(SearchableGridOptions request) { var model = GetCommand<GetBlogPostListCommand>().ExecuteCommand(request ?? new SearchableGridOptions()); return View(model); }
/// <summary> /// Roles list for Site Settings. /// </summary> /// <param name="request">The request.</param> /// <returns>Role list view.</returns> public ActionResult RolesListView(SearchableGridOptions request) { var roleList = GetCommand<GetRolesCommand>().ExecuteCommand(request); var model = new SiteSettingRoleListViewModel(roleList, new SearchableGridOptions(), roleList.Count); return View(model); }
/// <summary> /// User list for Site Settings. /// </summary> /// <param name="request">The request.</param> /// <returns>User list view.</returns> public ActionResult Index(SearchableGridOptions request) { var users = GetCommand<GetUsersCommand>().ExecuteCommand(request); var model = new SearchableGridViewModel<UserItemViewModel>(users, new SearchableGridOptions(), users.Count); return View(model); }