public override void Execute() { base.Execute(); var wizard = new FilterImportWizard(); IFilter newFilter = wizard.Import(_targetContainer, _filterCommand.Filter); if (newFilter != null) { _targetContainer.AddChild(newFilter); Publish((DatabaseEntity)_targetContainer); } }
private void DeepClone(IContainer into, IContainer from, IFilterFactory factory) { //clone the subcontainers foreach (var container in from.GetSubContainers()) { var subContainer = factory.CreateNewContainer(); subContainer.Operation = container.Operation; into.AddChild(subContainer); DeepClone(subContainer, container, factory); } var wizard = new FilterImportWizard(BasicActivator); //clone the filters foreach (var filter in from.GetFilters()) { into.AddChild(wizard.Import(into, filter)); } }