/// <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)); }
/// <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)); }
public SearchableGridViewModel <CategoryViewModel> Execute(SearchableGridOptions request) { request.SetDefaultSortingOptions("Name"); var query = Repository .AsQueryable <Models.FaqCategory>() .Select(category => new CategoryViewModel { Id = category.Id, Version = category.Version, Name = category.Name, Name_en = category.Name_en, SortOrder = category.SortOrder }); //search if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { query = query.Where(category => category.Name.Contains(request.SearchQuery) || category.Name_en.Contains(request.SearchQuery)); } //total count var count = query.ToRowCountFutureValue(); //sorting, paging query = query.AddSortingAndPaging(request); return(new SearchableGridViewModel <CategoryViewModel>(query.ToList(), request, count.Value)); }
/// <summary> /// Executes the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>List with blog post view models</returns> public SearchableGridViewModel <AuthorViewModel> Execute(SearchableGridOptions request) { var query = Repository.AsQueryable <Author>(); var authors = query.Select( author => new AuthorViewModel { Id = author.Id, Version = author.Version, Name = author.Name, Image = author.Image != null ? new ImageSelectorViewModel { ImageId = author.Image.Id, ImageVersion = author.Image.Version, ImageUrl = author.Image.PublicUrl, ThumbnailUrl = author.Image.PublicThumbnailUrl, ImageTooltip = author.Image.Caption } : null }); if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { authors = authors.Where(a => a.Name.Contains(request.SearchQuery)); } request.SetDefaultSortingOptions("Name"); var count = authors.ToRowCountFutureValue(); authors = authors.AddSortingAndPaging(request); return(new SearchableGridViewModel <AuthorViewModel>(authors.ToList(), request, count.Value)); }
/// <summary> /// Lists the authors. /// </summary> /// <param name="request">The request.</param> /// <returns>Json result.</returns> public ActionResult AuthorsList(SearchableGridOptions request) { request.SetDefaultPaging(); var model = GetCommand <GetAuthorListCommand>().ExecuteCommand(request); return(WireJson(model != null, 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> /// Executes the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>List with languages view models</returns> public SearchableGridViewModel <LanguageViewModel> Execute(SearchableGridOptions request) { SearchableGridViewModel <LanguageViewModel> model; request.SetDefaultSortingOptions("Name"); var query = Repository .AsQueryable <Models.Language>(); if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { query = query.Where(language => language.Name.Contains(request.SearchQuery) || language.Code.Contains(request.SearchQuery)); } var languagesFuture = query .Select(language => new LanguageViewModel { Id = language.Id, Version = language.Version, Name = language.Name, Code = language.Code }); var count = query.ToRowCountFutureValue(); languagesFuture = languagesFuture.AddSortingAndPaging(request); var languages = languagesFuture.ToList(); SetLanguageCodes(languages); model = new SearchableGridViewModel <LanguageViewModel>(languages, request, count.Value); return(model); }
/// <summary> /// Renders a redirects list for the site settings dialog. /// </summary> /// <param name="request">The request.</param> /// <returns> /// Rendered redirects list. /// </returns> public ActionResult Redirects(SearchableGridOptions request) { request.SetDefaultPaging(); var model = GetCommand <GetRedirectsListCommand>().ExecuteCommand(request); return(View(model)); }
/// <summary> /// Executes the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>List with blog post view models</returns> public SearchableGridViewModel <SubscriberViewModel> Execute(SearchableGridOptions request) { SearchableGridViewModel <SubscriberViewModel> model; request.SetDefaultSortingOptions("Email"); var query = Repository .AsQueryable <Subscriber>(); if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { query = query.Where(a => a.Email.Contains(request.SearchQuery)); } var subscribers = query .Select(subscriber => new SubscriberViewModel { Id = subscriber.Id, Version = subscriber.Version, Email = subscriber.Email }); var count = query.ToRowCountFutureValue(); subscribers = subscribers.AddSortingAndPaging(request); model = new SearchableGridViewModel <SubscriberViewModel>(subscribers.ToList(), request, count.Value); return(model); }
public SearchableGridViewModel <UserItemViewModel> Execute(SearchableGridOptions request) { request.SetDefaultSortingOptions("UserName"); var query = Repository .AsQueryable <Models.User>() .Select(user => new UserItemViewModel { Id = user.Id, Version = user.Version, UserName = user.UserName, FullName = (user.FirstName ?? string.Empty) + (user.FirstName != null && user.LastName != null ? " " : string.Empty) + (user.LastName ?? string.Empty), Email = user.Email }); // Search if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { query = query.Where(user => user.UserName.Contains(request.SearchQuery) || user.Email.Contains(request.SearchQuery) || user.FullName.Contains(request.SearchQuery)); } // Total count var count = query.ToRowCountFutureValue(); // Sorting, Paging query = query.AddSortingAndPaging(request); return(new SearchableGridViewModel <UserItemViewModel>(query.ToFuture().ToList(), request, count.Value)); }
public SearchableGridViewModel <RoleViewModel> Execute(SearchableGridOptions request) { var roles = Repository .AsQueryable <Models.Role>() .Select(role => new RoleViewModel { Id = role.Id, Version = role.Version, Name = role.Name, Description = role.Description, IsSystematic = role.IsSystematic }); if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { roles = roles .Where(a => a.Name.Contains(request.SearchQuery.ToLower().ToLowerInvariant()) || a.Description != null && a.Description.ToLower().Contains(request.SearchQuery.ToLowerInvariant())); } request.SetDefaultSortingOptions("Name"); var count = roles.ToRowCountFutureValue(); roles = roles.AddSortingAndPaging(request); return(new SearchableGridViewModel <RoleViewModel>(roles.ToFuture().ToList(), request, count.Value)); }
/// <summary> /// Executes this command. /// </summary> /// <param name="request">A filter to search for specific tags.</param> /// <returns>A list of tags.</returns> public SearchableGridViewModel <TagItemViewModel> Execute(SearchableGridOptions request) { SearchableGridViewModel <TagItemViewModel> model; request.SetDefaultSortingOptions("Name"); Root.Models.Tag alias = null; TagItemViewModel modelAlias = null; var query = UnitOfWork.Session .QueryOver(() => alias) .Where(() => !alias.IsDeleted); if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { var searchQuery = string.Format("%{0}%", request.SearchQuery); query = query.Where(Restrictions.InsensitiveLike(NHibernate.Criterion.Projections.Property(() => alias.Name), searchQuery)); } query = query .SelectList(select => select .Select(() => alias.Id).WithAlias(() => modelAlias.Id) .Select(() => alias.Name).WithAlias(() => modelAlias.Name) .Select(() => alias.Version).WithAlias(() => modelAlias.Version)) .TransformUsing(Transformers.AliasToBean <TagItemViewModel>()); var count = query.ToRowCountFutureValue(); var tags = query.AddSortingAndPaging(request).Future <TagItemViewModel>(); model = new SearchableGridViewModel <TagItemViewModel>(tags.ToList(), request, count.Value); return(model); }
/// <summary> /// Initializes a new instance of the <see cref="SearchableGridViewModel{TModel}" /> class. /// </summary> /// <param name="items">The models.</param> /// <param name="options">The options.</param> /// <param name="totalCount">The total count.</param> public SearchableGridViewModel(IEnumerable <TModel> items, SearchableGridOptions options, int totalCount) { options.TotalCount = totalCount; Items = new CustomPagination <TModel>(items, options.PageNumber, options.PageSize, totalCount); SearchQuery = options.SearchQuery; GridOptions = options; }
public SearchableGridViewModel <FaqViewModel> Execute(SearchableGridOptions request) { request.SetDefaultSortingOptions("Question"); var query = Repository .AsQueryable <Models.Faq>() .Select(t => new FaqViewModel { Id = t.Id, Version = t.Version, CategoryId = t.CategoryId, Question = t.Question, Question_en = t.Question_en, Answer = t.Answer, Answer_en = t.Answer_en, SortOrder = t.SortOrder }); //search if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { query = query.Where(t => t.Question.Contains(request.SearchQuery) || t.Question_en.Contains(request.SearchQuery)); } //total count var count = query.ToRowCountFutureValue(); //sorting, paging query = query.AddSortingAndPaging(request); return(new SearchableGridViewModel <FaqViewModel>(query.ToList(), request, count.Value)); }
/// <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)); }
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)); }
/// <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 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)); }
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> /// Executes the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>Result model.</returns> public SearchableGridViewModel <SiteSettingPageViewModel> Execute(SearchableGridOptions request) { request.SetDefaultSortingOptions("Title"); PageProperties alias = null; SiteSettingPageViewModel modelAlias = null; var query = UnitOfWork.Session .QueryOver(() => alias) .Where(() => !alias.IsDeleted && alias.Status != PageStatus.Preview); if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { var searchQuery = string.Format("%{0}%", request.SearchQuery); query = query.Where(Restrictions.Disjunction() .Add(Restrictions.InsensitiveLike(NHibernate.Criterion.Projections.Property(() => alias.Title), searchQuery)) .Add(Restrictions.InsensitiveLike(NHibernate.Criterion.Projections.Property(() => alias.PageUrl), searchQuery)) .Add(Restrictions.InsensitiveLike(Projections.Property(() => alias.MetaTitle), searchQuery)) .Add(Restrictions.InsensitiveLike(NHibernate.Criterion.Projections.Property(() => alias.MetaDescription), searchQuery)) .Add(Restrictions.InsensitiveLike(NHibernate.Criterion.Projections.Property(() => alias.MetaKeywords), searchQuery))); } IProjection hasSeoProjection = NHibernate.Criterion.Projections.Conditional( Restrictions.Disjunction() .Add(RestrictionsExtensions.IsNullOrWhiteSpace(NHibernate.Criterion.Projections.Property(() => alias.MetaTitle))) .Add(RestrictionsExtensions.IsNullOrWhiteSpace(NHibernate.Criterion.Projections.Property(() => alias.MetaKeywords))) .Add(RestrictionsExtensions.IsNullOrWhiteSpace(NHibernate.Criterion.Projections.Property(() => alias.MetaDescription))), NHibernate.Criterion.Projections.Constant(false, NHibernateUtil.Boolean), NHibernate.Criterion.Projections.Constant(true, NHibernateUtil.Boolean)); query = query .SelectList(select => select .Select(() => alias.Id).WithAlias(() => modelAlias.Id) .Select(() => alias.Version).WithAlias(() => modelAlias.Version) .Select(() => alias.Title).WithAlias(() => modelAlias.Title) .Select(() => alias.Status).WithAlias(() => modelAlias.PageStatus) .Select(hasSeoProjection).WithAlias(() => modelAlias.HasSEO) .Select(() => alias.CreatedOn).WithAlias(() => modelAlias.CreatedOn) .Select(() => alias.ModifiedOn).WithAlias(() => modelAlias.ModifiedOn) .Select(() => alias.PageUrl).WithAlias(() => modelAlias.Url)) .TransformUsing(Transformers.AliasToBean <SiteSettingPageViewModel>()); var count = query.ToRowCountFutureValue(); var pages = query.AddSortingAndPaging(request).Future <SiteSettingPageViewModel>(); return(new SearchableGridViewModel <SiteSettingPageViewModel>(pages.ToList(), request, count.Value)); }
public IList <RoleItemViewModel> Execute(SearchableGridOptions gridOptions) { var roles = Repository .AsQueryable <Models.Role>() .Select(t => new RoleItemViewModel() { Id = t.Id, Version = t.Version, RoleName = t.Name }); if (gridOptions != null) { gridOptions.SetDefaultSortingOptions("RoleName"); } return(roles.AddSortingAndPaging(gridOptions).ToFuture().ToList()); }
public IList <UserItemViewModel> Execute(SearchableGridOptions gridOptions) { // var role = new List<Models.Role>().Add(new Models.Role(){ Name = "name" }); var users = Repository.AsQueryable <Models.Users>() .Select(t => new UserItemViewModel() { Id = t.Id, Version = t.Version, UserName = t.UserName, }); if (gridOptions != null) { gridOptions.SetDefaultSortingOptions("UserName"); } return(users.AddSortingAndPaging(gridOptions).ToFuture().ToList()); }
/// <summary> /// Gets the folders. /// </summary> /// <param name="request">The request.</param> /// <returns> /// The list with folder view models /// </returns> private IList <MediaFolderViewModel> GetFolders(MediaManagerViewModel request) { MediaFolder folderAlias = null; MediaFolderViewModel folderModelAlias = null; var query = UnitOfWork.Session .QueryOver(() => folderAlias) .Where(() => !folderAlias.IsDeleted && folderAlias.Type == MediaType); if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { var searchQuery = string.Format("%{0}%", request.SearchQuery); query = query.Where(Restrictions.InsensitiveLike(Projections.Property(() => folderAlias.Title), searchQuery)); } if (!request.CurrentFolderId.HasDefaultValue()) { query = query.Where(() => folderAlias.Folder.Id == request.CurrentFolderId); } else { query = query.Where(() => folderAlias.Folder == null); } query = query.SelectList(select => select .Select(() => folderAlias.Id).WithAlias(() => folderModelAlias.Id) .Select(() => folderAlias.Title).WithAlias(() => folderModelAlias.Name) .Select(() => folderAlias.Version).WithAlias(() => folderModelAlias.Version) .Select(() => folderAlias.Type).WithAlias(() => folderModelAlias.Type)) .TransformUsing(Transformers.AliasToBean <MediaFolderViewModel>()); var options = new SearchableGridOptions() { Direction = request.Direction, Column = "Title" }; query.AddSortingAndPaging(options); var folders = query.List <MediaFolderViewModel>(); return(folders); }
/// <summary> /// Executes the specified request. /// </summary> /// <param name="options">The request.</param> /// <returns></returns> /// <exception cref="System.NotImplementedException"></exception> public SearchableGridViewModel <SiteSettingRedirectViewModel> Execute(SearchableGridOptions options) { SearchableGridViewModel <SiteSettingRedirectViewModel> model; options.SetDefaultSortingOptions("PageUrl"); Models.Redirect alias = null; SiteSettingRedirectViewModel modelAlias = null; var query = UnitOfWork.Session.QueryOver(() => alias).Where(() => !alias.IsDeleted); if (!string.IsNullOrWhiteSpace(options.SearchQuery)) { var searchQuery = string.Format("%{0}%", options.SearchQuery); query = query.Where( Restrictions.InsensitiveLike(Projections.Property(() => alias.PageUrl), searchQuery) || Restrictions.InsensitiveLike(Projections.Property(() => alias.RedirectUrl), searchQuery)); } 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>()); var count = query.ToRowCountFutureValue(); var redirects = query.AddSortingAndPaging(options).Future <SiteSettingRedirectViewModel>(); model = new SearchableGridViewModel <SiteSettingRedirectViewModel>(redirects.ToList(), options, count.Value); return(model); }
/// <summary> /// Executes the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>A list of blog posts</returns> public SearchableGridViewModel <SiteSettingBlogPostViewModel> Execute(SearchableGridOptions request) { SearchableGridViewModel <SiteSettingBlogPostViewModel> model; request.SetDefaultSortingOptions("Title"); BlogPost alias = null; SiteSettingBlogPostViewModel modelAlias = null; var query = UnitOfWork.Session .QueryOver(() => alias) .Where(() => !alias.IsDeleted && alias.Status != PageStatus.Preview); if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { var searchQuery = string.Format("%{0}%", request.SearchQuery); query = query.Where(Restrictions.InsensitiveLike(Projections.Property(() => alias.Title), searchQuery)); } query = query .SelectList(select => select .Select(() => alias.Id).WithAlias(() => modelAlias.Id) .Select(() => alias.Title).WithAlias(() => modelAlias.Title) .Select(() => alias.CreatedOn).WithAlias(() => modelAlias.CreatedOn) .Select(() => alias.ModifiedOn).WithAlias(() => modelAlias.ModifiedOn) .Select(() => alias.ModifiedByUser).WithAlias(() => modelAlias.ModifiedByUser) .Select(() => alias.Status).WithAlias(() => modelAlias.PageStatus) .Select(() => alias.Version).WithAlias(() => modelAlias.Version) .Select(() => alias.PageUrl).WithAlias(() => modelAlias.PageUrl)) .TransformUsing(Transformers.AliasToBean <SiteSettingBlogPostViewModel>()); var count = query.ToRowCountFutureValue(); var blogPosts = query.AddSortingAndPaging(request).Future <SiteSettingBlogPostViewModel>(); model = new SearchableGridViewModel <SiteSettingBlogPostViewModel>(blogPosts.ToList(), request, count.Value); return(model); }
/// <summary> /// Executes the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>List with blog post view models</returns> public SearchableGridViewModel <AuthorViewModel> Execute(SearchableGridOptions request) { var query = Repository.AsQueryable <Author>(); var authors = query.Select( author => new AuthorViewModel { Id = author.Id, Version = author.Version, Name = author.Name, Description = author.Description, Image = author.Image != null && !author.Image.IsDeleted ? new ImageSelectorViewModel { ImageId = author.Image.Id, ImageVersion = author.Image.Version, ImageUrl = fileUrlResolver.EnsureFullPathUrl(author.Image.PublicUrl), ThumbnailUrl = fileUrlResolver.EnsureFullPathUrl(author.Image.PublicThumbnailUrl), ImageTooltip = author.Image.Caption, FolderId = author.Image.Folder != null ? author.Image.Folder.Id : (System.Guid?)null } : null }); if (!string.IsNullOrWhiteSpace(request.SearchQuery)) { authors = authors.Where(a => a.Name.Contains(request.SearchQuery)); } request.SetDefaultSortingOptions("Name"); var count = authors.ToRowCountFutureValue(); authors = authors.AddSortingAndPaging(request); return(new SearchableGridViewModel <AuthorViewModel>(authors.ToList(), request, count.Value)); }
/// <summary> /// Initializes a new instance of the <see cref="SiteSettingTemplateListViewModel" /> class. /// </summary> /// <param name="items">The models.</param> /// <param name="options">The options.</param> /// <param name="totalCount">The total count.</param> public SiteSettingTemplateListViewModel(IEnumerable <SiteSettingTemplateItemViewModel> items, SearchableGridOptions options, int totalCount) : base(items, options, totalCount) { }
public ContentHistoryViewModel(IEnumerable <ContentHistoryItem> items, SearchableGridOptions options, int totalCount, Guid contentId) : base(items, options, totalCount) { ContentId = contentId; }
/// <summary> /// Initializes a new instance of the <see cref="SitemapHistoryViewModel"/> class. /// </summary> /// <param name="items">The items.</param> /// <param name="options">The options.</param> /// <param name="totalCount">The total count.</param> /// <param name="sitemapId">The sitemap identifier.</param> public SitemapHistoryViewModel(IEnumerable <SitemapHistoryItem> items, SearchableGridOptions options, int totalCount, Guid sitemapId) : base(items, options, totalCount) { SitemapId = sitemapId; }
public MediaManagerItemsViewModel(IEnumerable <MediaViewModel> items, SearchableGridOptions options, int totalCount) : base(items, options, totalCount) { }