/// <summary> /// Gets the list of layout entities. /// </summary> /// <param name="request">The request.</param> /// <returns> /// The list of layout entities /// </returns> /// <exception cref="CmsApiException"></exception> public DataListResponse<Layout> GetLayouts(GetLayoutsRequest request = null) { try { var result = Repository .AsQueryable<Layout>() .ApplyFiltersWithChildren(request); var query = result.Item1; var totalCount = result.Item2; query = query .AddOrder(request) .FetchMany(l => l.LayoutRegions) .ThenFetch(l => l.Region); return query.ToDataListResponse(totalCount); } catch (Exception inner) { const string message = "Failed to get layouts list."; Logger.Error(message, inner); throw new CmsApiException(message, inner); } }
public GetLayoutsResponse Get(GetLayoutsRequest request) { request.Data.SetDefaultOrder("Name"); var listResponse = repository .AsQueryable <Module.Root.Models.Layout>() .Select(layout => new LayoutModel { Id = layout.Id, Version = layout.Version, CreatedBy = layout.CreatedByUser, CreatedOn = layout.CreatedOn, LastModifiedBy = layout.ModifiedByUser, LastModifiedOn = layout.ModifiedOn, Name = layout.Name, LayoutPath = layout.LayoutPath, PreviewUrl = layout.PreviewUrl }) .ToDataListResponse(request); return(new GetLayoutsResponse { Data = listResponse }); }
public GetLayoutsResponse Get(GetLayoutsRequest request) { request.Data.SetDefaultOrder("Name"); var listResponse = repository .AsQueryable<Module.Root.Models.Layout>() .Select(layout => new LayoutModel { Id = layout.Id, Version = layout.Version, CreatedBy = layout.CreatedByUser, CreatedOn = layout.CreatedOn, LastModifiedBy = layout.ModifiedByUser, LastModifiedOn = layout.ModifiedOn, Name = layout.Name, LayoutPath = layout.LayoutPath, PreviewUrl = layout.PreviewUrl }) .ToDataListResponse(request); return new GetLayoutsResponse { Data = listResponse }; }
/// <summary> /// Gets the list of layout entities. /// </summary> /// <param name="request">The request.</param> /// <returns> /// The list of layout entities /// </returns> /// <exception cref="CmsApiException"></exception> public DataListResponse <Layout> GetLayouts(GetLayoutsRequest request = null) { try { var result = Repository .AsQueryable <Layout>() .ApplyFiltersWithChildren(request); var query = result.Item1; var totalCount = result.Item2; query = query .AddOrder(request) .FetchMany(l => l.LayoutRegions) .ThenFetch(l => l.Region); return(query.ToDataListResponse(totalCount)); } catch (Exception inner) { const string message = "Failed to get layouts list."; Logger.Error(message, inner); throw new CmsApiException(message, inner); } }
public void Should_Return_Filtered_Ordered_Paged_Layouts_List_Successfully() { var fakeLayouts = CreateLayouts().ToList(); var repositoryMock = MockRepository(fakeLayouts); using (var service = new PagesApiContext(Container.BeginLifetimeScope(), repositoryMock.Object)) { var request = new GetLayoutsRequest(t => t.Name.Contains("Layout"), null, true); request.AddPaging(1, 2); var layouts = service.GetLayouts(request); Assert.IsNotNull(layouts); Assert.AreEqual(layouts.Items.Count, 1); Assert.AreEqual(layouts.TotalCount, 3); var fakeLayout = fakeLayouts.First(t => t.Name == "Layout2"); var layout = layouts.Items[0]; Assert.IsNotNull(layout); Assert.AreEqual(fakeLayout.Id, layout.Id); } }
public ActionResult TestApi() { /*PagesApiContext.Events.PageCreated += EventsOnPageCreated; PagesApiContext.Events.OnPageCreated(new PageProperties()); ApiContext.Events.HostStart += Core_HostStart;*/ var message = string.Empty; DataListResponse<BlogPost> results; using (var api = CmsContext.CreateApiContextOf<BlogsApiContext>()) { using (var papi = CmsContext.CreateApiContextOf<PagesApiContext>()) { var request = new GetLayoutsRequest(); var result = papi.GetLayouts(request); /*var aRequest = new GetContentHistoryRequest(new Guid("AE04E233-4E88-4A9F-87BC-A1CC00F2C173")); var aresults = papi.GetContentHistory(aRequest); if (aresults.Items.Count > 0) { message = string.Format("{0}<br />Total count:{2}, Item titles: {1}", message, string.Join("; ", aresults.Items.Select(t => t.Name)), aresults.TotalCount); } aRequest = new GetContentHistoryRequest(new Guid("AE04E233-4E88-4A9F-87BC-A1CC00F2C173"), a => a.Name.ToLower().Contains("poop"), o => o.Name, orderDescending: true); aresults = papi.GetContentHistory(aRequest); if (aresults.Items.Count > 0) { message = string.Format("{0}<br />Total count:{2}, Item titles: {1}", message, string.Join("; ", aresults.Items.Select(t => t.Name)), aresults.TotalCount); }*/ /*var request = new GetDataRequest<Layout>(3, 2, orderDescending:true, order:t =>t.Name); results = pagesApi.GetLayouts(request);*/ /*var request = new GetDataRequest<LayoutRegion>(orderDescending: true, order: t => t.Region.RegionIdentifier); request.AddPaging(2, 2);*/ /*var request = new GetBlogPostsRequest(b => b.ExpirationDate.HasValue, includePrivate: true, includeUnpublished: true, itemsCount: 3); results = api.GetBlogPosts(request); if (results.Items.Count > 0) { message = string.Format( "{0}<br />Total count:{2}, Item titles: {1}", message, string.Join("; ", results.Items.Select(t => t.Title)), results.TotalCount); } request = new GetBlogPostsRequest(order: b => b.Title, orderDescending: true, includePrivate: true, includeUnpublished: true); request.AddPaging(3, 3); results = api.GetBlogPosts(request); if (results.Items.Count > 0) { message = string.Format( "{0}<br />Total count:{2}, Item titles: {1}", message, string.Join("; ", results.Items.Select(t => t.Title)), results.TotalCount); } request = new GetBlogPostsRequest( order: b => b.Title, orderDescending: true, itemsCount: 5, startItemNumber: 3, includeUnpublished: true, includePrivate: true); results = api.GetBlogPosts(request);*/ } } return Content(message); }