private void ItemPropertyChanged(object sender, PropertyChangedEventArgs e) { if (FindUnusedAndMissingCommand != null) { FindUnusedAndMissingCommand.RaiseCanExecuteChanged(); SortCommand.RaiseCanExecuteChanged(); } ViewComplexObjectsCommand?.RaiseCanExecuteChanged(); DeleteCommand?.RaiseCanExecuteChanged(); }
public void RemoveUnusedDataListItems() { _scalarHandler.RemoveUnusedScalars(); _recordsetHandler.RemoveUnusedRecordSets(); _complexObjectHandler.RemoveUnusedComplexObjects(); WriteToResourceModel(); FindUnusedAndMissingCommand.RaiseCanExecuteChanged(); ViewComplexObjectsCommand.RaiseCanExecuteChanged(); DeleteCommand.RaiseCanExecuteChanged(); UpdateIntellisenseList(); }
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(); }
/// <summary> /// Finds the missing workflow data regions. /// </summary> /// <param name="partsToVerify">The parts to verify.</param> /// <param name="excludeUnusedItems"></param> /// <returns></returns> public List <IDataListVerifyPart> MissingWorkflowItems(IList <IDataListVerifyPart> partsToVerify, bool excludeUnusedItems = false) { var missingWorkflowParts = new List <IDataListVerifyPart>(); if (DataList != null) { // ReSharper disable once LoopCanBeConvertedToQuery missingWorkflowParts.AddRange(_missingDataList.MissingScalars(partsToVerify, excludeUnusedItems)); missingWorkflowParts.AddRange(_missingDataList.MissingRecordsets(partsToVerify, excludeUnusedItems)); } _complexObjectHandler.DetectUnusedComplexObjects(partsToVerify); FindUnusedAndMissingCommand.RaiseCanExecuteChanged(); return(missingWorkflowParts); }