Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.DataImporter/HeuristicLab.DataImporter.Data/CommandBase/ColumnGroupCommandBase.cs @ 6133

Last change on this file since 6133 was 6133, checked in by gkronber, 13 years ago

#1471: imported generic parts of DataImporter from private code base

File size: 1.3 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.Xml;
6using HeuristicLab.DataImporter.Data.Model;
7using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
8
9namespace HeuristicLab.DataImporter.Data.CommandBase {
10  [StorableClass]
11  public abstract class ColumnGroupCommandBase : DataSetCommandBase {
12    private ColumnGroupCommandBase()
13      : base(null) {
14    }
15
16    protected ColumnGroupCommandBase(DataSet dataSet, string columnGroupName)
17      : base(dataSet) {
18      this.columnGroupName = columnGroupName;
19    }
20
21    [Storable]
22    private string columnGroupName;
23    protected string ColumnGroupName {
24      get { return this.columnGroupName; }
25    }
26
27    protected void UpdateColumnGroup() {
28      this.columnGroup = this.DataSet.ColumnGroups.Where(cg => cg.Name == this.columnGroupName).FirstOrDefault();
29    }
30
31    public override void Execute() {
32      base.Execute();
33      this.UpdateColumnGroup();
34    }
35
36    public override void UndoExecute() {
37      base.UndoExecute();
38      this.UpdateColumnGroup();
39    }
40
41    private ColumnGroup columnGroup;
42    protected ColumnGroup ColumnGroup {
43      get { return this.columnGroup; }
44      set { this.columnGroup = value; }
45    }
46  }
47}
Note: See TracBrowser for help on using the repository browser.