void InsertToCollection(IEnumerable <string> listToAdd, ModelItem modelItem) { var modelProperty = modelItem.Properties["ResultsCollection"]; if (modelProperty == null) { return; } var mic = modelProperty.Collection; if (mic == null) { return; } var listOfValidRows = ResultsCollection.Where(c => !c.CanRemove()).ToList(); if (listOfValidRows.Count > 0) { FindRecordsTO findRecordsTo = ResultsCollection.Last(c => !c.CanRemove()); var startIndex = ResultsCollection.IndexOf(findRecordsTo) + 1; foreach (var s in listToAdd) { mic.Insert(startIndex, new FindRecordsTO(s, ResultsCollection[startIndex - 1].SearchType, startIndex + 1)); startIndex++; } CleanUpCollection(mic, modelItem, startIndex); } else { AddToCollection(listToAdd, modelItem); } }
private void InsertToCollection(IEnumerable <string> listToAdd, ModelItem modelItem) { var modelProperty = modelItem.Properties["ResultsCollection"]; if (modelProperty != null) { ModelItemCollection mic = modelProperty.Collection; if (mic != null) { List <DataSplitDTO> listOfValidRows = ResultsCollection.Where(c => !c.CanRemove()).ToList(); if (listOfValidRows.Count > 0) { DataSplitDTO dataSplitDto = ResultsCollection.Last(c => !c.CanRemove()); int startIndex = ResultsCollection.IndexOf(dataSplitDto) + 1; foreach (string s in listToAdd) { mic.Insert(startIndex, new DataSplitDTO(s, ResultsCollection[startIndex - 1].SplitType, ResultsCollection[startIndex - 1].At, startIndex + 1)); startIndex++; } CleanUpCollection(mic, modelItem, startIndex); } else { AddToCollection(listToAdd, modelItem); } } } }