Changeset 15081


Ignore:
Timestamp:
06/28/17 22:10:45 (7 weeks ago)
Author:
gkronber
Message:

#2560 merged r13501, r13503, r13511, r13513, r13534, r13535, r13540, r13550, r13552, r13593, r13666 from trunk to stable

Location:
stable
Files:
21 edited
15 copied

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Clients.OKB.Views/3.3/HeuristicLab.Clients.OKB.Views-3.3.csproj

    r11920 r15081  
    333333      <Private>False</Private>
    334334    </ProjectReference>
     335    <ProjectReference Include="..\..\HeuristicLab.Data.Views\3.3\HeuristicLab.Data.Views-3.3.csproj">
     336      <Project>{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}</Project>
     337      <Name>HeuristicLab.Data.Views-3.3</Name>
     338    </ProjectReference>
    335339    <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
    336340      <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
  • stable/HeuristicLab.Clients.OKB.Views/3.3/Plugin.cs.frame

    r14190 r15081  
    3737  [PluginDependency("HeuristicLab.Core.Views", "3.3")]
    3838  [PluginDependency("HeuristicLab.Data", "3.3")]
     39  [PluginDependency("HeuristicLab.Data.Views", "3.3")]
    3940  [PluginDependency("HeuristicLab.MainForm", "3.3")]
    4041  [PluginDependency("HeuristicLab.MainForm.WindowsForms", "3.3")]
  • stable/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBProblemView.Designer.cs

    r14186 r15081  
    4949      this.refreshButton = new System.Windows.Forms.Button();
    5050      this.cloneProblemButton = new System.Windows.Forms.Button();
     51      this.tabControl = new System.Windows.Forms.TabControl();
     52      this.parametersTabPage = new System.Windows.Forms.TabPage();
    5153      this.parameterCollectionView = new HeuristicLab.Core.Views.ParameterCollectionView();
     54      this.flaAnalysisTabPage = new System.Windows.Forms.TabPage();
     55      this.calculateButton = new System.Windows.Forms.Button();
     56      this.flaSplitContainer = new System.Windows.Forms.SplitContainer();
     57      this.characteristicsMatrixView = new HeuristicLab.Data.Views.StringConvertibleMatrixView();
     58      this.uploadCharacteristicsButton = new System.Windows.Forms.Button();
     59      this.downloadCharacteristicsButton = new System.Windows.Forms.Button();
    5260      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
     61      this.tabControl.SuspendLayout();
     62      this.parametersTabPage.SuspendLayout();
     63      this.flaAnalysisTabPage.SuspendLayout();
     64      ((System.ComponentModel.ISupportInitialize)(this.flaSplitContainer)).BeginInit();
     65      this.flaSplitContainer.Panel1.SuspendLayout();
     66      this.flaSplitContainer.Panel2.SuspendLayout();
     67      this.flaSplitContainer.SuspendLayout();
    5368      this.SuspendLayout();
    5469      //
     
    5873      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
    5974      this.nameTextBox.Location = new System.Drawing.Point(72, 27);
    60       this.nameTextBox.Size = new System.Drawing.Size(604, 20);
     75      this.nameTextBox.Size = new System.Drawing.Size(640, 20);
    6176      this.nameTextBox.TabIndex = 5;
    6277      //
     
    6883      // infoLabel
    6984      //
    70       this.infoLabel.Location = new System.Drawing.Point(687, 30);
     85      this.infoLabel.Location = new System.Drawing.Point(723, 30);
    7186      this.infoLabel.TabIndex = 6;
    7287      //
    7388      // problemComboBox
    7489      //
    75       this.problemComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    76                   | System.Windows.Forms.AnchorStyles.Right)));
     90      this.problemComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
     91            | System.Windows.Forms.AnchorStyles.Right)));
    7792      this.problemComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
    7893      this.problemComboBox.FormattingEnabled = true;
    7994      this.problemComboBox.Location = new System.Drawing.Point(72, 0);
    8095      this.problemComboBox.Name = "problemComboBox";
    81       this.problemComboBox.Size = new System.Drawing.Size(574, 21);
     96      this.problemComboBox.Size = new System.Drawing.Size(610, 21);
    8297      this.problemComboBox.TabIndex = 1;
    8398      this.problemComboBox.SelectedValueChanged += new System.EventHandler(this.problemComboBox_SelectedValueChanged);
     
    95110      //
    96111      this.refreshButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
    97       this.refreshButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Refresh;
    98       this.refreshButton.Location = new System.Drawing.Point(682, -1);
     112      this.refreshButton.Location = new System.Drawing.Point(718, -1);
    99113      this.refreshButton.Name = "refreshButton";
    100114      this.refreshButton.Size = new System.Drawing.Size(24, 24);
     
    107121      //
    108122      this.cloneProblemButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
    109       this.cloneProblemButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Clone;
    110       this.cloneProblemButton.Location = new System.Drawing.Point(652, -1);
     123      this.cloneProblemButton.Location = new System.Drawing.Point(688, -1);
    111124      this.cloneProblemButton.Name = "cloneProblemButton";
    112125      this.cloneProblemButton.Size = new System.Drawing.Size(24, 24);
     
    116129      this.cloneProblemButton.Click += new System.EventHandler(this.cloneProblemButton_Click);
    117130      //
     131      // tabControl
     132      //
     133      this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     134            | System.Windows.Forms.AnchorStyles.Left)
     135            | System.Windows.Forms.AnchorStyles.Right)));
     136      this.tabControl.Controls.Add(this.parametersTabPage);
     137      this.tabControl.Controls.Add(this.flaAnalysisTabPage);
     138      this.tabControl.Location = new System.Drawing.Point(6, 53);
     139      this.tabControl.Name = "tabControl";
     140      this.tabControl.SelectedIndex = 0;
     141      this.tabControl.Size = new System.Drawing.Size(736, 473);
     142      this.tabControl.TabIndex = 8;
     143      //
     144      // parametersTabPage
     145      //
     146      this.parametersTabPage.Controls.Add(this.parameterCollectionView);
     147      this.parametersTabPage.Location = new System.Drawing.Point(4, 22);
     148      this.parametersTabPage.Name = "parametersTabPage";
     149      this.parametersTabPage.Padding = new System.Windows.Forms.Padding(3);
     150      this.parametersTabPage.Size = new System.Drawing.Size(692, 314);
     151      this.parametersTabPage.TabIndex = 0;
     152      this.parametersTabPage.Text = "Parameters";
     153      this.parametersTabPage.UseVisualStyleBackColor = true;
     154      //
    118155      // parameterCollectionView
    119156      //
    120157      this.parameterCollectionView.AllowEditingOfHiddenParameters = false;
    121       this.parameterCollectionView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    122                   | System.Windows.Forms.AnchorStyles.Left)
    123                   | System.Windows.Forms.AnchorStyles.Right)));
    124158      this.parameterCollectionView.Caption = "ParameterCollection View";
    125159      this.parameterCollectionView.Content = null;
    126       this.parameterCollectionView.Location = new System.Drawing.Point(0, 53);
     160      this.parameterCollectionView.Dock = System.Windows.Forms.DockStyle.Fill;
     161      this.parameterCollectionView.Location = new System.Drawing.Point(3, 3);
    127162      this.parameterCollectionView.Name = "parameterCollectionView";
    128       this.parameterCollectionView.ReadOnly = false;
    129       this.parameterCollectionView.Size = new System.Drawing.Size(706, 340);
    130       this.parameterCollectionView.TabIndex = 7;
     163      this.parameterCollectionView.ReadOnly = true;
     164      this.parameterCollectionView.ShowDetails = true;
     165      this.parameterCollectionView.Size = new System.Drawing.Size(686, 308);
     166      this.parameterCollectionView.TabIndex = 8;
     167      //
     168      // flaAnalysisTabPage
     169      //
     170      this.flaAnalysisTabPage.Controls.Add(this.flaSplitContainer);
     171      this.flaAnalysisTabPage.Location = new System.Drawing.Point(4, 22);
     172      this.flaAnalysisTabPage.Name = "flaAnalysisTabPage";
     173      this.flaAnalysisTabPage.Padding = new System.Windows.Forms.Padding(3);
     174      this.flaAnalysisTabPage.Size = new System.Drawing.Size(728, 447);
     175      this.flaAnalysisTabPage.TabIndex = 2;
     176      this.flaAnalysisTabPage.Text = "Fitness Landscape Analysis";
     177      this.flaAnalysisTabPage.UseVisualStyleBackColor = true;
     178      //
     179      // calculateButton
     180      //
     181      this.calculateButton.Location = new System.Drawing.Point(3, 3);
     182      this.calculateButton.Name = "calculateButton";
     183      this.calculateButton.Size = new System.Drawing.Size(26, 23);
     184      this.calculateButton.TabIndex = 8;
     185      this.calculateButton.Text = "Calculate";
     186      this.calculateButton.UseVisualStyleBackColor = true;
     187      this.calculateButton.Click += new System.EventHandler(this.calculateButton_Click);
     188      //
     189      // flaSplitContainer
     190      //
     191      this.flaSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
     192      this.flaSplitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
     193      this.flaSplitContainer.Location = new System.Drawing.Point(3, 3);
     194      this.flaSplitContainer.Name = "flaSplitContainer";
     195      //
     196      // flaSplitContainer.Panel1
     197      //
     198      this.flaSplitContainer.Panel1.Controls.Add(this.calculateButton);
     199      //
     200      // flaSplitContainer.Panel2
     201      //
     202      this.flaSplitContainer.Panel2.Controls.Add(this.characteristicsMatrixView);
     203      this.flaSplitContainer.Panel2.Controls.Add(this.uploadCharacteristicsButton);
     204      this.flaSplitContainer.Panel2.Controls.Add(this.downloadCharacteristicsButton);
     205      this.flaSplitContainer.Size = new System.Drawing.Size(722, 441);
     206      this.flaSplitContainer.SplitterDistance = 363;
     207      this.flaSplitContainer.TabIndex = 7;
     208      //
     209      // characteristicsMatrixView
     210      //
     211      this.characteristicsMatrixView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     212            | System.Windows.Forms.AnchorStyles.Left)
     213            | System.Windows.Forms.AnchorStyles.Right)));
     214      this.characteristicsMatrixView.Caption = "StringConvertibleMatrix View";
     215      this.characteristicsMatrixView.Content = null;
     216      this.characteristicsMatrixView.Location = new System.Drawing.Point(3, 32);
     217      this.characteristicsMatrixView.Name = "characteristicsMatrixView";
     218      this.characteristicsMatrixView.ReadOnly = false;
     219      this.characteristicsMatrixView.ShowRowsAndColumnsTextBox = false;
     220      this.characteristicsMatrixView.ShowStatisticalInformation = false;
     221      this.characteristicsMatrixView.Size = new System.Drawing.Size(349, 406);
     222      this.characteristicsMatrixView.TabIndex = 4;
     223      //
     224      // uploadCharacteristicsButton
     225      //
     226      this.uploadCharacteristicsButton.Location = new System.Drawing.Point(35, 3);
     227      this.uploadCharacteristicsButton.Name = "uploadCharacteristicsButton";
     228      this.uploadCharacteristicsButton.Size = new System.Drawing.Size(26, 23);
     229      this.uploadCharacteristicsButton.TabIndex = 5;
     230      this.uploadCharacteristicsButton.Text = "Upload";
     231      this.uploadCharacteristicsButton.UseVisualStyleBackColor = true;
     232      this.uploadCharacteristicsButton.Click += new System.EventHandler(this.uploadCharacteristicsButton_Click);
     233      //
     234      // downloadCharacteristicsButton
     235      //
     236      this.downloadCharacteristicsButton.Location = new System.Drawing.Point(3, 3);
     237      this.downloadCharacteristicsButton.Name = "downloadCharacteristicsButton";
     238      this.downloadCharacteristicsButton.Size = new System.Drawing.Size(26, 23);
     239      this.downloadCharacteristicsButton.TabIndex = 6;
     240      this.downloadCharacteristicsButton.Text = "Download";
     241      this.downloadCharacteristicsButton.UseVisualStyleBackColor = true;
     242      this.downloadCharacteristicsButton.Click += new System.EventHandler(this.downloadCharacteristicsButton_Click);
    131243      //
    132244      // OKBProblemView
     
    134246      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    135247      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     248      this.Controls.Add(this.tabControl);
    136249      this.Controls.Add(this.problemComboBox);
    137       this.Controls.Add(this.parameterCollectionView);
    138250      this.Controls.Add(this.problemLabel);
    139251      this.Controls.Add(this.cloneProblemButton);
    140252      this.Controls.Add(this.refreshButton);
    141253      this.Name = "OKBProblemView";
    142       this.Size = new System.Drawing.Size(706, 393);
     254      this.Size = new System.Drawing.Size(742, 526);
    143255      this.Controls.SetChildIndex(this.refreshButton, 0);
    144256      this.Controls.SetChildIndex(this.cloneProblemButton, 0);
    145257      this.Controls.SetChildIndex(this.problemLabel, 0);
    146       this.Controls.SetChildIndex(this.parameterCollectionView, 0);
     258      this.Controls.SetChildIndex(this.problemComboBox, 0);
     259      this.Controls.SetChildIndex(this.tabControl, 0);
    147260      this.Controls.SetChildIndex(this.nameTextBox, 0);
    148261      this.Controls.SetChildIndex(this.nameLabel, 0);
    149262      this.Controls.SetChildIndex(this.infoLabel, 0);
    150       this.Controls.SetChildIndex(this.problemComboBox, 0);
    151263      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
     264      this.tabControl.ResumeLayout(false);
     265      this.parametersTabPage.ResumeLayout(false);
     266      this.flaAnalysisTabPage.ResumeLayout(false);
     267      this.flaSplitContainer.Panel1.ResumeLayout(false);
     268      this.flaSplitContainer.Panel2.ResumeLayout(false);
     269      ((System.ComponentModel.ISupportInitialize)(this.flaSplitContainer)).EndInit();
     270      this.flaSplitContainer.ResumeLayout(false);
    152271      this.ResumeLayout(false);
    153272      this.PerformLayout();
     
    161280    private System.Windows.Forms.Button refreshButton;
    162281    private System.Windows.Forms.Button cloneProblemButton;
    163     private HeuristicLab.Core.Views.ParameterCollectionView parameterCollectionView;
     282    private System.Windows.Forms.TabControl tabControl;
     283    private System.Windows.Forms.TabPage parametersTabPage;
     284    private Core.Views.ParameterCollectionView parameterCollectionView;
     285    private System.Windows.Forms.TabPage flaAnalysisTabPage;
     286    private System.Windows.Forms.Button calculateButton;
     287    private System.Windows.Forms.SplitContainer flaSplitContainer;
     288    private Data.Views.StringConvertibleMatrixView characteristicsMatrixView;
     289    private System.Windows.Forms.Button uploadCharacteristicsButton;
     290    private System.Windows.Forms.Button downloadCharacteristicsButton;
    164291
    165292
  • stable/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBProblemView.cs

    r14186 r15081  
    2020#endregion
    2121
     22using HeuristicLab.Common.Resources;
     23using HeuristicLab.Core;
     24using HeuristicLab.Core.Views;
     25using HeuristicLab.Data;
     26using HeuristicLab.MainForm;
     27using HeuristicLab.Optimization;
     28using HeuristicLab.PluginInfrastructure;
    2229using System;
     30using System.Collections.Generic;
     31using System.Drawing;
    2332using System.Linq;
    2433using System.Windows.Forms;
    25 using HeuristicLab.Core.Views;
    26 using HeuristicLab.MainForm;
    2734
    2835namespace HeuristicLab.Clients.OKB.RunCreation {
     
    3138  [Content(typeof(MultiObjectiveOKBProblem), true)]
    3239  public sealed partial class OKBProblemView : NamedItemView {
     40    private readonly CheckedItemList<ICharacteristicCalculator> calculatorList;
     41
    3342    public new OKBProblem Content {
    3443      get { return (OKBProblem)base.Content; }
     
    3847    public OKBProblemView() {
    3948      InitializeComponent();
     49      var calculatorListView = new CheckedItemListView<ICharacteristicCalculator>() {
     50        Anchor = AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right | AnchorStyles.Top,
     51        Location = new Point(flaSplitContainer.Padding.Left, calculateButton.Location.Y + calculateButton.Height + calculateButton.Padding.Bottom + 3),
     52      };
     53      calculatorListView.Size = new Size(flaSplitContainer.Panel1.Size.Width - flaSplitContainer.Panel1.Padding.Horizontal,
     54          flaSplitContainer.Panel1.Height - calculatorListView.Location.Y - flaSplitContainer.Panel1.Padding.Bottom);
     55      calculatorList = new CheckedItemList<ICharacteristicCalculator>();
     56      calculatorList.ItemsAdded += CalculatorListOnChanged;
     57      calculatorList.ItemsRemoved += CalculatorListOnChanged;
     58      calculatorList.ItemsReplaced += CalculatorListOnChanged;
     59      calculatorList.CollectionReset += CalculatorListOnChanged;
     60      calculatorList.CheckedItemsChanged += CalculatorListOnChanged;
     61
     62      calculatorListView.Content = calculatorList.AsReadOnly();
     63
     64      flaSplitContainer.Panel1.Controls.Add(calculatorListView);
     65      calculateButton.Text = string.Empty;
     66      calculateButton.Image = VSImageLibrary.Play;
     67      refreshButton.Text = string.Empty;
     68      refreshButton.Image = VSImageLibrary.Refresh;
     69      cloneProblemButton.Text = string.Empty;
     70      cloneProblemButton.Image = VSImageLibrary.Clone;
     71      downloadCharacteristicsButton.Text = string.Empty;
     72      downloadCharacteristicsButton.Image = VSImageLibrary.Refresh;
     73      uploadCharacteristicsButton.Text = string.Empty;
     74      uploadCharacteristicsButton.Image = VSImageLibrary.PublishToWeb;
     75    }
     76
     77    private void CalculatorListOnChanged(object sender, EventArgs e) {
     78      SetEnabledStateOfControls();
    4079    }
    4180
     
    65104        parameterCollectionView.Content = Content.Parameters;
    66105      }
     106      UpdateCharacteristicCalculators();
    67107    }
    68108
     
    73113      refreshButton.Enabled = (Content != null) && !ReadOnly && !Locked;
    74114      parameterCollectionView.Enabled = Content != null;
     115      characteristicsMatrixView.Enabled = Content != null;
     116      downloadCharacteristicsButton.Enabled = Content != null && Content.ProblemId != -1 && !Locked;
     117      uploadCharacteristicsButton.Enabled = Content != null && Content.ProblemId != -1 && !Locked && !ReadOnly
     118        && characteristicsMatrixView.Content != null && characteristicsMatrixView.Content.Rows > 0;
     119      calculateButton.Enabled = Content != null && Content.ProblemId != -1 && !Locked && !ReadOnly && calculatorList.CheckedItems.Any();
    75120    }
    76121
     
    79124      RunCreationClient.Instance.Refreshed -= new EventHandler(RunCreationClient_Refreshed);
    80125      base.OnClosed(e);
     126    }
     127
     128    private void UpdateCharacteristicCalculators() {
     129      calculatorList.Clear();
     130      if (Content == null || Content.ProblemId == -1) return;
     131      var problem = Content.CloneProblem();
     132      var calculators = ApplicationManager.Manager.GetInstances<ICharacteristicCalculator>().ToList();
     133      foreach (var calc in calculators) {
     134        calc.Problem = problem;
     135        if (!calc.CanCalculate()) continue;
     136        calculatorList.Add(calc, true);
     137      }
    81138    }
    82139
     
    103160      if (InvokeRequired)
    104161        Invoke(new EventHandler(Content_ProblemChanged), sender, e);
    105       else
     162      else {
    106163        OnContentChanged();
     164        SetEnabledStateOfControls();
     165      }
    107166    }
    108167    #endregion
     
    123182      }
    124183    }
     184    private void downloadCharacteristicsButton_Click(object sender, EventArgs e) {
     185      var values = RunCreationClient.GetCharacteristicValues(Content.ProblemId).ToList();
     186      var content = new StringMatrix(values.Count, 3);
     187      for (var i = 0; i < values.Count; i++) {
     188        content[i, 0] = values[i].Name;
     189        content[i, 1] = values[i].GetValue();
     190        content[i, 2] = values[i].GetType().Name;
     191      }
     192      characteristicsMatrixView.Content = content;
     193      SetEnabledStateOfControls();
     194    }
     195    private void uploadCharacteristicsButton_Click(object sender, EventArgs e) {
     196      var matrix = characteristicsMatrixView.Content as StringMatrix;
     197      if (matrix == null) return;
     198      var values = new List<Value>(matrix.Rows);
     199      for (var i = 0; i < matrix.Rows; i++) {
     200        var name = matrix[i, 0];
     201        var strValue = matrix[i, 1];
     202        var type = matrix[i, 2];
     203        values.Add(Value.Create(name, strValue, type));
     204      }
     205      try {
     206        RunCreationClient.SetCharacteristicValues(Content.ProblemId, values);
     207      } catch (Exception ex) { ErrorHandling.ShowErrorDialog(ex); }
     208    }
     209    private void calculateButton_Click(object sender, EventArgs e) {
     210      var calculators = calculatorList.CheckedItems.Select(x => x.Value).Where(x => x.CanCalculate()).ToList();
     211      if (calculators.Count == 0) return;
     212
     213      var results = new Dictionary<string, Value>();
     214      foreach (var calc in calculators) {
     215        foreach (var result in calc.Calculate())
     216          results[result.Name] = RunCreationClient.Instance.ConvertToValue(result.Value, result.Name);
     217      }
     218      var matrix = (characteristicsMatrixView.Content as StringMatrix) ?? (new StringMatrix(results.Count, 3));
     219      for (var i = 0; i < matrix.Rows; i++) {
     220        Value r;
     221        if (results.TryGetValue(matrix[i, 0], out r)) {
     222          matrix[i, 1] = r.GetValue();
     223          matrix[i, 2] = r.GetType().Name;
     224          results.Remove(matrix[i, 0]);
     225        }
     226      }
     227      if (results.Count == 0) return;
     228      var resultsList = results.ToList();
     229      var counter = resultsList.Count - 1;
     230      for (var i = 0; i < matrix.Rows; i++) {
     231        if (string.IsNullOrEmpty(matrix[i, 0])) {
     232          matrix[i, 0] = resultsList[counter].Key;
     233          matrix[i, 1] = resultsList[counter].Value.GetValue();
     234          matrix[i, 2] = resultsList[counter].Value.GetType().Name;
     235          resultsList.RemoveAt(counter);
     236          counter--;
     237          if (counter < 0) return;
     238        }
     239      }
     240      if (counter >= 0) {
     241        ((IStringConvertibleMatrix)matrix).Rows += counter + 1;
     242        for (var i = matrix.Rows - 1; counter >= 0; i--) {
     243          matrix[i, 0] = resultsList[0].Key;
     244          matrix[i, 1] = resultsList[0].Value.GetValue();
     245          matrix[i, 2] = resultsList[0].Value.GetType().Name;
     246          resultsList.RemoveAt(0);
     247          counter--;
     248        }
     249      }
     250      characteristicsMatrixView.Content = matrix;
     251      SetEnabledStateOfControls();
     252    }
    125253    #endregion
    126254
     
    132260    }
    133261    #endregion
     262
    134263  }
    135264}
  • stable/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj

    r11920 r15081  
    158158    <Compile Include="RunCreation\RunCreationClient.cs" />
    159159    <Compile Include="RunCreation\ServiceClient\Algorithm.cs" />
     160    <Compile Include="RunCreation\ServiceClient\BoolValue.cs" />
     161    <Compile Include="RunCreation\ServiceClient\TimeSpanValue.cs" />
     162    <Compile Include="RunCreation\ServiceClient\StringValue.cs" />
     163    <Compile Include="RunCreation\ServiceClient\PercentValue.cs" />
     164    <Compile Include="RunCreation\ServiceClient\DoubleValue.cs" />
     165    <Compile Include="RunCreation\ServiceClient\FloatValue.cs" />
     166    <Compile Include="RunCreation\ServiceClient\LongValue.cs" />
     167    <Compile Include="RunCreation\ServiceClient\IntValue.cs" />
    160168    <Compile Include="RunCreation\ServiceClient\Problem.cs" />
    161169    <Compile Include="RunCreation\ServiceClient\RunCreationServiceClient.cs" />
    162170    <Compile Include="Properties\AssemblyInfo.cs" />
     171    <Compile Include="RunCreation\ServiceClient\Value.cs" />
    163172    <Compile Include="RunCreation\SingleObjectiveOKBProblem.cs" />
    164173    <None Include="app.config" />
  • stable/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/QueryServiceClient.cs

    r13483 r15081  
    1919        "fer")]
    2020    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringComparisonFilter))]
    21     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonFilter))]
    2221    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringComparisonAvailableValuesFilter))]
    2322    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonAvailableValuesFilter))]
     23    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonFilter))]
    2424    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter))]
    25     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
    26     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
    27     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
    28     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
     25    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
     26    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
    2927    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
    3028    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter))]
     
    3230    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter))]
    3331    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
    34     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
    35     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
     32    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
     33    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
     34    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
     35    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
    3636    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter))]
    3737    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
     
    113113    [System.Runtime.Serialization.DataContractAttribute(Name="StringComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    114114        "fer")]
    115     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonFilter))]
    116115    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringComparisonAvailableValuesFilter))]
    117116    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonAvailableValuesFilter))]
     117    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonFilter))]
    118118    public partial class StringComparisonFilter : HeuristicLab.Clients.OKB.Query.Filter
    119119    {
     
    160160    [System.Diagnostics.DebuggerStepThroughAttribute()]
    161161    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    162     [System.Runtime.Serialization.DataContractAttribute(Name="NameStringComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    163         "fer")]
    164     public partial class NameStringComparisonFilter : HeuristicLab.Clients.OKB.Query.StringComparisonFilter
     162    [System.Runtime.Serialization.DataContractAttribute(Name="StringComparisonAvailableValuesFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     163        "fer")]
     164    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonAvailableValuesFilter))]
     165    public partial class StringComparisonAvailableValuesFilter : HeuristicLab.Clients.OKB.Query.StringComparisonFilter
     166    {
     167       
     168        private System.Collections.Generic.List<string> AvailableValuesField;
     169       
     170        [System.Runtime.Serialization.DataMemberAttribute()]
     171        public System.Collections.Generic.List<string> AvailableValues
     172        {
     173            get
     174            {
     175                return this.AvailableValuesField;
     176            }
     177            set
     178            {
     179                if ((object.ReferenceEquals(this.AvailableValuesField, value) != true))
     180                {
     181                    this.AvailableValuesField = value;
     182                    this.RaisePropertyChanged("AvailableValues");
     183                }
     184            }
     185        }
     186    }
     187   
     188    [System.Diagnostics.DebuggerStepThroughAttribute()]
     189    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     190    [System.Runtime.Serialization.DataContractAttribute(Name="NameStringComparisonAvailableValuesFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     191        "fer")]
     192    public partial class NameStringComparisonAvailableValuesFilter : HeuristicLab.Clients.OKB.Query.StringComparisonAvailableValuesFilter
    165193    {
    166194       
     
    187215    [System.Diagnostics.DebuggerStepThroughAttribute()]
    188216    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    189     [System.Runtime.Serialization.DataContractAttribute(Name="StringComparisonAvailableValuesFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    190         "fer")]
    191     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonAvailableValuesFilter))]
    192     public partial class StringComparisonAvailableValuesFilter : HeuristicLab.Clients.OKB.Query.StringComparisonFilter
    193     {
    194        
    195         private System.Collections.Generic.List<string> AvailableValuesField;
    196        
    197         [System.Runtime.Serialization.DataMemberAttribute()]
    198         public System.Collections.Generic.List<string> AvailableValues
    199         {
    200             get
    201             {
    202                 return this.AvailableValuesField;
    203             }
    204             set
    205             {
    206                 if ((object.ReferenceEquals(this.AvailableValuesField, value) != true))
    207                 {
    208                     this.AvailableValuesField = value;
    209                     this.RaisePropertyChanged("AvailableValues");
    210                 }
    211             }
    212         }
    213     }
    214    
    215     [System.Diagnostics.DebuggerStepThroughAttribute()]
    216     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    217     [System.Runtime.Serialization.DataContractAttribute(Name="NameStringComparisonAvailableValuesFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    218         "fer")]
    219     public partial class NameStringComparisonAvailableValuesFilter : HeuristicLab.Clients.OKB.Query.StringComparisonAvailableValuesFilter
     217    [System.Runtime.Serialization.DataContractAttribute(Name="NameStringComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     218        "fer")]
     219    public partial class NameStringComparisonFilter : HeuristicLab.Clients.OKB.Query.StringComparisonFilter
    220220    {
    221221       
     
    244244    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    245245        "fer")]
    246     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
    247     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
    248     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
    249     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
     246    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
     247    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
    250248    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
    251249    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter))]
     
    253251    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter))]
    254252    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
    255     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
    256     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
     253    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
     254    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
     255    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
     256    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
    257257    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter))]
    258258    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
     
    282282    [System.Diagnostics.DebuggerStepThroughAttribute()]
    283283    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     284    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     285        "fer")]
     286    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
     287    public partial class OrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
     288    {
     289       
     290        private float ValueField;
     291       
     292        [System.Runtime.Serialization.DataMemberAttribute()]
     293        public float Value
     294        {
     295            get
     296            {
     297                return this.ValueField;
     298            }
     299            set
     300            {
     301                if ((this.ValueField.Equals(value) != true))
     302                {
     303                    this.ValueField = value;
     304                    this.RaisePropertyChanged("Value");
     305                }
     306            }
     307        }
     308    }
     309   
     310    [System.Diagnostics.DebuggerStepThroughAttribute()]
     311    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     312    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     313        "fer")]
     314    public partial class NameOrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter
     315    {
     316       
     317        private string NameField;
     318       
     319        [System.Runtime.Serialization.DataMemberAttribute()]
     320        public string Name
     321        {
     322            get
     323            {
     324                return this.NameField;
     325            }
     326            set
     327            {
     328                if ((object.ReferenceEquals(this.NameField, value) != true))
     329                {
     330                    this.NameField = value;
     331                    this.RaisePropertyChanged("Name");
     332                }
     333            }
     334        }
     335    }
     336   
     337    [System.Diagnostics.DebuggerStepThroughAttribute()]
     338    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     339    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDateTimeFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     340        "fer")]
     341    public partial class OrdinalComparisonDateTimeFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
     342    {
     343       
     344        private System.DateTime ValueField;
     345       
     346        [System.Runtime.Serialization.DataMemberAttribute()]
     347        public System.DateTime Value
     348        {
     349            get
     350            {
     351                return this.ValueField;
     352            }
     353            set
     354            {
     355                if ((this.ValueField.Equals(value) != true))
     356                {
     357                    this.ValueField = value;
     358                    this.RaisePropertyChanged("Value");
     359                }
     360            }
     361        }
     362    }
     363   
     364    [System.Diagnostics.DebuggerStepThroughAttribute()]
     365    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     366    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     367        "fer")]
     368    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
     369    public partial class OrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
     370    {
     371       
     372        private int ValueField;
     373       
     374        [System.Runtime.Serialization.DataMemberAttribute()]
     375        public int Value
     376        {
     377            get
     378            {
     379                return this.ValueField;
     380            }
     381            set
     382            {
     383                if ((this.ValueField.Equals(value) != true))
     384                {
     385                    this.ValueField = value;
     386                    this.RaisePropertyChanged("Value");
     387                }
     388            }
     389        }
     390    }
     391   
     392    [System.Diagnostics.DebuggerStepThroughAttribute()]
     393    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     394    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     395        "fer")]
     396    public partial class NameOrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter
     397    {
     398       
     399        private string NameField;
     400       
     401        [System.Runtime.Serialization.DataMemberAttribute()]
     402        public string Name
     403        {
     404            get
     405            {
     406                return this.NameField;
     407            }
     408            set
     409            {
     410                if ((object.ReferenceEquals(this.NameField, value) != true))
     411                {
     412                    this.NameField = value;
     413                    this.RaisePropertyChanged("Name");
     414                }
     415            }
     416        }
     417    }
     418   
     419    [System.Diagnostics.DebuggerStepThroughAttribute()]
     420    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     421    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     422        "fer")]
     423    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
     424    public partial class OrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
     425    {
     426       
     427        private long ValueField;
     428       
     429        [System.Runtime.Serialization.DataMemberAttribute()]
     430        public long Value
     431        {
     432            get
     433            {
     434                return this.ValueField;
     435            }
     436            set
     437            {
     438                if ((this.ValueField.Equals(value) != true))
     439                {
     440                    this.ValueField = value;
     441                    this.RaisePropertyChanged("Value");
     442                }
     443            }
     444        }
     445    }
     446   
     447    [System.Diagnostics.DebuggerStepThroughAttribute()]
     448    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     449    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     450        "fer")]
     451    public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter
     452    {
     453       
     454        private string NameField;
     455       
     456        [System.Runtime.Serialization.DataMemberAttribute()]
     457        public string Name
     458        {
     459            get
     460            {
     461                return this.NameField;
     462            }
     463            set
     464            {
     465                if ((object.ReferenceEquals(this.NameField, value) != true))
     466                {
     467                    this.NameField = value;
     468                    this.RaisePropertyChanged("Name");
     469                }
     470            }
     471        }
     472    }
     473   
     474    [System.Diagnostics.DebuggerStepThroughAttribute()]
     475    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    284476    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDoubleFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    285477        "fer")]
     
    368560        "fer")]
    369561    public partial class NameOrdinalComparisonPercentFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter
    370     {
    371        
    372         private string NameField;
    373        
    374         [System.Runtime.Serialization.DataMemberAttribute()]
    375         public string Name
    376         {
    377             get
    378             {
    379                 return this.NameField;
    380             }
    381             set
    382             {
    383                 if ((object.ReferenceEquals(this.NameField, value) != true))
    384                 {
    385                     this.NameField = value;
    386                     this.RaisePropertyChanged("Name");
    387                 }
    388             }
    389         }
    390     }
    391    
    392     [System.Diagnostics.DebuggerStepThroughAttribute()]
    393     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    394     [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDateTimeFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    395         "fer")]
    396     public partial class OrdinalComparisonDateTimeFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
    397     {
    398        
    399         private System.DateTime ValueField;
    400        
    401         [System.Runtime.Serialization.DataMemberAttribute()]
    402         public System.DateTime Value
    403         {
    404             get
    405             {
    406                 return this.ValueField;
    407             }
    408             set
    409             {
    410                 if ((this.ValueField.Equals(value) != true))
    411                 {
    412                     this.ValueField = value;
    413                     this.RaisePropertyChanged("Value");
    414                 }
    415             }
    416         }
    417     }
    418    
    419     [System.Diagnostics.DebuggerStepThroughAttribute()]
    420     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    421     [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    422         "fer")]
    423     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
    424     public partial class OrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
    425     {
    426        
    427         private int ValueField;
    428        
    429         [System.Runtime.Serialization.DataMemberAttribute()]
    430         public int Value
    431         {
    432             get
    433             {
    434                 return this.ValueField;
    435             }
    436             set
    437             {
    438                 if ((this.ValueField.Equals(value) != true))
    439                 {
    440                     this.ValueField = value;
    441                     this.RaisePropertyChanged("Value");
    442                 }
    443             }
    444         }
    445     }
    446    
    447     [System.Diagnostics.DebuggerStepThroughAttribute()]
    448     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    449     [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    450         "fer")]
    451     public partial class NameOrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter
    452     {
    453        
    454         private string NameField;
    455        
    456         [System.Runtime.Serialization.DataMemberAttribute()]
    457         public string Name
    458         {
    459             get
    460             {
    461                 return this.NameField;
    462             }
    463             set
    464             {
    465                 if ((object.ReferenceEquals(this.NameField, value) != true))
    466                 {
    467                     this.NameField = value;
    468                     this.RaisePropertyChanged("Name");
    469                 }
    470             }
    471         }
    472     }
    473    
    474     [System.Diagnostics.DebuggerStepThroughAttribute()]
    475     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    476     [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    477         "fer")]
    478     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
    479     public partial class OrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
    480     {
    481        
    482         private long ValueField;
    483        
    484         [System.Runtime.Serialization.DataMemberAttribute()]
    485         public long Value
    486         {
    487             get
    488             {
    489                 return this.ValueField;
    490             }
    491             set
    492             {
    493                 if ((this.ValueField.Equals(value) != true))
    494                 {
    495                     this.ValueField = value;
    496                     this.RaisePropertyChanged("Value");
    497                 }
    498             }
    499         }
    500     }
    501    
    502     [System.Diagnostics.DebuggerStepThroughAttribute()]
    503     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    504     [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    505         "fer")]
    506     public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter
    507     {
    508        
    509         private string NameField;
    510        
    511         [System.Runtime.Serialization.DataMemberAttribute()]
    512         public string Name
    513         {
    514             get
    515             {
    516                 return this.NameField;
    517             }
    518             set
    519             {
    520                 if ((object.ReferenceEquals(this.NameField, value) != true))
    521                 {
    522                     this.NameField = value;
    523                     this.RaisePropertyChanged("Name");
    524                 }
    525             }
    526         }
    527     }
    528    
    529     [System.Diagnostics.DebuggerStepThroughAttribute()]
    530     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    531     [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    532         "fer")]
    533     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
    534     public partial class OrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
    535     {
    536        
    537         private float ValueField;
    538        
    539         [System.Runtime.Serialization.DataMemberAttribute()]
    540         public float Value
    541         {
    542             get
    543             {
    544                 return this.ValueField;
    545             }
    546             set
    547             {
    548                 if ((this.ValueField.Equals(value) != true))
    549                 {
    550                     this.ValueField = value;
    551                     this.RaisePropertyChanged("Value");
    552                 }
    553             }
    554         }
    555     }
    556    
    557     [System.Diagnostics.DebuggerStepThroughAttribute()]
    558     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    559     [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    560         "fer")]
    561     public partial class NameOrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter
    562562    {
    563563       
     
    13641364    [System.Runtime.Serialization.DataContractAttribute(Name="Value", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    13651365        "fer")]
    1366     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BinaryValue))]
    1367     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringValue))]
     1366    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.LongValue))]
     1367    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.FloatValue))]
    13681368    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.DoubleValue))]
    1369     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.PercentValue))]
    1370     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.FloatValue))]
    1371     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BoolValue))]
    13721369    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.TimeSpanValue))]
    13731370    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.IntValue))]
    1374     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.LongValue))]
     1371    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.PercentValue))]
     1372    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BoolValue))]
     1373    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringValue))]
     1374    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BinaryValue))]
    13751375    public partial class Value : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    13761376    {
     
    15131513    [System.Diagnostics.DebuggerStepThroughAttribute()]
    15141514    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1515     [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    1516         "fer")]
    1517     public partial class BinaryValue : HeuristicLab.Clients.OKB.Query.Value
    1518     {
    1519        
    1520         private byte[] ValueField;
    1521        
    1522         [System.Runtime.Serialization.DataMemberAttribute()]
    1523         public byte[] Value
     1515    [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     1516        "fer")]
     1517    public partial class LongValue : HeuristicLab.Clients.OKB.Query.Value
     1518    {
     1519       
     1520        private long ValueField;
     1521       
     1522        [System.Runtime.Serialization.DataMemberAttribute()]
     1523        public long Value
    15241524        {
    15251525            get
     
    15291529            set
    15301530            {
    1531                 if ((object.ReferenceEquals(this.ValueField, value) != true))
     1531                if ((this.ValueField.Equals(value) != true))
    15321532                {
    15331533                    this.ValueField = value;
     
    15401540    [System.Diagnostics.DebuggerStepThroughAttribute()]
    15411541    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1542     [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    1543         "fer")]
    1544     public partial class StringValue : HeuristicLab.Clients.OKB.Query.Value
    1545     {
    1546        
    1547         private string ValueField;
    1548        
    1549         [System.Runtime.Serialization.DataMemberAttribute()]
    1550         public string Value
     1542    [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     1543        "fer")]
     1544    public partial class FloatValue : HeuristicLab.Clients.OKB.Query.Value
     1545    {
     1546       
     1547        private float ValueField;
     1548       
     1549        [System.Runtime.Serialization.DataMemberAttribute()]
     1550        public float Value
    15511551        {
    15521552            get
     
    15561556            set
    15571557            {
    1558                 if ((object.ReferenceEquals(this.ValueField, value) != true))
     1558                if ((this.ValueField.Equals(value) != true))
    15591559                {
    15601560                    this.ValueField = value;
     
    15941594    [System.Diagnostics.DebuggerStepThroughAttribute()]
    15951595    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1596     [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    1597         "fer")]
    1598     public partial class PercentValue : HeuristicLab.Clients.OKB.Query.Value
    1599     {
    1600        
    1601         private double ValueField;
    1602        
    1603         [System.Runtime.Serialization.DataMemberAttribute()]
    1604         public double Value
     1596    [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     1597        "fer")]
     1598    public partial class TimeSpanValue : HeuristicLab.Clients.OKB.Query.Value
     1599    {
     1600       
     1601        private long ValueField;
     1602       
     1603        [System.Runtime.Serialization.DataMemberAttribute()]
     1604        public long Value
    16051605        {
    16061606            get
     
    16211621    [System.Diagnostics.DebuggerStepThroughAttribute()]
    16221622    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1623     [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    1624         "fer")]
    1625     public partial class FloatValue : HeuristicLab.Clients.OKB.Query.Value
    1626     {
    1627        
    1628         private float ValueField;
    1629        
    1630         [System.Runtime.Serialization.DataMemberAttribute()]
    1631         public float Value
     1623    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     1624        "fer")]
     1625    public partial class IntValue : HeuristicLab.Clients.OKB.Query.Value
     1626    {
     1627       
     1628        private int ValueField;
     1629       
     1630        [System.Runtime.Serialization.DataMemberAttribute()]
     1631        public int Value
    16321632        {
    16331633            get
     
    16481648    [System.Diagnostics.DebuggerStepThroughAttribute()]
    16491649    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1650     [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    1651         "fer")]
    1652     public partial class BoolValue : HeuristicLab.Clients.OKB.Query.Value
    1653     {
    1654        
    1655         private bool ValueField;
    1656        
    1657         [System.Runtime.Serialization.DataMemberAttribute()]
    1658         public bool Value
     1650    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     1651        "fer")]
     1652    public partial class PercentValue : HeuristicLab.Clients.OKB.Query.Value
     1653    {
     1654       
     1655        private double ValueField;
     1656       
     1657        [System.Runtime.Serialization.DataMemberAttribute()]
     1658        public double Value
    16591659        {
    16601660            get
     
    16751675    [System.Diagnostics.DebuggerStepThroughAttribute()]
    16761676    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1677     [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    1678         "fer")]
    1679     public partial class TimeSpanValue : HeuristicLab.Clients.OKB.Query.Value
    1680     {
    1681        
    1682         private long ValueField;
    1683        
    1684         [System.Runtime.Serialization.DataMemberAttribute()]
    1685         public long Value
     1677    [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     1678        "fer")]
     1679    public partial class BoolValue : HeuristicLab.Clients.OKB.Query.Value
     1680    {
     1681       
     1682        private bool ValueField;
     1683       
     1684        [System.Runtime.Serialization.DataMemberAttribute()]
     1685        public bool Value
    16861686        {
    16871687            get
     
    17021702    [System.Diagnostics.DebuggerStepThroughAttribute()]
    17031703    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1704     [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    1705         "fer")]
    1706     public partial class IntValue : HeuristicLab.Clients.OKB.Query.Value
    1707     {
    1708        
    1709         private int ValueField;
    1710        
    1711         [System.Runtime.Serialization.DataMemberAttribute()]
    1712         public int Value
     1704    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     1705        "fer")]
     1706    public partial class StringValue : HeuristicLab.Clients.OKB.Query.Value
     1707    {
     1708       
     1709        private string ValueField;
     1710       
     1711        [System.Runtime.Serialization.DataMemberAttribute()]
     1712        public string Value
    17131713        {
    17141714            get
     
    17181718            set
    17191719            {
    1720                 if ((this.ValueField.Equals(value) != true))
     1720                if ((object.ReferenceEquals(this.ValueField, value) != true))
    17211721                {
    17221722                    this.ValueField = value;
     
    17291729    [System.Diagnostics.DebuggerStepThroughAttribute()]
    17301730    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1731     [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
    1732         "fer")]
    1733     public partial class LongValue : HeuristicLab.Clients.OKB.Query.Value
    1734     {
    1735        
    1736         private long ValueField;
    1737        
    1738         [System.Runtime.Serialization.DataMemberAttribute()]
    1739         public long Value
     1731    [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
     1732        "fer")]
     1733    public partial class BinaryValue : HeuristicLab.Clients.OKB.Query.Value
     1734    {
     1735       
     1736        private byte[] ValueField;
     1737       
     1738        [System.Runtime.Serialization.DataMemberAttribute()]
     1739        public byte[] Value
    17401740        {
    17411741            get
     
    17451745            set
    17461746            {
    1747                 if ((this.ValueField.Equals(value) != true))
     1747                if ((object.ReferenceEquals(this.ValueField, value) != true))
    17481748                {
    17491749                    this.ValueField = value;
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/RunCreationClient.cs

    r14186 r15081  
    2222using System;
    2323using System.Collections.Generic;
     24using System.IO;
     25using System.Linq;
    2426using HeuristicLab.Clients.Common;
    2527using HeuristicLab.Common;
    2628using HeuristicLab.Core;
     29using HeuristicLab.Data;
     30using HeuristicLab.Persistence.Default.Xml;
    2731
    2832namespace HeuristicLab.Clients.OKB.RunCreation {
     
    6165        algorithms.AddRange(CallRunCreationService<List<Algorithm>>(s => s.GetAlgorithms("HeuristicLab 3.3")));
    6266        problems.AddRange(CallRunCreationService<List<Problem>>(s => s.GetProblems("HeuristicLab 3.3")));
    63       }
    64       finally {
     67      } finally {
    6568        OnRefreshed();
    6669      }
     
    7073        try {
    7174          Refresh();
    72         }
    73         catch (Exception ex) {
     75        } catch (Exception ex) {
    7476          return ex;
    7577        }
     
    101103    #endregion
    102104
     105    #region Characteristic Methods
     106    public static IEnumerable<Value> GetCharacteristicValues(long problemId) {
     107      return CallRunCreationService(s => s.GetCharacteristicValues(problemId));
     108    }
     109
     110    public static void SetCharacteristicValue(long problemId, Value v) {
     111      CallRunCreationService(s => s.SetCharacteristicValue(problemId, v));
     112    }
     113
     114    public static void SetCharacteristicValues(long problemId, IEnumerable<Value> values) {
     115      CallRunCreationService(s => s.SetCharacteristicValues(problemId, values.ToList()));
     116    }
     117    #endregion
     118
     119    #region OKB-Item Conversion
     120    public IItem ConvertToItem(Value value) {
     121      if (value is BinaryValue) {
     122        IItem item = null;
     123        var binaryValue = (BinaryValue)value;
     124        if (binaryValue.Value != null) {
     125          using (var stream = new MemoryStream(binaryValue.Value)) {
     126            try {
     127              item = XmlParser.Deserialize<IItem>(stream);
     128            } catch (Exception) { }
     129            stream.Close();
     130          }
     131        }
     132        return item ?? new Data.StringValue(value.DataType.Name);
     133      } else if (value is BoolValue) {
     134        return new Data.BoolValue(((BoolValue)value).Value);
     135      } else if (value is FloatValue) {
     136        return new Data.DoubleValue(((FloatValue)value).Value);
     137      } else if (value is PercentValue) {
     138        return new Data.PercentValue(((PercentValue)value).Value);
     139      } else if (value is DoubleValue) {
     140        return new Data.DoubleValue(((DoubleValue)value).Value);
     141      } else if (value is IntValue) {
     142        return new Data.IntValue((int)((IntValue)value).Value);
     143      } else if (value is LongValue) {
     144        return new Data.IntValue((int)((LongValue)value).Value);
     145      } else if (value is StringValue) {
     146        return new Data.StringValue(((StringValue)value).Value);
     147      } else if (value is TimeSpanValue) {
     148        return new Data.TimeSpanValue(TimeSpan.FromSeconds((long)((TimeSpanValue)value).Value));
     149      }
     150      return null;
     151    }
     152
     153    public Value ConvertToValue(IItem item, string name) {
     154      Value result = null;
     155      if (item is ValueTypeValue<bool>) {
     156        var boolValue = (ValueTypeValue<bool>)item;
     157        result = new BoolValue() { Value = boolValue.Value };
     158      } else if (item is ValueTypeValue<int>) {
     159        var intValue = (ValueTypeValue<int>)item;
     160        result = new IntValue() { Value = intValue.Value };
     161      } else if (item is ValueTypeValue<long>) {
     162        var longValue = (ValueTypeValue<long>)item;
     163        result = new LongValue() { Value = longValue.Value };
     164      } else if (item is ValueTypeValue<float>) {
     165        var floatValue = (ValueTypeValue<float>)item;
     166        result = new FloatValue() { Value = floatValue.Value };
     167      } else if (item is ValueTypeValue<double>) {
     168        var doubleValue = (ValueTypeValue<double>)item;
     169        if (item is Data.PercentValue) result = new PercentValue() { Value = doubleValue.Value };
     170        else result = new DoubleValue() { Value = doubleValue.Value };
     171      } else if (item is ValueTypeValue<TimeSpan>) {
     172        var timeSpanValue = (ValueTypeValue<TimeSpan>)item;
     173        result = new TimeSpanValue() { Value = (long)timeSpanValue.Value.TotalSeconds };
     174      } else if (item is Data.StringValue) {
     175        var stringValue = (Data.StringValue)item;
     176        result = new StringValue() { Value = stringValue.Value };
     177      }
     178      if (result == null) {
     179        var binaryValue = new BinaryValue {
     180          DataType = new DataType() {
     181            Name = item.GetType().Name,
     182            TypeName = item.GetType().AssemblyQualifiedName
     183          }
     184        };
     185        using (var memStream = new MemoryStream()) {
     186          XmlGenerator.Serialize(item, memStream);
     187          binaryValue.Value = memStream.ToArray();
     188        }
     189        result = binaryValue;
     190      }
     191      result.Name = name;
     192      return result;
     193    }
     194    #endregion
     195
    103196    #region Events
    104197    public event EventHandler Refreshing;
     
    119212      try {
    120213        call(client);
    121       }
    122       finally {
     214      } finally {
    123215        try {
    124216          client.Close();
    125         }
    126         catch (Exception) {
     217        } catch (Exception) {
    127218          client.Abort();
    128219        }
     
    133224      try {
    134225        return call(client);
    135       }
    136       finally {
     226      } finally {
    137227        try {
    138228          client.Close();
    139         }
    140         catch (Exception) {
     229        } catch (Exception) {
    141230          client.Abort();
    142231        }
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/BoolValue.cs

    r13503 r15081  
    2020#endregion
    2121
     22using System.Globalization;
     23
    2224namespace HeuristicLab.Clients.OKB.RunCreation {
    2325  public partial class BoolValue {
     26
    2427    public BoolValue() {
    2528      DataType = new DataType() {
     
    2831      };
    2932    }
     33
     34    public override string GetValue() {
     35      return Value.ToString(CultureInfo.CurrentCulture.NumberFormat);
     36    }
    3037  }
    3138}
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/DoubleValue.cs

    r13503 r15081  
    2020#endregion
    2121
     22using System.Globalization;
     23
    2224namespace HeuristicLab.Clients.OKB.RunCreation {
    2325  public partial class DoubleValue {
     
    2830      };
    2931    }
     32
     33    public override string GetValue() {
     34      return Value.ToString(CultureInfo.CurrentCulture.NumberFormat);
     35    }
    3036  }
    3137}
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/FloatValue.cs

    r13503 r15081  
    2020#endregion
    2121
     22using System.Globalization;
     23
    2224namespace HeuristicLab.Clients.OKB.RunCreation {
    2325  public partial class FloatValue {
     
    2830      };
    2931    }
     32
     33    public override string GetValue() {
     34      return Value.ToString(CultureInfo.CurrentCulture.NumberFormat);
     35    }
    3036  }
    3137}
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/IntValue.cs

    r13503 r15081  
    2020#endregion
    2121
     22using System.Globalization;
     23
    2224namespace HeuristicLab.Clients.OKB.RunCreation {
    2325  public partial class IntValue {
     
    2830      };
    2931    }
     32
     33    public override string GetValue() {
     34      return Value.ToString(CultureInfo.CurrentCulture.NumberFormat);
     35    }
    3036  }
    3137}
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/LongValue.cs

    r13503 r15081  
    2020#endregion
    2121
     22using System.Globalization;
     23
    2224namespace HeuristicLab.Clients.OKB.RunCreation {
    2325  public partial class LongValue {
     
    2830      };
    2931    }
     32
     33    public override string GetValue() {
     34      return Value.ToString(CultureInfo.CurrentCulture.NumberFormat);
     35    }
    3036  }
    3137}
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/PercentValue.cs

    r13503 r15081  
    2020#endregion
    2121
     22using System.Globalization;
     23
    2224namespace HeuristicLab.Clients.OKB.RunCreation {
    2325  public partial class PercentValue {
     
    2830      };
    2931    }
     32
     33    public override string GetValue() {
     34      return Value.ToString(CultureInfo.CurrentCulture.NumberFormat);
     35    }
    3036  }
    3137}
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs

    r8055 r15081  
    22// <auto-generated>
    33//     This code was generated by a tool.
    4 //     Runtime Version:4.0.30319.261
     4//     Runtime Version:4.0.30319.34209
    55//
    66//     Changes to this file may cause incorrect behavior and will be lost if
     
    99//------------------------------------------------------------------------------
    1010
    11 namespace HeuristicLab.Clients.OKB.RunCreation
    12 {
    13     using System.Runtime.Serialization;
    14    
    15    
    16     [System.Diagnostics.DebuggerStepThroughAttribute()]
    17     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    18     [System.Runtime.Serialization.DataContractAttribute(Name="Algorithm", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    19         "aTransfer")]
    20     public partial class Algorithm : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    21     {
    22        
    23         private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    24        
    25         private HeuristicLab.Clients.OKB.RunCreation.AlgorithmClass AlgorithmClassField;
    26        
    27         private HeuristicLab.Clients.OKB.RunCreation.DataType DataTypeField;
    28        
    29         private string DescriptionField;
    30        
    31         private long IdField;
    32        
    33         private string NameField;
    34        
    35         public System.Runtime.Serialization.ExtensionDataObject ExtensionData
    36         {
    37             get
    38             {
    39                 return this.extensionDataField;
    40             }
    41             set
    42             {
    43                 this.extensionDataField = value;
    44             }
    45         }
    46        
    47         [System.Runtime.Serialization.DataMemberAttribute()]
    48         public HeuristicLab.Clients.OKB.RunCreation.AlgorithmClass AlgorithmClass
    49         {
    50             get
    51             {
    52                 return this.AlgorithmClassField;
    53             }
    54             set
    55             {
    56                 if ((object.ReferenceEquals(this.AlgorithmClassField, value) != true))
    57                 {
    58                     this.AlgorithmClassField = value;
    59                     this.RaisePropertyChanged("AlgorithmClass");
    60                 }
    61             }
    62         }
    63        
    64         [System.Runtime.Serialization.DataMemberAttribute()]
    65         public HeuristicLab.Clients.OKB.RunCreation.DataType DataType
    66         {
    67             get
    68             {
    69                 return this.DataTypeField;
    70             }
    71             set
    72             {
    73                 if ((object.ReferenceEquals(this.DataTypeField, value) != true))
    74                 {
    75                     this.DataTypeField = value;
    76                     this.RaisePropertyChanged("DataType");
    77                 }
    78             }
    79         }
    80        
    81         [System.Runtime.Serialization.DataMemberAttribute()]
    82         public string Description
    83         {
    84             get
    85             {
    86                 return this.DescriptionField;
    87             }
    88             set
    89             {
    90                 if ((object.ReferenceEquals(this.DescriptionField, value) != true))
    91                 {
    92                     this.DescriptionField = value;
    93                     this.RaisePropertyChanged("Description");
    94                 }
    95             }
    96         }
    97        
    98         [System.Runtime.Serialization.DataMemberAttribute()]
    99         public long Id
    100         {
    101             get
    102             {
    103                 return this.IdField;
    104             }
    105             set
    106             {
    107                 if ((this.IdField.Equals(value) != true))
    108                 {
    109                     this.IdField = value;
    110                     this.RaisePropertyChanged("Id");
    111                 }
    112             }
    113         }
    114        
    115         [System.Runtime.Serialization.DataMemberAttribute()]
    116         public string Name
    117         {
    118             get
    119             {
    120                 return this.NameField;
    121             }
    122             set
    123             {
    124                 if ((object.ReferenceEquals(this.NameField, value) != true))
    125                 {
    126                     this.NameField = value;
    127                     this.RaisePropertyChanged("Name");
    128                 }
    129             }
    130         }
    131        
    132         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    133        
    134         protected void RaisePropertyChanged(string propertyName)
    135         {
    136             System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    137             if ((propertyChanged != null))
    138             {
    139                 propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    140             }
    141         }
    142     }
    143    
    144     [System.Diagnostics.DebuggerStepThroughAttribute()]
    145     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    146     [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmClass", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    147         "aTransfer")]
    148     public partial class AlgorithmClass : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    149     {
    150        
    151         private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    152        
    153         private string DescriptionField;
    154        
    155         private string NameField;
    156        
    157         public System.Runtime.Serialization.ExtensionDataObject ExtensionData
    158         {
    159             get
    160             {
    161                 return this.extensionDataField;
    162             }
    163             set
    164             {
    165                 this.extensionDataField = value;
    166             }
    167         }
    168        
    169         [System.Runtime.Serialization.DataMemberAttribute()]
    170         public string Description
    171         {
    172             get
    173             {
    174                 return this.DescriptionField;
    175             }
    176             set
    177             {
    178                 if ((object.ReferenceEquals(this.DescriptionField, value) != true))
    179                 {
    180                     this.DescriptionField = value;
    181                     this.RaisePropertyChanged("Description");
    182                 }
    183             }
    184         }
    185        
    186         [System.Runtime.Serialization.DataMemberAttribute()]
    187         public string Name
    188         {
    189             get
    190             {
    191                 return this.NameField;
    192             }
    193             set
    194             {
    195                 if ((object.ReferenceEquals(this.NameField, value) != true))
    196                 {
    197                     this.NameField = value;
    198                     this.RaisePropertyChanged("Name");
    199                 }
    200             }
    201         }
    202        
    203         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    204        
    205         protected void RaisePropertyChanged(string propertyName)
    206         {
    207             System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    208             if ((propertyChanged != null))
    209             {
    210                 propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    211             }
    212         }
    213     }
    214    
    215     [System.Diagnostics.DebuggerStepThroughAttribute()]
    216     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    217     [System.Runtime.Serialization.DataContractAttribute(Name="DataType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    218         "aTransfer")]
    219     public partial class DataType : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    220     {
    221        
    222         private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    223        
    224         private string NameField;
    225        
    226         private string TypeNameField;
    227        
    228         public System.Runtime.Serialization.ExtensionDataObject ExtensionData
    229         {
    230             get
    231             {
    232                 return this.extensionDataField;
    233             }
    234             set
    235             {
    236                 this.extensionDataField = value;
    237             }
    238         }
    239        
    240         [System.Runtime.Serialization.DataMemberAttribute()]
    241         public string Name
    242         {
    243             get
    244             {
    245                 return this.NameField;
    246             }
    247             set
    248             {
    249                 if ((object.ReferenceEquals(this.NameField, value) != true))
    250                 {
    251                     this.NameField = value;
    252                     this.RaisePropertyChanged("Name");
    253                 }
    254             }
    255         }
    256        
    257         [System.Runtime.Serialization.DataMemberAttribute()]
    258         public string TypeName
    259         {
    260             get
    261             {
    262                 return this.TypeNameField;
    263             }
    264             set
    265             {
    266                 if ((object.ReferenceEquals(this.TypeNameField, value) != true))
    267                 {
    268                     this.TypeNameField = value;
    269                     this.RaisePropertyChanged("TypeName");
    270                 }
    271             }
    272         }
    273        
    274         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    275        
    276         protected void RaisePropertyChanged(string propertyName)
    277         {
    278             System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    279             if ((propertyChanged != null))
    280             {
    281                 propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    282             }
    283         }
    284     }
    285    
    286     [System.Diagnostics.DebuggerStepThroughAttribute()]
    287     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    288     [System.Runtime.Serialization.DataContractAttribute(Name="Problem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    289         "aTransfer")]
    290     public partial class Problem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    291     {
    292        
    293         private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    294        
    295         private HeuristicLab.Clients.OKB.RunCreation.DataType DataTypeField;
    296        
    297         private string DescriptionField;
    298        
    299         private long IdField;
    300        
    301         private string NameField;
    302        
    303         private HeuristicLab.Clients.OKB.RunCreation.ProblemClass ProblemClassField;
    304        
    305         public System.Runtime.Serialization.ExtensionDataObject ExtensionData
    306         {
    307             get
    308             {
    309                 return this.extensionDataField;
    310             }
    311             set
    312             {
    313                 this.extensionDataField = value;
    314             }
    315         }
    316        
    317         [System.Runtime.Serialization.DataMemberAttribute()]
    318         public HeuristicLab.Clients.OKB.RunCreation.DataType DataType
    319         {
    320             get
    321             {
    322                 return this.DataTypeField;
    323             }
    324             set
    325             {
    326                 if ((object.ReferenceEquals(this.DataTypeField, value) != true))
    327                 {
    328                     this.DataTypeField = value;
    329                     this.RaisePropertyChanged("DataType");
    330                 }
    331             }
    332         }
    333        
    334         [System.Runtime.Serialization.DataMemberAttribute()]
    335         public string Description
    336         {
    337             get
    338             {
    339                 return this.DescriptionField;
    340             }
    341             set
    342             {
    343                 if ((object.ReferenceEquals(this.DescriptionField, value) != true))
    344                 {
    345                     this.DescriptionField = value;
    346                     this.RaisePropertyChanged("Description");
    347                 }
    348             }
    349         }
    350        
    351         [System.Runtime.Serialization.DataMemberAttribute()]
    352         public long Id
    353         {
    354             get
    355             {
    356                 return this.IdField;
    357             }
    358             set
    359             {
    360                 if ((this.IdField.Equals(value) != true))
    361                 {
    362                     this.IdField = value;
    363                     this.RaisePropertyChanged("Id");
    364                 }
    365             }
    366         }
    367        
    368         [System.Runtime.Serialization.DataMemberAttribute()]
    369         public string Name
    370         {
    371             get
    372             {
    373                 return this.NameField;
    374             }
    375             set
    376             {
    377                 if ((object.ReferenceEquals(this.NameField, value) != true))
    378                 {
    379                     this.NameField = value;
    380                     this.RaisePropertyChanged("Name");
    381                 }
    382             }
    383         }
    384        
    385         [System.Runtime.Serialization.DataMemberAttribute()]
    386         public HeuristicLab.Clients.OKB.RunCreation.ProblemClass ProblemClass
    387         {
    388             get
    389             {
    390                 return this.ProblemClassField;
    391             }
    392             set
    393             {
    394                 if ((object.ReferenceEquals(this.ProblemClassField, value) != true))
    395                 {
    396                     this.ProblemClassField = value;
    397                     this.RaisePropertyChanged("ProblemClass");
    398                 }
    399             }
    400         }
    401        
    402         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    403        
    404         protected void RaisePropertyChanged(string propertyName)
    405         {
    406             System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    407             if ((propertyChanged != null))
    408             {
    409                 propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    410             }
    411         }
    412     }
    413    
    414     [System.Diagnostics.DebuggerStepThroughAttribute()]
    415     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    416     [System.Runtime.Serialization.DataContractAttribute(Name="ProblemClass", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    417         "aTransfer")]
    418     public partial class ProblemClass : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    419     {
    420        
    421         private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    422        
    423         private string DescriptionField;
    424        
    425         private string NameField;
    426        
    427         public System.Runtime.Serialization.ExtensionDataObject ExtensionData
    428         {
    429             get
    430             {
    431                 return this.extensionDataField;
    432             }
    433             set
    434             {
    435                 this.extensionDataField = value;
    436             }
    437         }
    438        
    439         [System.Runtime.Serialization.DataMemberAttribute()]
    440         public string Description
    441         {
    442             get
    443             {
    444                 return this.DescriptionField;
    445             }
    446             set
    447             {
    448                 if ((object.ReferenceEquals(this.DescriptionField, value) != true))
    449                 {
    450                     this.DescriptionField = value;
    451                     this.RaisePropertyChanged("Description");
    452                 }
    453             }
    454         }
    455        
    456         [System.Runtime.Serialization.DataMemberAttribute()]
    457         public string Name
    458         {
    459             get
    460             {
    461                 return this.NameField;
    462             }
    463             set
    464             {
    465                 if ((object.ReferenceEquals(this.NameField, value) != true))
    466                 {
    467                     this.NameField = value;
    468                     this.RaisePropertyChanged("Name");
    469                 }
    470             }
    471         }
    472        
    473         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    474        
    475         protected void RaisePropertyChanged(string propertyName)
    476         {
    477             System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    478             if ((propertyChanged != null))
    479             {
    480                 propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    481             }
    482         }
    483     }
    484    
    485     [System.Diagnostics.DebuggerStepThroughAttribute()]
    486     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    487     [System.Runtime.Serialization.DataContractAttribute(Name="Run", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    488         "aTransfer")]
    489     public partial class Run : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    490     {
    491        
    492         private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    493        
    494         private long AlgorithmIdField;
    495        
    496         private System.Guid ClientIdField;
    497        
    498         private System.DateTime CreatedDateField;
    499        
    500         private System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ParameterValuesField;
    501        
    502         private long ProblemIdField;
    503        
    504         private System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ResultValuesField;
    505        
    506         private System.Guid UserIdField;
    507        
    508         public System.Runtime.Serialization.ExtensionDataObject ExtensionData
    509         {
    510             get
    511             {
    512                 return this.extensionDataField;
    513             }
    514             set
    515             {
    516                 this.extensionDataField = value;
    517             }
    518         }
    519        
    520         [System.Runtime.Serialization.DataMemberAttribute()]
    521         public long AlgorithmId
    522         {
    523             get
    524             {
    525                 return this.AlgorithmIdField;
    526             }
    527             set
    528             {
    529                 if ((this.AlgorithmIdField.Equals(value) != true))
    530                 {
    531                     this.AlgorithmIdField = value;
    532                     this.RaisePropertyChanged("AlgorithmId");
    533                 }
    534             }
    535         }
    536        
    537         [System.Runtime.Serialization.DataMemberAttribute()]
    538         public System.Guid ClientId
    539         {
    540             get
    541             {
    542                 return this.ClientIdField;
    543             }
    544             set
    545             {
    546                 if ((this.ClientIdField.Equals(value) != true))
    547                 {
    548                     this.ClientIdField = value;
    549                     this.RaisePropertyChanged("ClientId");
    550                 }
    551             }
    552         }
    553        
    554         [System.Runtime.Serialization.DataMemberAttribute()]
    555         public System.DateTime CreatedDate
    556         {
    557             get
    558             {
    559                 return this.CreatedDateField;
    560             }
    561             set
    562             {
    563                 if ((this.CreatedDateField.Equals(value) != true))
    564                 {
    565                     this.CreatedDateField = value;
    566                     this.RaisePropertyChanged("CreatedDate");
    567                 }
    568             }
    569         }
    570        
    571         [System.Runtime.Serialization.DataMemberAttribute()]
    572         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ParameterValues
    573         {
    574             get
    575             {
    576                 return this.ParameterValuesField;
    577             }
    578             set
    579             {
    580                 if ((object.ReferenceEquals(this.ParameterValuesField, value) != true))
    581                 {
    582                     this.ParameterValuesField = value;
    583                     this.RaisePropertyChanged("ParameterValues");
    584                 }
    585             }
    586         }
    587        
    588         [System.Runtime.Serialization.DataMemberAttribute()]
    589         public long ProblemId
    590         {
    591             get
    592             {
    593                 return this.ProblemIdField;
    594             }
    595             set
    596             {
    597                 if ((this.ProblemIdField.Equals(value) != true))
    598                 {
    599                     this.ProblemIdField = value;
    600                     this.RaisePropertyChanged("ProblemId");
    601                 }
    602             }
    603         }
    604        
    605         [System.Runtime.Serialization.DataMemberAttribute()]
    606         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ResultValues
    607         {
    608             get
    609             {
    610                 return this.ResultValuesField;
    611             }
    612             set
    613             {
    614                 if ((object.ReferenceEquals(this.ResultValuesField, value) != true))
    615                 {
    616                     this.ResultValuesField = value;
    617                     this.RaisePropertyChanged("ResultValues");
    618                 }
    619             }
    620         }
    621        
    622         [System.Runtime.Serialization.DataMemberAttribute()]
    623         public System.Guid UserId
    624         {
    625             get
    626             {
    627                 return this.UserIdField;
    628             }
    629             set
    630             {
    631                 if ((this.UserIdField.Equals(value) != true))
    632                 {
    633                     this.UserIdField = value;
    634                     this.RaisePropertyChanged("UserId");
    635                 }
    636             }
    637         }
    638        
    639         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    640        
    641         protected void RaisePropertyChanged(string propertyName)
    642         {
    643             System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    644             if ((propertyChanged != null))
    645             {
    646                 propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    647             }
    648         }
    649     }
    650    
    651     [System.Diagnostics.DebuggerStepThroughAttribute()]
    652     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    653     [System.Runtime.Serialization.DataContractAttribute(Name="Value", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    654         "aTransfer")]
    655     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BinaryValue))]
    656     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.LongValue))]
    657     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.FloatValue))]
    658     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.TimeSpanValue))]
    659     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.IntValue))]
    660     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BoolValue))]
    661     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.DoubleValue))]
    662     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.PercentValue))]
    663     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.StringValue))]
    664     public partial class Value : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    665     {
    666        
    667         private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    668        
    669         private HeuristicLab.Clients.OKB.RunCreation.DataType DataTypeField;
    670        
    671         private string NameField;
    672        
    673         public System.Runtime.Serialization.ExtensionDataObject ExtensionData
    674         {
    675             get
    676             {
    677                 return this.extensionDataField;
    678             }
    679             set
    680             {
    681                 this.extensionDataField = value;
    682             }
    683         }
    684        
    685         [System.Runtime.Serialization.DataMemberAttribute()]
    686         public HeuristicLab.Clients.OKB.RunCreation.DataType DataType
    687         {
    688             get
    689             {
    690                 return this.DataTypeField;
    691             }
    692             set
    693             {
    694                 if ((object.ReferenceEquals(this.DataTypeField, value) != true))
    695                 {
    696                     this.DataTypeField = value;
    697                     this.RaisePropertyChanged("DataType");
    698                 }
    699             }
    700         }
    701        
    702         [System.Runtime.Serialization.DataMemberAttribute()]
    703         public string Name
    704         {
    705             get
    706             {
    707                 return this.NameField;
    708             }
    709             set
    710             {
    711                 if ((object.ReferenceEquals(this.NameField, value) != true))
    712                 {
    713                     this.NameField = value;
    714                     this.RaisePropertyChanged("Name");
    715                 }
    716             }
    717         }
    718        
    719         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    720        
    721         protected void RaisePropertyChanged(string propertyName)
    722         {
    723             System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    724             if ((propertyChanged != null))
    725             {
    726                 propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    727             }
    728         }
    729     }
    730    
    731     [System.Diagnostics.DebuggerStepThroughAttribute()]
    732     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    733     [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    734         "aTransfer")]
    735     public partial class BinaryValue : HeuristicLab.Clients.OKB.RunCreation.Value
    736     {
    737        
    738         private byte[] ValueField;
    739        
    740         [System.Runtime.Serialization.DataMemberAttribute()]
    741         public byte[] Value
    742         {
    743             get
    744             {
    745                 return this.ValueField;
    746             }
    747             set
    748             {
    749                 if ((object.ReferenceEquals(this.ValueField, value) != true))
    750                 {
    751                     this.ValueField = value;
    752                     this.RaisePropertyChanged("Value");
    753                 }
    754             }
    755         }
    756     }
    757    
    758     [System.Diagnostics.DebuggerStepThroughAttribute()]
    759     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    760     [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    761         "aTransfer")]
    762     public partial class LongValue : HeuristicLab.Clients.OKB.RunCreation.Value
    763     {
    764        
    765         private long ValueField;
    766        
    767         [System.Runtime.Serialization.DataMemberAttribute()]
    768         public long Value
    769         {
    770             get
    771             {
    772                 return this.ValueField;
    773             }
    774             set
    775             {
    776                 if ((this.ValueField.Equals(value) != true))
    777                 {
    778                     this.ValueField = value;
    779                     this.RaisePropertyChanged("Value");
    780                 }
    781             }
    782         }
    783     }
    784    
    785     [System.Diagnostics.DebuggerStepThroughAttribute()]
    786     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    787     [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    788         "aTransfer")]
    789     public partial class FloatValue : HeuristicLab.Clients.OKB.RunCreation.Value
    790     {
    791        
    792         private float ValueField;
    793        
    794         [System.Runtime.Serialization.DataMemberAttribute()]
    795         public float Value
    796         {
    797             get
    798             {
    799                 return this.ValueField;
    800             }
    801             set
    802             {
    803                 if ((this.ValueField.Equals(value) != true))
    804                 {
    805                     this.ValueField = value;
    806                     this.RaisePropertyChanged("Value");
    807                 }
    808             }
    809         }
    810     }
    811    
    812     [System.Diagnostics.DebuggerStepThroughAttribute()]
    813     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    814     [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    815         "aTransfer")]
    816     public partial class TimeSpanValue : HeuristicLab.Clients.OKB.RunCreation.Value
    817     {
    818        
    819         private long ValueField;
    820        
    821         [System.Runtime.Serialization.DataMemberAttribute()]
    822         public long Value
    823         {
    824             get
    825             {
    826                 return this.ValueField;
    827             }
    828             set
    829             {
    830                 if ((this.ValueField.Equals(value) != true))
    831                 {
    832                     this.ValueField = value;
    833                     this.RaisePropertyChanged("Value");
    834                 }
    835             }
    836         }
    837     }
    838    
    839     [System.Diagnostics.DebuggerStepThroughAttribute()]
    840     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    841     [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    842         "aTransfer")]
    843     public partial class IntValue : HeuristicLab.Clients.OKB.RunCreation.Value
    844     {
    845        
    846         private int ValueField;
    847        
    848         [System.Runtime.Serialization.DataMemberAttribute()]
    849         public int Value
    850         {
    851             get
    852             {
    853                 return this.ValueField;
    854             }
    855             set
    856             {
    857                 if ((this.ValueField.Equals(value) != true))
    858                 {
    859                     this.ValueField = value;
    860                     this.RaisePropertyChanged("Value");
    861                 }
    862             }
    863         }
    864     }
    865    
    866     [System.Diagnostics.DebuggerStepThroughAttribute()]
    867     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    868     [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    869         "aTransfer")]
    870     public partial class BoolValue : HeuristicLab.Clients.OKB.RunCreation.Value
    871     {
    872        
    873         private bool ValueField;
    874        
    875         [System.Runtime.Serialization.DataMemberAttribute()]
    876         public bool Value
    877         {
    878             get
    879             {
    880                 return this.ValueField;
    881             }
    882             set
    883             {
    884                 if ((this.ValueField.Equals(value) != true))
    885                 {
    886                     this.ValueField = value;
    887                     this.RaisePropertyChanged("Value");
    888                 }
    889             }
    890         }
    891     }
    892    
    893     [System.Diagnostics.DebuggerStepThroughAttribute()]
    894     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    895     [System.Runtime.Serialization.DataContractAttribute(Name="DoubleValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    896         "aTransfer")]
    897     public partial class DoubleValue : HeuristicLab.Clients.OKB.RunCreation.Value
    898     {
    899        
    900         private double ValueField;
    901        
    902         [System.Runtime.Serialization.DataMemberAttribute()]
    903         public double Value
    904         {
    905             get
    906             {
    907                 return this.ValueField;
    908             }
    909             set
    910             {
    911                 if ((this.ValueField.Equals(value) != true))
    912                 {
    913                     this.ValueField = value;
    914                     this.RaisePropertyChanged("Value");
    915                 }
    916             }
    917         }
    918     }
    919    
    920     [System.Diagnostics.DebuggerStepThroughAttribute()]
    921     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    922     [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    923         "aTransfer")]
    924     public partial class PercentValue : HeuristicLab.Clients.OKB.RunCreation.Value
    925     {
    926        
    927         private double ValueField;
    928        
    929         [System.Runtime.Serialization.DataMemberAttribute()]
    930         public double Value
    931         {
    932             get
    933             {
    934                 return this.ValueField;
    935             }
    936             set
    937             {
    938                 if ((this.ValueField.Equals(value) != true))
    939                 {
    940                     this.ValueField = value;
    941                     this.RaisePropertyChanged("Value");
    942                 }
    943             }
    944         }
    945     }
    946    
    947     [System.Diagnostics.DebuggerStepThroughAttribute()]
    948     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    949     [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
    950         "aTransfer")]
    951     public partial class StringValue : HeuristicLab.Clients.OKB.RunCreation.Value
    952     {
    953        
    954         private string ValueField;
    955        
    956         [System.Runtime.Serialization.DataMemberAttribute()]
    957         public string Value
    958         {
    959             get
    960             {
    961                 return this.ValueField;
    962             }
    963             set
    964             {
    965                 if ((object.ReferenceEquals(this.ValueField, value) != true))
    966                 {
    967                     this.ValueField = value;
    968                     this.RaisePropertyChanged("Value");
    969                 }
    970             }
    971         }
    972     }
    973    
    974     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    975     [System.ServiceModel.ServiceContractAttribute(ConfigurationName="HeuristicLab.Clients.OKB.RunCreation.IRunCreationService")]
    976     public interface IRunCreationService
    977     {
    978        
    979         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithms", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmsResponse")]
    980         System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm> GetAlgorithms(string platformName);
    981        
    982         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithmData", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmDataResponse")]
    983         byte[] GetAlgorithmData(long algorithmId);
    984        
    985         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblems", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemsResponse")]
    986         System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem> GetProblems(string platformName);
    987        
    988         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblemData", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemDataResponse")]
    989         byte[] GetProblemData(long problemId);
    990        
    991         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddRun", ReplyAction="http://tempuri.org/IRunCreationService/AddRunResponse")]
    992         void AddRun(HeuristicLab.Clients.OKB.RunCreation.Run run);
    993     }
    994    
    995     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    996     public interface IRunCreationServiceChannel : HeuristicLab.Clients.OKB.RunCreation.IRunCreationService, System.ServiceModel.IClientChannel
    997     {
    998     }
    999    
    1000     [System.Diagnostics.DebuggerStepThroughAttribute()]
    1001     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    1002     public partial class RunCreationServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.RunCreation.IRunCreationService>, HeuristicLab.Clients.OKB.RunCreation.IRunCreationService
    1003     {
    1004        
    1005         public RunCreationServiceClient()
    1006         {
    1007         }
    1008        
    1009         public RunCreationServiceClient(string endpointConfigurationName) :
    1010                 base(endpointConfigurationName)
    1011         {
    1012         }
    1013        
    1014         public RunCreationServiceClient(string endpointConfigurationName, string remoteAddress) :
    1015                 base(endpointConfigurationName, remoteAddress)
    1016         {
    1017         }
    1018        
    1019         public RunCreationServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
    1020                 base(endpointConfigurationName, remoteAddress)
    1021         {
    1022         }
    1023        
    1024         public RunCreationServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
    1025                 base(binding, remoteAddress)
    1026         {
    1027         }
    1028        
    1029         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm> GetAlgorithms(string platformName)
    1030         {
    1031             return base.Channel.GetAlgorithms(platformName);
    1032         }
    1033        
    1034         public byte[] GetAlgorithmData(long algorithmId)
    1035         {
    1036             return base.Channel.GetAlgorithmData(algorithmId);
    1037         }
    1038        
    1039         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem> GetProblems(string platformName)
    1040         {
    1041             return base.Channel.GetProblems(platformName);
    1042         }
    1043        
    1044         public byte[] GetProblemData(long problemId)
    1045         {
    1046             return base.Channel.GetProblemData(problemId);
    1047         }
    1048        
    1049         public void AddRun(HeuristicLab.Clients.OKB.RunCreation.Run run)
    1050         {
    1051             base.Channel.AddRun(run);
    1052         }
    1053     }
     11namespace HeuristicLab.Clients.OKB.RunCreation {
     12
     13
     14  [System.Diagnostics.DebuggerStepThroughAttribute()]
     15  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     16  [System.Runtime.Serialization.DataContractAttribute(Name = "Algorithm", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     17      "aTransfer")]
     18  public partial class Algorithm : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     19
     20    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     21
     22    private HeuristicLab.Clients.OKB.RunCreation.AlgorithmClass AlgorithmClassField;
     23
     24    private HeuristicLab.Clients.OKB.RunCreation.DataType DataTypeField;
     25
     26    private string DescriptionField;
     27
     28    private long IdField;
     29
     30    private string NameField;
     31
     32    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     33      get {
     34        return this.extensionDataField;
     35      }
     36      set {
     37        this.extensionDataField = value;
     38      }
     39    }
     40
     41    [System.Runtime.Serialization.DataMemberAttribute()]
     42    public HeuristicLab.Clients.OKB.RunCreation.AlgorithmClass AlgorithmClass {
     43      get {
     44        return this.AlgorithmClassField;
     45      }
     46      set {
     47        if ((object.ReferenceEquals(this.AlgorithmClassField, value) != true)) {
     48          this.AlgorithmClassField = value;
     49          this.RaisePropertyChanged("AlgorithmClass");
     50        }
     51      }
     52    }
     53
     54    [System.Runtime.Serialization.DataMemberAttribute()]
     55    public HeuristicLab.Clients.OKB.RunCreation.DataType DataType {
     56      get {
     57        return this.DataTypeField;
     58      }
     59      set {
     60        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
     61          this.DataTypeField = value;
     62          this.RaisePropertyChanged("DataType");
     63        }
     64      }
     65    }
     66
     67    [System.Runtime.Serialization.DataMemberAttribute()]
     68    public string Description {
     69      get {
     70        return this.DescriptionField;
     71      }
     72      set {
     73        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
     74          this.DescriptionField = value;
     75          this.RaisePropertyChanged("Description");
     76        }
     77      }
     78    }
     79
     80    [System.Runtime.Serialization.DataMemberAttribute()]
     81    public long Id {
     82      get {
     83        return this.IdField;
     84      }
     85      set {
     86        if ((this.IdField.Equals(value) != true)) {
     87          this.IdField = value;
     88          this.RaisePropertyChanged("Id");
     89        }
     90      }
     91    }
     92
     93    [System.Runtime.Serialization.DataMemberAttribute()]
     94    public string Name {
     95      get {
     96        return this.NameField;
     97      }
     98      set {
     99        if ((object.ReferenceEquals(this.NameField, value) != true)) {
     100          this.NameField = value;
     101          this.RaisePropertyChanged("Name");
     102        }
     103      }
     104    }
     105
     106    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     107
     108    protected void RaisePropertyChanged(string propertyName) {
     109      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     110      if ((propertyChanged != null)) {
     111        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     112      }
     113    }
     114  }
     115
     116  [System.Diagnostics.DebuggerStepThroughAttribute()]
     117  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     118  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmClass", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     119      "aTransfer")]
     120  public partial class AlgorithmClass : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     121
     122    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     123
     124    private string DescriptionField;
     125
     126    private string NameField;
     127
     128    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     129      get {
     130        return this.extensionDataField;
     131      }
     132      set {
     133        this.extensionDataField = value;
     134      }
     135    }
     136
     137    [System.Runtime.Serialization.DataMemberAttribute()]
     138    public string Description {
     139      get {
     140        return this.DescriptionField;
     141      }
     142      set {
     143        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
     144          this.DescriptionField = value;
     145          this.RaisePropertyChanged("Description");
     146        }
     147      }
     148    }
     149
     150    [System.Runtime.Serialization.DataMemberAttribute()]
     151    public string Name {
     152      get {
     153        return this.NameField;
     154      }
     155      set {
     156        if ((object.ReferenceEquals(this.NameField, value) != true)) {
     157          this.NameField = value;
     158          this.RaisePropertyChanged("Name");
     159        }
     160      }
     161    }
     162
     163    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     164
     165    protected void RaisePropertyChanged(string propertyName) {
     166      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     167      if ((propertyChanged != null)) {
     168        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     169      }
     170    }
     171  }
     172
     173  [System.Diagnostics.DebuggerStepThroughAttribute()]
     174  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     175  [System.Runtime.Serialization.DataContractAttribute(Name = "DataType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     176      "aTransfer")]
     177  public partial class DataType : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     178
     179    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     180
     181    private string NameField;
     182
     183    private string TypeNameField;
     184
     185    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     186      get {
     187        return this.extensionDataField;
     188      }
     189      set {
     190        this.extensionDataField = value;
     191      }
     192    }
     193
     194    [System.Runtime.Serialization.DataMemberAttribute()]
     195    public string Name {
     196      get {
     197        return this.NameField;
     198      }
     199      set {
     200        if ((object.ReferenceEquals(this.NameField, value) != true)) {
     201          this.NameField = value;
     202          this.RaisePropertyChanged("Name");
     203        }
     204      }
     205    }
     206
     207    [System.Runtime.Serialization.DataMemberAttribute()]
     208    public string TypeName {
     209      get {
     210        return this.TypeNameField;
     211      }
     212      set {
     213        if ((object.ReferenceEquals(this.TypeNameField, value) != true)) {
     214          this.TypeNameField = value;
     215          this.RaisePropertyChanged("TypeName");
     216        }
     217      }
     218    }
     219
     220    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     221
     222    protected void RaisePropertyChanged(string propertyName) {
     223      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     224      if ((propertyChanged != null)) {
     225        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     226      }
     227    }
     228  }
     229
     230  [System.Diagnostics.DebuggerStepThroughAttribute()]
     231  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     232  [System.Runtime.Serialization.DataContractAttribute(Name = "Problem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     233      "aTransfer")]
     234  public partial class Problem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     235
     236    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     237
     238    private HeuristicLab.Clients.OKB.RunCreation.DataType DataTypeField;
     239
     240    private string DescriptionField;
     241
     242    private long IdField;
     243
     244    private string NameField;
     245
     246    private HeuristicLab.Clients.OKB.RunCreation.ProblemClass ProblemClassField;
     247
     248    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     249      get {
     250        return this.extensionDataField;
     251      }
     252      set {
     253        this.extensionDataField = value;
     254      }
     255    }
     256
     257    [System.Runtime.Serialization.DataMemberAttribute()]
     258    public HeuristicLab.Clients.OKB.RunCreation.DataType DataType {
     259      get {
     260        return this.DataTypeField;
     261      }
     262      set {
     263        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
     264          this.DataTypeField = value;
     265          this.RaisePropertyChanged("DataType");
     266        }
     267      }
     268    }
     269
     270    [System.Runtime.Serialization.DataMemberAttribute()]
     271    public string Description {
     272      get {
     273        return this.DescriptionField;
     274      }
     275      set {
     276        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
     277          this.DescriptionField = value;
     278          this.RaisePropertyChanged("Description");
     279        }
     280      }
     281    }
     282
     283    [System.Runtime.Serialization.DataMemberAttribute()]
     284    public long Id {
     285      get {
     286        return this.IdField;
     287      }
     288      set {
     289        if ((this.IdField.Equals(value) != true)) {
     290          this.IdField = value;
     291          this.RaisePropertyChanged("Id");
     292        }
     293      }
     294    }
     295
     296    [System.Runtime.Serialization.DataMemberAttribute()]
     297    public string Name {
     298      get {
     299        return this.NameField;
     300      }
     301      set {
     302        if ((object.ReferenceEquals(this.NameField, value) != true)) {
     303          this.NameField = value;
     304          this.RaisePropertyChanged("Name");
     305        }
     306      }
     307    }
     308
     309    [System.Runtime.Serialization.DataMemberAttribute()]
     310    public HeuristicLab.Clients.OKB.RunCreation.ProblemClass ProblemClass {
     311      get {
     312        return this.ProblemClassField;
     313      }
     314      set {
     315        if ((object.ReferenceEquals(this.ProblemClassField, value) != true)) {
     316          this.ProblemClassField = value;
     317          this.RaisePropertyChanged("ProblemClass");
     318        }
     319      }
     320    }
     321
     322    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     323
     324    protected void RaisePropertyChanged(string propertyName) {
     325      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     326      if ((propertyChanged != null)) {
     327        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     328      }
     329    }
     330  }
     331
     332  [System.Diagnostics.DebuggerStepThroughAttribute()]
     333  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     334  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemClass", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     335      "aTransfer")]
     336  public partial class ProblemClass : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     337
     338    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     339
     340    private string DescriptionField;
     341
     342    private string NameField;
     343
     344    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     345      get {
     346        return this.extensionDataField;
     347      }
     348      set {
     349        this.extensionDataField = value;
     350      }
     351    }
     352
     353    [System.Runtime.Serialization.DataMemberAttribute()]
     354    public string Description {
     355      get {
     356        return this.DescriptionField;
     357      }
     358      set {
     359        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
     360          this.DescriptionField = value;
     361          this.RaisePropertyChanged("Description");
     362        }
     363      }
     364    }
     365
     366    [System.Runtime.Serialization.DataMemberAttribute()]
     367    public string Name {
     368      get {
     369        return this.NameField;
     370      }
     371      set {
     372        if ((object.ReferenceEquals(this.NameField, value) != true)) {
     373          this.NameField = value;
     374          this.RaisePropertyChanged("Name");
     375        }
     376      }
     377    }
     378
     379    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     380
     381    protected void RaisePropertyChanged(string propertyName) {
     382      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     383      if ((propertyChanged != null)) {
     384        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     385      }
     386    }
     387  }
     388
     389  [System.Diagnostics.DebuggerStepThroughAttribute()]
     390  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     391  [System.Runtime.Serialization.DataContractAttribute(Name = "Run", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     392      "aTransfer")]
     393  public partial class Run : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     394
     395    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     396
     397    private long AlgorithmIdField;
     398
     399    private System.Guid ClientIdField;
     400
     401    private System.DateTime CreatedDateField;
     402
     403    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ParameterValuesField;
     404
     405    private long ProblemIdField;
     406
     407    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ResultValuesField;
     408
     409    private System.Guid UserIdField;
     410
     411    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     412      get {
     413        return this.extensionDataField;
     414      }
     415      set {
     416        this.extensionDataField = value;
     417      }
     418    }
     419
     420    [System.Runtime.Serialization.DataMemberAttribute()]
     421    public long AlgorithmId {
     422      get {
     423        return this.AlgorithmIdField;
     424      }
     425      set {
     426        if ((this.AlgorithmIdField.Equals(value) != true)) {
     427          this.AlgorithmIdField = value;
     428          this.RaisePropertyChanged("AlgorithmId");
     429        }
     430      }
     431    }
     432
     433    [System.Runtime.Serialization.DataMemberAttribute()]
     434    public System.Guid ClientId {
     435      get {
     436        return this.ClientIdField;
     437      }
     438      set {
     439        if ((this.ClientIdField.Equals(value) != true)) {
     440          this.ClientIdField = value;
     441          this.RaisePropertyChanged("ClientId");
     442        }
     443      }
     444    }
     445
     446    [System.Runtime.Serialization.DataMemberAttribute()]
     447    public System.DateTime CreatedDate {
     448      get {
     449        return this.CreatedDateField;
     450      }
     451      set {
     452        if ((this.CreatedDateField.Equals(value) != true)) {
     453          this.CreatedDateField = value;
     454          this.RaisePropertyChanged("CreatedDate");
     455        }
     456      }
     457    }
     458
     459    [System.Runtime.Serialization.DataMemberAttribute()]
     460    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ParameterValues {
     461      get {
     462        return this.ParameterValuesField;
     463      }
     464      set {
     465        if ((object.ReferenceEquals(this.ParameterValuesField, value) != true)) {
     466          this.ParameterValuesField = value;
     467          this.RaisePropertyChanged("ParameterValues");
     468        }
     469      }
     470    }
     471
     472    [System.Runtime.Serialization.DataMemberAttribute()]
     473    public long ProblemId {
     474      get {
     475        return this.ProblemIdField;
     476      }
     477      set {
     478        if ((this.ProblemIdField.Equals(value) != true)) {
     479          this.ProblemIdField = value;
     480          this.RaisePropertyChanged("ProblemId");
     481        }
     482      }
     483    }
     484
     485    [System.Runtime.Serialization.DataMemberAttribute()]
     486    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ResultValues {
     487      get {
     488        return this.ResultValuesField;
     489      }
     490      set {
     491        if ((object.ReferenceEquals(this.ResultValuesField, value) != true)) {
     492          this.ResultValuesField = value;
     493          this.RaisePropertyChanged("ResultValues");
     494        }
     495      }
     496    }
     497
     498    [System.Runtime.Serialization.DataMemberAttribute()]
     499    public System.Guid UserId {
     500      get {
     501        return this.UserIdField;
     502      }
     503      set {
     504        if ((this.UserIdField.Equals(value) != true)) {
     505          this.UserIdField = value;
     506          this.RaisePropertyChanged("UserId");
     507        }
     508      }
     509    }
     510
     511    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     512
     513    protected void RaisePropertyChanged(string propertyName) {
     514      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     515      if ((propertyChanged != null)) {
     516        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     517      }
     518    }
     519  }
     520
     521  [System.Diagnostics.DebuggerStepThroughAttribute()]
     522  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     523  [System.Runtime.Serialization.DataContractAttribute(Name = "Value", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     524      "aTransfer")]
     525  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BoolValue))]
     526  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.LongValue))]
     527  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.TimeSpanValue))]
     528  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.IntValue))]
     529  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.FloatValue))]
     530  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.DoubleValue))]
     531  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.StringValue))]
     532  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BinaryValue))]
     533  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.PercentValue))]
     534  public partial class Value : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     535
     536    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     537
     538    private HeuristicLab.Clients.OKB.RunCreation.DataType DataTypeField;
     539
     540    private string NameField;
     541
     542    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     543      get {
     544        return this.extensionDataField;
     545      }
     546      set {
     547        this.extensionDataField = value;
     548      }
     549    }
     550
     551    [System.Runtime.Serialization.DataMemberAttribute()]
     552    public HeuristicLab.Clients.OKB.RunCreation.DataType DataType {
     553      get {
     554        return this.DataTypeField;
     555      }
     556      set {
     557        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
     558          this.DataTypeField = value;
     559          this.RaisePropertyChanged("DataType");
     560        }
     561      }
     562    }
     563
     564    [System.Runtime.Serialization.DataMemberAttribute()]
     565    public string Name {
     566      get {
     567        return this.NameField;
     568      }
     569      set {
     570        if ((object.ReferenceEquals(this.NameField, value) != true)) {
     571          this.NameField = value;
     572          this.RaisePropertyChanged("Name");
     573        }
     574      }
     575    }
     576
     577    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     578
     579    protected void RaisePropertyChanged(string propertyName) {
     580      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     581      if ((propertyChanged != null)) {
     582        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     583      }
     584    }
     585  }
     586
     587  [System.Diagnostics.DebuggerStepThroughAttribute()]
     588  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     589  [System.Runtime.Serialization.DataContractAttribute(Name = "BoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     590      "aTransfer")]
     591  public partial class BoolValue : HeuristicLab.Clients.OKB.RunCreation.Value {
     592
     593    private bool ValueField;
     594
     595    [System.Runtime.Serialization.DataMemberAttribute()]
     596    public bool Value {
     597      get {
     598        return this.ValueField;
     599      }
     600      set {
     601        if ((this.ValueField.Equals(value) != true)) {
     602          this.ValueField = value;
     603          this.RaisePropertyChanged("Value");
     604        }
     605      }
     606    }
     607  }
     608
     609  [System.Diagnostics.DebuggerStepThroughAttribute()]
     610  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     611  [System.Runtime.Serialization.DataContractAttribute(Name = "LongValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     612      "aTransfer")]
     613  public partial class LongValue : HeuristicLab.Clients.OKB.RunCreation.Value {
     614
     615    private long ValueField;
     616
     617    [System.Runtime.Serialization.DataMemberAttribute()]
     618    public long Value {
     619      get {
     620        return this.ValueField;
     621      }
     622      set {
     623        if ((this.ValueField.Equals(value) != true)) {
     624          this.ValueField = value;
     625          this.RaisePropertyChanged("Value");
     626        }
     627      }
     628    }
     629  }
     630
     631  [System.Diagnostics.DebuggerStepThroughAttribute()]
     632  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     633  [System.Runtime.Serialization.DataContractAttribute(Name = "TimeSpanValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     634      "aTransfer")]
     635  public partial class TimeSpanValue : HeuristicLab.Clients.OKB.RunCreation.Value {
     636
     637    private long ValueField;
     638
     639    [System.Runtime.Serialization.DataMemberAttribute()]
     640    public long Value {
     641      get {
     642        return this.ValueField;
     643      }
     644      set {
     645        if ((this.ValueField.Equals(value) != true)) {
     646          this.ValueField = value;
     647          this.RaisePropertyChanged("Value");
     648        }
     649      }
     650    }
     651  }
     652
     653  [System.Diagnostics.DebuggerStepThroughAttribute()]
     654  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     655  [System.Runtime.Serialization.DataContractAttribute(Name = "IntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     656      "aTransfer")]
     657  public partial class IntValue : HeuristicLab.Clients.OKB.RunCreation.Value {
     658
     659    private int ValueField;
     660
     661    [System.Runtime.Serialization.DataMemberAttribute()]
     662    public int Value {
     663      get {
     664        return this.ValueField;
     665      }
     666      set {
     667        if ((this.ValueField.Equals(value) != true)) {
     668          this.ValueField = value;
     669          this.RaisePropertyChanged("Value");
     670        }
     671      }
     672    }
     673  }
     674
     675  [System.Diagnostics.DebuggerStepThroughAttribute()]
     676  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     677  [System.Runtime.Serialization.DataContractAttribute(Name = "FloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     678      "aTransfer")]
     679  public partial class FloatValue : HeuristicLab.Clients.OKB.RunCreation.Value {
     680
     681    private float ValueField;
     682
     683    [System.Runtime.Serialization.DataMemberAttribute()]
     684    public float Value {
     685      get {
     686        return this.ValueField;
     687      }
     688      set {
     689        if ((this.ValueField.Equals(value) != true)) {
     690          this.ValueField = value;
     691          this.RaisePropertyChanged("Value");
     692        }
     693      }
     694    }
     695  }
     696
     697  [System.Diagnostics.DebuggerStepThroughAttribute()]
     698  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     699  [System.Runtime.Serialization.DataContractAttribute(Name = "DoubleValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     700      "aTransfer")]
     701  public partial class DoubleValue : HeuristicLab.Clients.OKB.RunCreation.Value {
     702
     703    private double ValueField;
     704
     705    [System.Runtime.Serialization.DataMemberAttribute()]
     706    public double Value {
     707      get {
     708        return this.ValueField;
     709      }
     710      set {
     711        if ((this.ValueField.Equals(value) != true)) {
     712          this.ValueField = value;
     713          this.RaisePropertyChanged("Value");
     714        }
     715      }
     716    }
     717  }
     718
     719  [System.Diagnostics.DebuggerStepThroughAttribute()]
     720  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     721  [System.Runtime.Serialization.DataContractAttribute(Name = "StringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     722      "aTransfer")]
     723  public partial class StringValue : HeuristicLab.Clients.OKB.RunCreation.Value {
     724
     725    private string ValueField;
     726
     727    [System.Runtime.Serialization.DataMemberAttribute()]
     728    public string Value {
     729      get {
     730        return this.ValueField;
     731      }
     732      set {
     733        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
     734          this.ValueField = value;
     735          this.RaisePropertyChanged("Value");
     736        }
     737      }
     738    }
     739  }
     740
     741  [System.Diagnostics.DebuggerStepThroughAttribute()]
     742  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     743  [System.Runtime.Serialization.DataContractAttribute(Name = "BinaryValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     744      "aTransfer")]
     745  public partial class BinaryValue : HeuristicLab.Clients.OKB.RunCreation.Value {
     746
     747    private byte[] ValueField;
     748
     749    [System.Runtime.Serialization.DataMemberAttribute()]
     750    public byte[] Value {
     751      get {
     752        return this.ValueField;
     753      }
     754      set {
     755        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
     756          this.ValueField = value;
     757          this.RaisePropertyChanged("Value");
     758        }
     759      }
     760    }
     761  }
     762
     763  [System.Diagnostics.DebuggerStepThroughAttribute()]
     764  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     765  [System.Runtime.Serialization.DataContractAttribute(Name = "PercentValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     766      "aTransfer")]
     767  public partial class PercentValue : HeuristicLab.Clients.OKB.RunCreation.Value {
     768
     769    private double ValueField;
     770
     771    [System.Runtime.Serialization.DataMemberAttribute()]
     772    public double Value {
     773      get {
     774        return this.ValueField;
     775      }
     776      set {
     777        if ((this.ValueField.Equals(value) != true)) {
     778          this.ValueField = value;
     779          this.RaisePropertyChanged("Value");
     780        }
     781      }
     782    }
     783  }
     784
     785  [System.Diagnostics.DebuggerStepThroughAttribute()]
     786  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     787  [System.Runtime.Serialization.DataContractAttribute(Name = "MissingProblem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     788  public partial class MissingProblem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     789
     790    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     791
     792    private string MessageField;
     793
     794    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     795      get {
     796        return this.extensionDataField;
     797      }
     798      set {
     799        this.extensionDataField = value;
     800      }
     801    }
     802
     803    [System.Runtime.Serialization.DataMemberAttribute()]
     804    public string Message {
     805      get {
     806        return this.MessageField;
     807      }
     808      set {
     809        if ((object.ReferenceEquals(this.MessageField, value) != true)) {
     810          this.MessageField = value;
     811          this.RaisePropertyChanged("Message");
     812        }
     813      }
     814    }
     815
     816    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     817
     818    protected void RaisePropertyChanged(string propertyName) {
     819      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     820      if ((propertyChanged != null)) {
     821        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     822      }
     823    }
     824  }
     825
     826  [System.Diagnostics.DebuggerStepThroughAttribute()]
     827  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     828  [System.Runtime.Serialization.DataContractAttribute(Name = "UnknownCharacteristicType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     829  public partial class UnknownCharacteristicType : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     830
     831    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     832
     833    private string MessageField;
     834
     835    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     836      get {
     837        return this.extensionDataField;
     838      }
     839      set {
     840        this.extensionDataField = value;
     841      }
     842    }
     843
     844    [System.Runtime.Serialization.DataMemberAttribute()]
     845    public string Message {
     846      get {
     847        return this.MessageField;
     848      }
     849      set {
     850        if ((object.ReferenceEquals(this.MessageField, value) != true)) {
     851          this.MessageField = value;
     852          this.RaisePropertyChanged("Message");
     853        }
     854      }
     855    }
     856
     857    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     858
     859    protected void RaisePropertyChanged(string propertyName) {
     860      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     861      if ((propertyChanged != null)) {
     862        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     863      }
     864    }
     865  }
     866
     867  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     868  [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.OKB.RunCreation.IRunCreationService")]
     869  public interface IRunCreationService {
     870
     871    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/GetAlgorithms", ReplyAction = "http://tempuri.org/IRunCreationService/GetAlgorithmsResponse")]
     872    System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm> GetAlgorithms(string platformName);
     873
     874    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/GetAlgorithms", ReplyAction = "http://tempuri.org/IRunCreationService/GetAlgorithmsResponse")]
     875    System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm>> GetAlgorithmsAsync(string platformName);
     876
     877    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/GetAlgorithmData", ReplyAction = "http://tempuri.org/IRunCreationService/GetAlgorithmDataResponse")]
     878    byte[] GetAlgorithmData(long algorithmId);
     879
     880    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/GetAlgorithmData", ReplyAction = "http://tempuri.org/IRunCreationService/GetAlgorithmDataResponse")]
     881    System.Threading.Tasks.Task<byte[]> GetAlgorithmDataAsync(long algorithmId);
     882
     883    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/GetProblems", ReplyAction = "http://tempuri.org/IRunCreationService/GetProblemsResponse")]
     884    System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem> GetProblems(string platformName);
     885
     886    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/GetProblems", ReplyAction = "http://tempuri.org/IRunCreationService/GetProblemsResponse")]
     887    System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem>> GetProblemsAsync(string platformName);
     888
     889    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/GetProblemData", ReplyAction = "http://tempuri.org/IRunCreationService/GetProblemDataResponse")]
     890    byte[] GetProblemData(long problemId);
     891
     892    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/GetProblemData", ReplyAction = "http://tempuri.org/IRunCreationService/GetProblemDataResponse")]
     893    System.Threading.Tasks.Task<byte[]> GetProblemDataAsync(long problemId);
     894
     895    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/AddRun", ReplyAction = "http://tempuri.org/IRunCreationService/AddRunResponse")]
     896    void AddRun(HeuristicLab.Clients.OKB.RunCreation.Run run);
     897
     898    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/AddRun", ReplyAction = "http://tempuri.org/IRunCreationService/AddRunResponse")]
     899    System.Threading.Tasks.Task AddRunAsync(HeuristicLab.Clients.OKB.RunCreation.Run run);
     900
     901    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/GetCharacteristicValues", ReplyAction = "http://tempuri.org/IRunCreationService/GetCharacteristicValuesResponse")]
     902    System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> GetCharacteristicValues(long problemId);
     903
     904    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/GetCharacteristicValues", ReplyAction = "http://tempuri.org/IRunCreationService/GetCharacteristicValuesResponse")]
     905    System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value>> GetCharacteristicValuesAsync(long problemId);
     906
     907    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/SetCharacteristicValue", ReplyAction = "http://tempuri.org/IRunCreationService/SetCharacteristicValueResponse")]
     908    [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.MissingProblem), Action = "http://tempuri.org/IRunCreationService/SetCharacteristicValueMissingProblemFault", Name = "MissingProblem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     909    [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.UnknownCharacteristicType), Action = "http://tempuri.org/IRunCreationService/SetCharacteristicValueUnknownCharacteristi" +
     910        "cTypeFault", Name = "UnknownCharacteristicType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     911    void SetCharacteristicValue(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value);
     912
     913    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/SetCharacteristicValue", ReplyAction = "http://tempuri.org/IRunCreationService/SetCharacteristicValueResponse")]
     914    System.Threading.Tasks.Task SetCharacteristicValueAsync(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value);
     915
     916    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/SetCharacteristicValues", ReplyAction = "http://tempuri.org/IRunCreationService/SetCharacteristicValuesResponse")]
     917    [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.MissingProblem), Action = "http://tempuri.org/IRunCreationService/SetCharacteristicValuesMissingProblemFault" +
     918        "", Name = "MissingProblem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     919    [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.UnknownCharacteristicType), Action = "http://tempuri.org/IRunCreationService/SetCharacteristicValuesUnknownCharacterist" +
     920        "icTypeFault", Name = "UnknownCharacteristicType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     921    void SetCharacteristicValues(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values);
     922
     923    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IRunCreationService/SetCharacteristicValues", ReplyAction = "http://tempuri.org/IRunCreationService/SetCharacteristicValuesResponse")]
     924    System.Threading.Tasks.Task SetCharacteristicValuesAsync(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values);
     925  }
     926
     927  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     928  public interface IRunCreationServiceChannel : HeuristicLab.Clients.OKB.RunCreation.IRunCreationService, System.ServiceModel.IClientChannel {
     929  }
     930
     931  [System.Diagnostics.DebuggerStepThroughAttribute()]
     932  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     933  public partial class RunCreationServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.RunCreation.IRunCreationService>, HeuristicLab.Clients.OKB.RunCreation.IRunCreationService {
     934
     935    public RunCreationServiceClient() {
     936    }
     937
     938    public RunCreationServiceClient(string endpointConfigurationName) :
     939      base(endpointConfigurationName) {
     940    }
     941
     942    public RunCreationServiceClient(string endpointConfigurationName, string remoteAddress) :
     943      base(endpointConfigurationName, remoteAddress) {
     944    }
     945
     946    public RunCreationServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
     947      base(endpointConfigurationName, remoteAddress) {
     948    }
     949
     950    public RunCreationServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
     951      base(binding, remoteAddress) {
     952    }
     953
     954    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm> GetAlgorithms(string platformName) {
     955      return base.Channel.GetAlgorithms(platformName);
     956    }
     957
     958    public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm>> GetAlgorithmsAsync(string platformName) {
     959      return base.Channel.GetAlgorithmsAsync(platformName);
     960    }
     961
     962    public byte[] GetAlgorithmData(long algorithmId) {
     963      return base.Channel.GetAlgorithmData(algorithmId);
     964    }
     965
     966    public System.Threading.Tasks.Task<byte[]> GetAlgorithmDataAsync(long algorithmId) {
     967      return base.Channel.GetAlgorithmDataAsync(algorithmId);
     968    }
     969
     970    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem> GetProblems(string platformName) {
     971      return base.Channel.GetProblems(platformName);
     972    }
     973
     974    public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem>> GetProblemsAsync(string platformName) {
     975      return base.Channel.GetProblemsAsync(platformName);
     976    }
     977
     978    public byte[] GetProblemData(long problemId) {
     979      return base.Channel.GetProblemData(problemId);
     980    }
     981
     982    public System.Threading.Tasks.Task<byte[]> GetProblemDataAsync(long problemId) {
     983      return base.Channel.GetProblemDataAsync(problemId);
     984    }
     985
     986    public void AddRun(HeuristicLab.Clients.OKB.RunCreation.Run run) {
     987      base.Channel.AddRun(run);
     988    }
     989
     990    public System.Threading.Tasks.Task AddRunAsync(HeuristicLab.Clients.OKB.RunCreation.Run run) {
     991      return base.Channel.AddRunAsync(run);
     992    }
     993
     994    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> GetCharacteristicValues(long problemId) {
     995      return base.Channel.GetCharacteristicValues(problemId);
     996    }
     997
     998    public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value>> GetCharacteristicValuesAsync(long problemId) {
     999      return base.Channel.GetCharacteristicValuesAsync(problemId);
     1000    }
     1001
     1002    public void SetCharacteristicValue(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value) {
     1003      base.Channel.SetCharacteristicValue(problemId, value);
     1004    }
     1005
     1006    public System.Threading.Tasks.Task SetCharacteristicValueAsync(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value) {
     1007      return base.Channel.SetCharacteristicValueAsync(problemId, value);
     1008    }
     1009
     1010    public void SetCharacteristicValues(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values) {
     1011      base.Channel.SetCharacteristicValues(problemId, values);
     1012    }
     1013
     1014    public System.Threading.Tasks.Task SetCharacteristicValuesAsync(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values) {
     1015      return base.Channel.SetCharacteristicValuesAsync(problemId, values);
     1016    }
     1017  }
    10541018}
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/StringValue.cs

    r13503 r15081  
    2020#endregion
    2121
     22
    2223namespace HeuristicLab.Clients.OKB.RunCreation {
    2324  public partial class StringValue {
     
    2829      };
    2930    }
     31
     32    public override string GetValue() {
     33      return Value;
     34    }
    3035  }
    3136}
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/TimeSpanValue.cs

    r13503 r15081  
    2020#endregion
    2121
     22using System.Globalization;
     23
    2224namespace HeuristicLab.Clients.OKB.RunCreation {
    2325  public partial class TimeSpanValue {
     
    2830      };
    2931    }
     32
     33    public override string GetValue() {
     34      return Value.ToString(CultureInfo.CurrentCulture.NumberFormat);
     35    }
    3036  }
    3137}
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/Value.cs

    r13535 r15081  
    2626namespace HeuristicLab.Clients.OKB.RunCreation {
    2727  public partial class Value {
     28    public virtual string GetValue() {
     29      return string.Empty;
     30    }
     31
    2832    public static Value Create(string name, string strValue, string type) {
    2933      switch (type) {
     
    3135          Name = name,
    3236          Value = bool.Parse(strValue)
    33         }; break;
     37        };
    3438        case "IntValue": return new IntValue() {
    3539          Name = name,
    3640          Value = int.Parse(strValue, CultureInfo.CurrentCulture.NumberFormat)
    37         }; break;
     41        };
    3842        case "LongValue": return new LongValue() {
    3943          Name = name,
    4044          Value = long.Parse(strValue, CultureInfo.CurrentCulture.NumberFormat)
    41         }; break;
     45        };
    4246        case "FloatValue": return new FloatValue() {
    4347          Name = name,
    4448          Value = float.Parse(strValue, CultureInfo.CurrentCulture.NumberFormat)
    45         }; break;
     49        };
    4650        case "DoubleValue": return new DoubleValue() {
    4751          Name = name,
    4852          Value = double.Parse(strValue, CultureInfo.CurrentCulture.NumberFormat)
    49         }; break;
     53        };
    5054        case "PercentValue": return new PercentValue() {
    5155          Name = name,
    5256          Value = double.Parse(Regex.Match(strValue, "[0-9.,]+").Value, CultureInfo.CurrentCulture.NumberFormat) / 100.0
    53         }; break;
     57        };
    5458        case "StringValue": return new StringValue() {
    5559          Name = name,
    5660          Value = strValue
    57         }; break;
     61        };
    5862        case "TimeSpanValue": return new TimeSpanValue() {
    5963          Name = name,
    6064          Value = long.Parse(strValue, CultureInfo.CurrentCulture.NumberFormat)
    61         }; break;
     65        };
    6266        default: throw new ArgumentException(string.Format("type {0} is unknown", type), "type");
    6367      }
  • stable/HeuristicLab.Optimization

  • stable/HeuristicLab.Optimization.Views

  • stable/HeuristicLab.Optimization.Views/3.3/HeuristicLab.Optimization.Views-3.3.csproj

    r14133 r15081  
    148148      <DependentUpon>CreateNewSingleEncodingDialog.cs</DependentUpon>
    149149    </Compile>
     150    <Compile Include="ICharacteristicCalculatorView.cs">
     151      <SubType>UserControl</SubType>
     152    </Compile>
     153    <Compile Include="ICharacteristicCalculatorView.Designer.cs">
     154      <DependentUpon>ICharacteristicCalculatorView.cs</DependentUpon>
     155    </Compile>
    150156    <Compile Include="ISolutionSimilarityCalculatorView.cs">
    151157      <SubType>UserControl</SubType>
  • stable/HeuristicLab.Optimization/3.3/HeuristicLab.Optimization-3.3.csproj

    r14133 r15081  
    153153    <Compile Include="BasicProblems\Operators\SingleObjectiveMoveMaker.cs" />
    154154    <Compile Include="BasicProblems\SingleObjectiveBasicProblem.cs" />
     155    <Compile Include="Interfaces\ICharacteristicCalculator.cs" />
    155156    <Compile Include="Interfaces\ILocalImprovementAlgorithmOperator.cs" />
    156157    <Compile Include="Interfaces\IMultiObjectiveOperator.cs" />
  • stable/HeuristicLab.Optimization/3.3/Interfaces/ICharacteristicCalculator.cs

    r13540 r15081  
    2222using System.Collections.Generic;
    2323using HeuristicLab.Core;
     24using HeuristicLab.Data;
    2425
    2526namespace HeuristicLab.Optimization {
    26   public interface ICharacteristicCalculator : INamedItem {
    27     IEnumerable<string> Characteristics { get; }
    28     bool CanCalculate(IProblem problem);
    29     IEnumerable<KeyValuePair<string, double>> Calculate(IProblem problem, IEnumerable<string> characteristics = null);
     27  public interface ICharacteristicCalculator : IParameterizedNamedItem {
     28    IProblem Problem { get; set; }
     29    ReadOnlyCheckedItemList<StringValue> Characteristics { get; }
     30
     31    bool CanCalculate();
     32    IEnumerable<IResult> Calculate();
    3033  }
    3134}
  • stable/HeuristicLab.Services.OKB.DataAccess/3.3/HeuristicLab.Services.OKB.DataAccess-3.3.csproj

    r11920 r15081  
    128128  </ItemGroup>
    129129  <ItemGroup>
     130    <Compile Include="CharacteristicType.cs" />
    130131    <Compile Include="ValueNameType.cs" />
    131132    <Compile Include="ValueNameCategory.cs" />
  • stable/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml

    r8049 r15081  
    141141      <Column Name="Id" Type="System.Int64" DbType="BigInt NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
    142142      <Column Name="Name" Type="System.String" DbType="NVarChar(200) NOT NULL" CanBeNull="false" />
    143       <Column Name="Type" Type="System.Byte" DbType="TinyInt NOT NULL" CanBeNull="false" />
     143      <Column Name="Type" Type="CharacteristicType" DbType="TinyInt NOT NULL" CanBeNull="false" />
    144144      <Association Name="Characteristic_CharacteristicValue" Member="CharacteristicValues" ThisKey="Id" OtherKey="CharacteristicId" Type="CharacteristicValue" />
    145145    </Type>
  • stable/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml.layout

    r8049 r15081  
    139139      </nestedChildShapes>
    140140    </classShape>
    141     <associationConnector edgePoints="[(3.24167093356531 : 2.65549967447917); (3.24167093356531 : 8.23159912109375); (5.75 : 8.23159912109375)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     141    <associationConnector edgePoints="[(3.24167093356531 : 2.65549967447917); (3.24167093356531 : 8.23159912109375); (5.75 : 8.23159912109375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    142142      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_Run" />
    143143      <nodes>
     
    146146      </nodes>
    147147    </associationConnector>
    148     <associationConnector edgePoints="[(12.7565713753709 : 2.65549967447917); (12.7565713753709 : 8.23159912109375); (8.13243692318721 : 8.23159912109375 : JumpStart); (7.96577025652055 : 8.23159912109375 : JumpEnd); (7.75 : 8.23159912109375)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     148    <associationConnector edgePoints="[(12.7565713753709 : 2.65549967447917); (12.7565713753709 : 8.23159912109375); (8.13243692318721 : 8.23159912109375 : JumpStart); (7.96577025652055 : 8.23159912109375 : JumpEnd); (7.75 : 8.23159912109375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    149149      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_Run" />
    150150      <nodes>
  • stable/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.designer.cs

    r11920 r15081  
    33// <auto-generated>
    44//     This code was generated by a tool.
    5 //     Runtime Version:4.0.30319.34014
     5//     Runtime Version:4.0.30319.34209
    66//
    77//     Changes to this file may cause incorrect behavior and will be lost if
     
    31403140    private string _Name;
    31413141   
    3142     private byte _Type;
     3142    private CharacteristicType _Type;
    31433143   
    31443144    private EntitySet<CharacteristicValue> _CharacteristicValues;
     
    31523152    partial void OnNameChanging(string value);
    31533153    partial void OnNameChanged();
    3154     partial void OnTypeChanging(byte value);
     3154    partial void OnTypeChanging(CharacteristicType value);
    31553155    partial void OnTypeChanged();
    31563156    #endregion
     
    32023202    }
    32033203   
    3204     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="TinyInt NOT NULL")]
    3205     public byte Type
     3204    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="TinyInt NOT NULL", CanBeNull=false)]
     3205    public CharacteristicType Type
    32063206    {
    32073207      get
  • stable/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj

    r12564 r15081  
    295295    <Compile Include="RunCreation\DataTransfer\StringValue.cs" />
    296296    <Compile Include="RunCreation\DataTransfer\Value.cs" />
     297    <Compile Include="RunCreation\MissingProblem.cs" />
    297298    <Compile Include="RunCreation\RunCreationService.cs" />
    298299    <Compile Include="RunCreation\IRunCreationService.cs" />
     300    <Compile Include="RunCreation\UnknownCharacteristicType.cs" />
    299301  </ItemGroup>
    300302  <ItemGroup>
  • stable/HeuristicLab.Services.OKB/3.3/RunCreation/Convert.cs

    r14186 r15081  
    6868        entity.Values.Add(Convert.ToEntity(value, entity, DA.ValueNameCategory.Result, okb, binCache));
    6969      return entity;
     70    }
     71
     72    public static DT.Value ToDto(DA.CharacteristicValue source) {
     73      if (source == null) return null;
     74      if (source.Characteristic.Type == DA.CharacteristicType.Bool) {
     75        return new DT.BoolValue { Name = source.Characteristic.Name, DataType = Convert.ToDto(source.DataType), Value = source.BoolValue.GetValueOrDefault() };
     76      } else if (source.Characteristic.Type == DA.CharacteristicType.Int) {
     77        return new DT.IntValue { Name = source.Characteristic.Name, DataType = Convert.ToDto(source.DataType), Value = source.IntValue.GetValueOrDefault() };
     78      } else if (source.Characteristic.Type == DA.CharacteristicType.TimeSpan) {
     79        return new DT.TimeSpanValue { Name = source.Characteristic.Name, DataType = Convert.ToDto(source.DataType), Value = source.LongValue.GetValueOrDefault() };
     80      } else if (source.Characteristic.Type == DA.CharacteristicType.Long) {
     81        return new DT.LongValue { Name = source.Characteristic.Name, DataType = Convert.ToDto(source.DataType), Value = source.LongValue.GetValueOrDefault() };
     82      } else if (source.Characteristic.Type == DA.CharacteristicType.Float) {
     83        return new DT.FloatValue { Name = source.Characteristic.Name, DataType = Convert.ToDto(source.DataType), Value = source.FloatValue.GetValueOrDefault() };
     84      } else if (source.Characteristic.Type == DA.CharacteristicType.Double) {
     85        return new DT.DoubleValue { Name = source.Characteristic.Name, DataType = Convert.ToDto(source.DataType), Value = source.DoubleValue.GetValueOrDefault() };
     86      } else if (source.Characteristic.Type == DA.CharacteristicType.Percent) {
     87        return new DT.PercentValue { Name = source.Characteristic.Name, DataType = Convert.ToDto(source.DataType), Value = source.DoubleValue.GetValueOrDefault() };
     88      } else if (source.Characteristic.Type == DA.CharacteristicType.String) {
     89        return new DT.StringValue { Name = source.Characteristic.Name, DataType = Convert.ToDto(source.DataType), Value = source.StringValue };
     90      } else {
     91        throw new ArgumentException("Unknown characteristic type.", "source");
     92      }
     93    }
     94
     95    public static DA.CharacteristicValue ToEntity(DT.Value source, DA.OKBDataContext okb, DA.Problem problem, DA.CharacteristicType type) {
     96      if (okb == null || problem == null || source == null || string.IsNullOrEmpty(source.Name)) throw new ArgumentNullException();
     97      var entity = new DA.CharacteristicValue();
     98      entity.Problem = problem;
     99      entity.DataType = Convert.ToEntity(source.DataType, okb);
     100      entity.Characteristic = Convert.ToEntity(source.Name, type, okb);
     101      if (source is DT.BoolValue) {
     102        entity.BoolValue = ((DT.BoolValue)source).Value;
     103      } else if (source is DT.IntValue) {
     104        entity.IntValue = ((DT.IntValue)source).Value;
     105      } else if (source is DT.TimeSpanValue) {
     106        entity.LongValue = ((DT.TimeSpanValue)source).Value;
     107      } else if (source is DT.LongValue) {
     108        entity.LongValue = ((DT.LongValue)source).Value;
     109      } else if (source is DT.FloatValue) {
     110        entity.FloatValue = ((DT.FloatValue)source).Value;
     111      } else if (source is DT.DoubleValue) {
     112        entity.DoubleValue = ((DT.DoubleValue)source).Value;
     113      } else if (source is DT.PercentValue) {
     114        entity.DoubleValue = ((DT.PercentValue)source).Value;
     115      } else if (source is DT.StringValue) {
     116        entity.StringValue = ((DT.StringValue)source).Value;
     117      } else {
     118        throw new ArgumentException("Unknown characteristic type.", "source");
     119      }
     120      return entity;
     121    }
     122
     123    private static DA.Characteristic ToEntity(string name, DA.CharacteristicType type, DA.OKBDataContext okb) {
     124      if (string.IsNullOrEmpty(name)) return null;
     125      var entity = okb.Characteristics.FirstOrDefault(x => (x.Name == name) && (x.Type == type));
     126      return entity ?? new DA.Characteristic() { Id = 0, Name = name, Type = type };
    70127    }
    71128
  • stable/HeuristicLab.Services.OKB/3.3/RunCreation/IRunCreationService.cs

    r14186 r15081  
    4545    [OperationContract]
    4646    void AddRun(Run run);
     47
     48    [OperationContract]
     49    IEnumerable<Value> GetCharacteristicValues(long problemId);
     50
     51    [OperationContract]
     52    [FaultContract(typeof(MissingProblem))]
     53    [FaultContract(typeof(UnknownCharacteristicType))]
     54    void SetCharacteristicValue(long problemId, Value value);
     55
     56    [OperationContract]
     57    [FaultContract(typeof(MissingProblem))]
     58    [FaultContract(typeof(UnknownCharacteristicType))]
     59    void SetCharacteristicValues(long problemId, Value[] values);
    4760  }
    4861}
  • stable/HeuristicLab.Services.OKB/3.3/RunCreation/RunCreationService.cs

    r14186 r15081  
    2020#endregion
    2121
     22using System;
    2223using System.Collections.Generic;
    2324using System.Data.Linq;
     
    135136      }
    136137    }
     138
     139    public IEnumerable<DataTransfer.Value> GetCharacteristicValues(long problemId) {
     140      using (OKBDataContext okb = new OKBDataContext()) {
     141        var prob = okb.Problems.SingleOrDefault(x => x.Id == problemId);
     142        if (prob == null) return Enumerable.Empty<DataTransfer.Value>();
     143        return prob.CharacteristicValues.Select(Convert.ToDto).ToArray();
     144      }
     145    }
     146
     147    public void SetCharacteristicValue(long problemId, DataTransfer.Value value) {
     148      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     149
     150      using (OKBDataContext okb = new OKBDataContext()) {
     151        var problem = okb.Problems.SingleOrDefault(x => x.Id == problemId);
     152        if (problem == null) throw new FaultException<MissingProblem>(new MissingProblem("Problem with id {0} cannot be found", problemId));
     153
     154        DoSetCharacteristicValue(okb, problem, value);
     155        okb.SubmitChanges();
     156      }
     157    }
     158
     159    public void SetCharacteristicValues(long problemId, DataTransfer.Value[] values) {
     160      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     161
     162      using (OKBDataContext okb = new OKBDataContext()) {
     163        var problem = okb.Problems.SingleOrDefault(x => x.Id == problemId);
     164        if (problem == null) throw new FaultException<MissingProblem>(new MissingProblem("Problem with id {0} cannot be found", problemId));
     165
     166        foreach (var v in values) {
     167          DoSetCharacteristicValue(okb, problem, v);
     168        }
     169        okb.SubmitChanges();
     170      }
     171    }
     172
     173    private void DoSetCharacteristicValue(OKBDataContext okb, Problem problem, DataTransfer.Value value) {
     174      CharacteristicType characteristicType;
     175      try {
     176        characteristicType = GetCharacteristicType(value);
     177      } catch (ArgumentException ex) {
     178        throw new FaultException<UnknownCharacteristicType>(new UnknownCharacteristicType(ex.Message));
     179      }
     180
     181      var entity = problem.CharacteristicValues.SingleOrDefault(x => x.Characteristic.Name == value.Name && x.Characteristic.Type == characteristicType);
     182      if (entity != null) {
     183        // Update
     184        switch (characteristicType) {
     185          case CharacteristicType.Bool: entity.BoolValue = ((DataTransfer.BoolValue)value).Value; break;
     186          case CharacteristicType.Int: entity.IntValue = ((DataTransfer.IntValue)value).Value; break;
     187          case CharacteristicType.Long: entity.LongValue = ((DataTransfer.LongValue)value).Value; break;
     188          case CharacteristicType.Float: entity.FloatValue = ((DataTransfer.FloatValue)value).Value; break;
     189          case CharacteristicType.Double: entity.DoubleValue = ((DataTransfer.DoubleValue)value).Value; break;
     190          case CharacteristicType.Percent: entity.DoubleValue = ((DataTransfer.PercentValue)value).Value; break;
     191          case CharacteristicType.String: entity.StringValue = ((DataTransfer.StringValue)value).Value; break;
     192          case CharacteristicType.TimeSpan: entity.LongValue = ((DataTransfer.TimeSpanValue)value).Value; break;
     193        }
     194      } else {
     195        // Insert
     196        entity = Convert.ToEntity(value, okb, problem, characteristicType);
     197        okb.CharacteristicValues.InsertOnSubmit(entity);
     198      }
     199
     200    }
     201
     202    private CharacteristicType GetCharacteristicType(DataTransfer.Value source) {
     203      if (source is DataTransfer.BoolValue) {
     204        return CharacteristicType.Bool;
     205      } else if (source is DataTransfer.IntValue) {
     206        return CharacteristicType.Int;
     207      } else if (source is DataTransfer.TimeSpanValue) {
     208        return CharacteristicType.TimeSpan;
     209      } else if (source is DataTransfer.LongValue) {
     210        return CharacteristicType.Long;
     211      } else if (source is DataTransfer.FloatValue) {
     212        return CharacteristicType.Float;
     213      } else if (source is DataTransfer.DoubleValue) {
     214        return CharacteristicType.Double;
     215      } else if (source is DataTransfer.PercentValue) {
     216        return CharacteristicType.Percent;
     217      } else if (source is DataTransfer.StringValue) {
     218        return CharacteristicType.String;
     219      } else {
     220        throw new ArgumentException("Unknown characteristic type.", "source");
     221      }
     222    }
    137223  }
    138224}
  • stable/HeuristicLab.Services.OKB/3.3/RunCreation/UnknownCharacteristicType.cs

    r13501 r15081  
    1 using System.Runtime.Serialization;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System.Runtime.Serialization;
    223
    324namespace HeuristicLab.Services.OKB.RunCreation {
Note: See TracChangeset for help on using the changeset viewer.