/// <summary> /// Gets the categories list. /// </summary> /// <param name="request">The request.</param> /// <returns> /// <c>GetCategoriesResponse</c> with tags list. /// </returns> public GetCategoryTreesResponse Get(GetCategoryTreesRequest request) { request.Data.SetDefaultOrder("Name"); var categorizableItemsFuture = repository.AsQueryable <CategoryTreeCategorizableItem>().ToFuture(); var query = repository .AsQueryable <Module.Root.Models.CategoryTree>(); var listResponse = query .Where(map => !map.IsDeleted) .Select(map => new CategoryTreeModel { Id = map.Id, Version = map.Version, CreatedBy = map.CreatedByUser, CreatedOn = map.CreatedOn, LastModifiedBy = map.ModifiedByUser, LastModifiedOn = map.ModifiedOn, Name = map.Title, Macro = map.Macro, }).ToDataListResponse(request); var categorizableItems = categorizableItemsFuture.ToList(); foreach (var listItem in listResponse.Items) { listItem.AvailableFor = categorizableItems.Where(c => c.CategoryTree.Id == listItem.Id).Select(c => c.CategorizableItem.Id).ToList(); } return(new GetCategoryTreesResponse { Data = listResponse }); }
/// <summary> /// Gets the categories list. /// </summary> /// <param name="request">The request.</param> /// <returns> /// <c>GetCategoriesResponse</c> with tags list. /// </returns> public GetCategoryTreesResponse Get(GetCategoryTreesRequest request) { request.Data.SetDefaultOrder("Name"); var categorizableItemsFuture = repository.AsQueryable<CategoryTreeCategorizableItem>().ToFuture(); var query = repository .AsQueryable<Module.Root.Models.CategoryTree>(); var listResponse = query .Where(map => !map.IsDeleted) .Select(map => new CategoryTreeModel { Id = map.Id, Version = map.Version, CreatedBy = map.CreatedByUser, CreatedOn = map.CreatedOn, LastModifiedBy = map.ModifiedByUser, LastModifiedOn = map.ModifiedOn, Name = map.Title, Macro = map.Macro, }).ToDataListResponse(request); var categorizableItems = categorizableItemsFuture.ToList(); foreach (var listItem in listResponse.Items) { listItem.AvailableFor = categorizableItems.Where(c => c.CategoryTree.Id == listItem.Id).Select(c => c.CategorizableItem.Id).ToList(); } return new GetCategoryTreesResponse { Data = listResponse }; }