public GetWidgetsResponse Get(GetWidgetsRequest request) { request.Data.SetDefaultOrder("Name"); var query = repository .AsQueryable <Module.Root.Models.Widget>() .Where(widget => widget.Original == null); if (!request.Data.IncludeUnpublished) { query = query.Where(widget => widget.Status == ContentStatus.Published); } query.ApplyCategoriesFilter(categoryService, request.Data); var listResponse = query .Select(widget => new WidgetModel { Id = widget.Id, Version = widget.Version, CreatedBy = widget.CreatedByUser, CreatedOn = widget.CreatedOn, LastModifiedBy = widget.ModifiedByUser, LastModifiedOn = widget.ModifiedOn, Name = widget.Name, IsPublished = widget.Status == ContentStatus.Published, PublishedOn = widget.PublishedOn, PublishedByUser = widget.PublishedByUser, OriginalWidgetType = widget.GetType() }).ToDataListResponse(request); // Set content types listResponse.Items.ToList().ForEach( item => { item.WidgetType = item.OriginalWidgetType.ToContentTypeString(); item.Categories = (from pagePr in repository.AsQueryable <Module.Root.Models.Widget>() from category in pagePr.Categories where pagePr.Id == item.Id && !category.IsDeleted select new CategoryModel { Id = category.Category.Id, Version = category.Version, CreatedBy = category.CreatedByUser, CreatedOn = category.CreatedOn, LastModifiedBy = category.ModifiedByUser, LastModifiedOn = category.ModifiedOn, Name = category.Category.Name }).ToList(); }); return(new GetWidgetsResponse { Data = listResponse }); }
public GetWidgetsResponse Get(GetWidgetsRequest request) { request.Data.SetDefaultOrder("Name"); var query = repository .AsQueryable<Module.Root.Models.Widget>() .Where(widget => widget.Original == null); if (!request.Data.IncludeUnpublished) { query = query.Where(widget => widget.Status == ContentStatus.Published); } query.ApplyCategoriesFilter(categoryService, request.Data); var listResponse = query .Select(widget => new WidgetModel { Id = widget.Id, Version = widget.Version, CreatedBy = widget.CreatedByUser, CreatedOn = widget.CreatedOn, LastModifiedBy = widget.ModifiedByUser, LastModifiedOn = widget.ModifiedOn, Name = widget.Name, IsPublished = widget.Status == ContentStatus.Published, PublishedOn = widget.PublishedOn, PublishedByUser = widget.PublishedByUser, OriginalWidgetType = widget.GetType() }).ToDataListResponse(request); // Set content types listResponse.Items.ToList().ForEach( item => { item.WidgetType = item.OriginalWidgetType.ToContentTypeString(); item.Categories = (from pagePr in repository.AsQueryable<Module.Root.Models.Widget>() from category in pagePr.Categories where pagePr.Id == item.Id && !category.IsDeleted select new CategoryModel { Id = category.Category.Id, Version = category.Version, CreatedBy = category.CreatedByUser, CreatedOn = category.CreatedOn, LastModifiedBy = category.ModifiedByUser, LastModifiedOn = category.ModifiedOn, Name = category.Category.Name }).ToList(); }); return new GetWidgetsResponse { Data = listResponse }; }
/// <summary> /// Gets the widgets. /// </summary> /// <param name="request">The request.</param> /// <returns> /// Widget list. /// </returns> /// <exception cref="CmsApiException">Failed to get widgets.</exception> public DataListResponse <Widget> GetWidgets(GetWidgetsRequest request = null) { try { return(Repository.ToDataListResponse(request)); } catch (Exception inner) { var message = string.Format("Failed to get widgets."); Logger.Error(message, inner); throw new CmsApiException(message, inner); } }
public GetWidgetsResponse Get(GetWidgetsRequest request) { request.Data.SetDefaultOrder("Name"); var query = repository .AsQueryable<Module.Root.Models.Widget>() .Where(widget => widget.Original == null); if (!request.Data.IncludeUnpublished) { query = query.Where(widget => widget.Status == ContentStatus.Published); } var listResponse = query .Select(widget => new WidgetModel { Id = widget.Id, Version = widget.Version, CreatedBy = widget.CreatedByUser, CreatedOn = widget.CreatedOn, LastModifiedBy = widget.ModifiedByUser, LastModifiedOn = widget.ModifiedOn, Name = widget.Name, IsPublished = widget.Status == ContentStatus.Published, PublishedOn = widget.PublishedOn, PublishedByUser = widget.PublishedByUser, CategoryId = widget.Category != null && !widget.Category.IsDeleted ? widget.Category.Id : (Guid?)null, CategoryName = widget.Category != null && !widget.Category.IsDeleted ? widget.Category.Name : null, OriginalWidgetType = widget.GetType() }).ToDataListResponse(request); // Set content types listResponse.Items.ToList().ForEach(item => item.WidgetType = item.OriginalWidgetType.ToContentTypeString()); return new GetWidgetsResponse { Data = listResponse }; }
public GetWidgetsResponse Get(GetWidgetsRequest request) { request.Data.SetDefaultOrder("Name"); var query = repository .AsQueryable <Module.Root.Models.Widget>() .Where(widget => widget.Original == null); if (!request.Data.IncludeUnpublished) { query = query.Where(widget => widget.Status == ContentStatus.Published); } var listResponse = query .Select(widget => new WidgetModel { Id = widget.Id, Version = widget.Version, CreatedBy = widget.CreatedByUser, CreatedOn = widget.CreatedOn, LastModifiedBy = widget.ModifiedByUser, LastModifiedOn = widget.ModifiedOn, Name = widget.Name, IsPublished = widget.Status == ContentStatus.Published, PublishedOn = widget.PublishedOn, PublishedByUser = widget.PublishedByUser, CategoryId = widget.Category != null && !widget.Category.IsDeleted ? widget.Category.Id : (Guid?)null, CategoryName = widget.Category != null && !widget.Category.IsDeleted ? widget.Category.Name : null, OriginalWidgetType = widget.GetType() }).ToDataListResponse(request); // Set content types listResponse.Items.ToList().ForEach(item => item.WidgetType = item.OriginalWidgetType.ToContentTypeString()); return(new GetWidgetsResponse { Data = listResponse }); }
/// <summary> /// Gets the widgets. /// </summary> /// <param name="request">The request.</param> /// <returns> /// Widget list. /// </returns> /// <exception cref="CmsApiException">Failed to get widgets.</exception> public DataListResponse<Widget> GetWidgets(GetWidgetsRequest request = null) { try { return Repository.ToDataListResponse(request); } catch (Exception inner) { var message = string.Format("Failed to get widgets."); Logger.Error(message, inner); throw new CmsApiException(message, inner); } }