private void UnitTestStepsViewModel_OnModelRemoved(ListViewModelChangedEventArgs args) { if (args.Model is UnitTestStepObjectCreation) { UnitTestStepObjectCreation step = (UnitTestStepObjectCreation)args.Model; foreach (UnitTestStepObjectModificationViewModel modStep in this.OfType <UnitTestStepObjectModificationViewModel>().ToList <UnitTestStepObjectModificationViewModel>()) { if (modStep.ObjectCreationStep == step) { this.Remove(modStep); } else { foreach (AttributeChangeViewModel change in modStep.AttributeChanges.Where(t => t.Model.DataType == AttributeType.Reference).ToList()) { foreach (ValueChangeViewModel value in change.ValueChanges.ToList()) { if (value.Value == step.ObjectId.ToString()) { change.ValueChanges.Remove(value); } if (change.ValueChanges.Count == 0) { modStep.AttributeChanges.Remove(change); } } } } } foreach (UnitTestStepObjectEvaluationViewModel evalStep in this.OfType <UnitTestStepObjectEvaluationViewModel>().ToList <UnitTestStepObjectEvaluationViewModel>()) { if (evalStep.ObjectCreationStep == step) { this.Remove(evalStep); } } foreach (UnitTestStepObjectCreationViewModel createStep in this.OfType <UnitTestStepObjectCreationViewModel>().ToList <UnitTestStepObjectCreationViewModel>()) { foreach (AttributeChangeViewModel change in createStep.AttributeChanges.Where(t => t.Model.DataType == AttributeType.Reference).ToList()) { foreach (ValueChangeViewModel value in change.ValueChanges.ToList()) { if (value.Value == step.ObjectId.ToString()) { change.ValueChanges.Remove(value); } if (change.ValueChanges.Count == 0) { createStep.AttributeChanges.Remove(change); } } } } } }
private void ViewModel_OnModelRemoved(ListViewModelChangedEventArgs args) { UnitTestObject item = args.Model as UnitTestObject; if (item != null) { this.RemoveIDsFromCache(item); } }
private void TransformCollectionViewModel_OnModelRemoved(ListViewModelChangedEventArgs args) { Transform transform = args.Model as Transform; if (transform != null) { UniqueIDCache.RemoveItem(transform, Transform.CacheGroupName); } }
private void ConstructorsViewModel_OnModelRemoved(ListViewModelChangedEventArgs args) { ExecutableConstructorObject constructor = args.Model as ExecutableConstructorObject; if (constructor != null) { RemoveIDsFromCache(constructor); } }