using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using HeuristicLab.DataImporter.Data.Model; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; namespace HeuristicLab.DataImporter.Data.CommandBase { [StorableClass] public abstract class ColumnGroupCommandBase : DataSetCommandBase { private ColumnGroupCommandBase() : base(null) { } protected ColumnGroupCommandBase(DataSet dataSet, string columnGroupName) : base(dataSet) { this.columnGroupName = columnGroupName; } [Storable] private string columnGroupName; protected string ColumnGroupName { get { return this.columnGroupName; } } protected void UpdateColumnGroup() { this.columnGroup = this.DataSet.ColumnGroups.Where(cg => cg.Name == this.columnGroupName).FirstOrDefault(); } public override void Execute() { base.Execute(); this.UpdateColumnGroup(); } public override void UndoExecute() { base.UndoExecute(); this.UpdateColumnGroup(); } private ColumnGroup columnGroup; protected ColumnGroup ColumnGroup { get { return this.columnGroup; } set { this.columnGroup = value; } } } }