private static ItemsFilterData GetFilter(GetCountParameters parameters) { ItemsFilterData filter; if (parameters.OrganizationalItemId.EndsWith("-1")) // is Publication { filter = new RepositoryItemsFilterData(); } else // is Folder or Structure Group { filter = new OrganizationalItemItemsFilterData(); } filter.Recursive = true; List<ItemType> itemTypesList = new List<ItemType>(); if (parameters.CountFolders) { itemTypesList.Add(ItemType.Folder); } if (parameters.CountComponents) { itemTypesList.Add(ItemType.Component); } if (parameters.CountSchemas) { itemTypesList.Add(ItemType.Schema); } if (parameters.CountComponentTemplates) { itemTypesList.Add(ItemType.ComponentTemplate); } if (parameters.CountPageTemplates) { itemTypesList.Add(ItemType.PageTemplate); } if (parameters.CountTemplateBuildingBlocks) { itemTypesList.Add(ItemType.TemplateBuildingBlock); } if (parameters.CountStructureGroups) { itemTypesList.Add(ItemType.StructureGroup); } if (parameters.CountPages) { itemTypesList.Add(ItemType.Page); } if (parameters.CountCategories) { itemTypesList.Add(ItemType.Category); } if (parameters.CountKeywords) { itemTypesList.Add(ItemType.Keyword); } filter.ItemTypes = itemTypesList.ToArray(); return filter; }
public ItemCountResult GetCount(GetCountParameters parameters) { try { if (parameters == null || parameters.OrganizationalItemId == null) { throw new ArgumentNullException("parameters"); } DateTime start = DateTime.Now; ItemsFilterData filter = GetFilter(parameters); XElement listXml = Client.GetListXml(parameters.OrganizationalItemId, filter); return ProcessCounts(listXml, start); } catch (Exception ex) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public ItemCountResult GetCount(GetCountParameters parameters) { try { if (parameters == null || parameters.OrganizationalItemId == null) { throw new ArgumentNullException("parameters"); } DateTime start = DateTime.Now; ItemsFilterData filter = GetFilter(parameters); XElement listXml = Client.GetListXml(parameters.OrganizationalItemId, filter); return(ProcessCounts(listXml, start)); } catch (Exception ex) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
private static ItemsFilterData GetFilter(GetCountParameters parameters) { ItemsFilterData filter; if (parameters.OrganizationalItemId.EndsWith("-1")) // is Publication { filter = new RepositoryItemsFilterData(); } else // is Folder or Structure Group { filter = new OrganizationalItemItemsFilterData(); } filter.Recursive = true; List <ItemType> itemTypesList = new List <ItemType>(); if (parameters.CountFolders) { itemTypesList.Add(ItemType.Folder); } if (parameters.CountComponents) { itemTypesList.Add(ItemType.Component); } if (parameters.CountSchemas) { itemTypesList.Add(ItemType.Schema); } if (parameters.CountComponentTemplates) { itemTypesList.Add(ItemType.ComponentTemplate); } if (parameters.CountPageTemplates) { itemTypesList.Add(ItemType.PageTemplate); } if (parameters.CountTemplateBuildingBlocks) { itemTypesList.Add(ItemType.TemplateBuildingBlock); } if (parameters.CountStructureGroups) { itemTypesList.Add(ItemType.StructureGroup); } if (parameters.CountPages) { itemTypesList.Add(ItemType.Page); } if (parameters.CountCategories) { itemTypesList.Add(ItemType.Category); } if (parameters.CountKeywords) { itemTypesList.Add(ItemType.Keyword); } filter.ItemTypes = itemTypesList.ToArray(); return(filter); }