public void RemoveDataListItem(IDataListItemModel itemToRemove) { if (itemToRemove == null) { return; } if (!itemToRemove.IsRecordset && !itemToRemove.IsField) { ScalarCollection.Remove(itemToRemove); CheckDataListItemsForDuplicates(DataList); } else if (itemToRemove.IsRecordset) { RecsetCollection.Remove(itemToRemove); CheckDataListItemsForDuplicates(DataList); } else { foreach (var recset in RecsetCollection) { recset.Children.Remove(itemToRemove); CheckDataListItemsForDuplicates(recset.Children); } } }
public void SetUnusedDataListItems(IList <IDataListVerifyPart> parts) { foreach (IDataListItemModel dataListItemModel in ScalarCollection) { dataListItemModel.IsUsed = true; } foreach (IDataListItemModel dataListItemModel in RecsetCollection) { dataListItemModel.IsUsed = true; foreach (IDataListItemModel listItemModel in dataListItemModel.Children) { listItemModel.IsUsed = true; } } IList <IDataListItemModel> tmpRecsets = new List <IDataListItemModel>(); foreach (IDataListVerifyPart part in parts) { if (part.IsScalar) { IDataListItemModel scalarToRemove = ScalarCollection.FirstOrDefault(c => c.Name == part.Field); if (scalarToRemove != null) { scalarToRemove.IsUsed = false; } } else { IDataListItemModel recsetToRemove = RecsetCollection.FirstOrDefault(c => c.Name == part.Recordset && c.IsRecordset); if (string.IsNullOrEmpty(part.Field)) { if (recsetToRemove != null) { recsetToRemove.IsUsed = false; } } else { if (recsetToRemove != null) { IDataListItemModel childToRemove = recsetToRemove.Children.FirstOrDefault(c => c.Name == part.Field && c.IsField); if (childToRemove != null) { childToRemove.IsUsed = false; } } } } } foreach (IDataListItemModel item in tmpRecsets) { RecsetCollection.Remove(item); Validator.Remove(item); } WriteToResourceModel(); Mediator.SendMessage(MediatorMessages.UpdateIntelisense, this); }
public void RemoveBlankRecordsets() { IList <IDataListItemModel> blankList = RecsetCollection.Where(c => c.IsBlank && c.Children.Count == 1 && c.Children[0].IsBlank).ToList(); if (blankList.Count > 1) { RecsetCollection.Remove(blankList.First()); Validator.Remove(blankList.First()); } }
public void RemoveDataListItem(IDataListItemModel itemToRemove) { if (itemToRemove == null) { return; } var complexObj = itemToRemove as IComplexObjectItemModel; if (complexObj != null) { var complexObjectItemModels = complexObj.Children; var allChildren = complexObjectItemModels.Flatten(model => model.Children).ToList(); var notUsedItems = allChildren.Where(x => !x.IsUsed).ToList(); foreach (var complexObjectItemModel in notUsedItems) { RemoveUnusedChildComplexObjects(complexObj, complexObjectItemModel); } if (complexObj.Children.Count == 0) { ComplexObjectCollection.Remove(complexObj); } else { complexObj.IsUsed = true; } } if (itemToRemove is IScalarItemModel) { var item = itemToRemove as IScalarItemModel; ScalarCollection.Remove(item); CheckDataListItemsForDuplicates(DataList); } else if (itemToRemove is IRecordSetItemModel) { var item = itemToRemove as IRecordSetItemModel; RecsetCollection.Remove(item); CheckDataListItemsForDuplicates(DataList); } else { foreach (var recset in RecsetCollection) { var item = itemToRemove as IRecordSetFieldItemModel; recset.Children.Remove(item); CheckDataListItemsForDuplicates(recset.Children); } } FindUnusedAndMissingCommand.RaiseCanExecuteChanged(); DeleteCommand.RaiseCanExecuteChanged(); }
public void RemoveUnusedDataListItems() { var unusedScalars = ScalarCollection.Where(c => c.IsUsed == false).ToList(); if (unusedScalars.Any()) { foreach (var dataListItemModel in unusedScalars) { ScalarCollection.Remove(dataListItemModel); } } var unusedRecordsets = RecsetCollection.Where(c => c.IsUsed == false).ToList(); if (unusedRecordsets.Any()) { foreach (var dataListItemModel in unusedRecordsets) { RecsetCollection.Remove(dataListItemModel); } } foreach (var recset in RecsetCollection) { if (recset.Children.Count > 0) { var unusedRecsetChildren = recset.Children.Where(c => c.IsUsed == false).ToList(); if (unusedRecsetChildren.Any()) { foreach (var unusedRecsetChild in unusedRecsetChildren) { recset.Children.Remove(unusedRecsetChild); } } } } WriteToResourceModel(); EventPublisher.Publish(new UpdateIntellisenseMessage()); }
public void RemoveDataListItem(IDataListItemModel itemToRemove) { if (itemToRemove != null) { if (!itemToRemove.IsRecordset && !itemToRemove.IsField) { ScalarCollection.Remove(itemToRemove); Validator.Remove(itemToRemove); } else if (itemToRemove.IsRecordset) { RecsetCollection.Remove(itemToRemove); Validator.Remove(itemToRemove); } else { foreach (IDataListItemModel recset in RecsetCollection) { recset.Children.Remove(itemToRemove); recset.Validator.Remove(itemToRemove); } } } }