public List <TreeGridItem> GetItems(string datacollectionid, string groupid, string groupPath, string sort, string searchString, int pageNumber, int pageSize) { BaseService.CheckLoginAndLicense(); if ((groupid == null || groupid == "") && (groupPath != null && groupPath != "")) { //haal folder id op vanuit path //path wordt gebruikt als er vanuit de breadcrumb wordt genavigeerd string where = String.Format("CompletePath = '{0}'", groupPath); DataGroup group = BaseObject.GetFirst <DataGroup>(where); groupid = group.ID.ToString(); } if (sort == "" || sort == null) { sort = "OrderNumber"; } string whereItems = String.Format("FK_DataCollection = '{0}' AND FK_Parent_Group='{1}'", datacollectionid, groupid); if (groupid == null || groupid == "" || groupid == Guid.Empty.ToString()) { whereItems = String.Format("FK_DataCollection = '{0}' AND FK_Parent_Group Is Null", datacollectionid); } if (searchString != null && searchString != "") { whereItems = String.Format("FK_DataCollection = '{0}' AND (Name like '%{1}%' OR Title like '%{1}%')", datacollectionid, searchString); } BaseCollection <DataItem> itemslist = BaseCollection <DataItem> .Get(whereItems, sort, pageNumber, pageSize); List <TreeGridItem> returnList = new List <TreeGridItem>(); //DataItems met 0 in de array? Reset alle ordernummers. FIX if (itemslist.Any(c => c.OrderNumber <= 0)) { int i = 1; foreach (DataItem dataItem in itemslist) { dataItem.OrderNumber = i; dataItem.Save(); i++; } } foreach (DataItem dataItem in itemslist) { TreeGridItem item = TreeGridItem.NewItem <DataItem>(dataItem); item.Title = dataItem.Title; item.Field1 = dataItem.OrderNumber.ToString(); if (searchString != null && searchString != "") { if (dataItem.ParentGroup != null) { item.Field2 = dataItem.ParentGroup.CompletePath; item.Field3 = dataItem.ParentGroup.ID.ToString(); } //item.Name = item.Name.Replace(searchString, "<span class='highlight'>" + searchString + "</span>"); //item.Title = item.Title.Replace(searchString, "<span class='highlight'>" + searchString + "</span>"); item.Name = StringHelper.HighlightSearchResults(item.Name, searchString); item.Title = StringHelper.HighlightSearchResults(item.Title, searchString); } item.Status = dataItem.ChangeStatusString; returnList.Add(item); } return(returnList); }