Changeset 15082


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

#2588 merged r13682, r13683, r13684, r13690:13693, r13709, r13746 from trunk to stable

Location:
stable
Files:
18 edited
7 copied

Legend:

Unmodified
Added
Removed
  • stable

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

    r15081 r15082  
    286286      <DependentUpon>OKBRunView.cs</DependentUpon>
    287287    </Compile>
     288    <Compile Include="RunCreation\Views\SingleObjectiveOKBSolutionView.cs">
     289      <SubType>UserControl</SubType>
     290    </Compile>
     291    <Compile Include="RunCreation\Views\SingleObjectiveOKBSolutionView.Designer.cs">
     292      <DependentUpon>SingleObjectiveOKBSolutionView.cs</DependentUpon>
     293    </Compile>
    288294    <None Include="Plugin.cs.frame" />
    289295    <None Include="Properties\AssemblyInfo.cs.frame" />
  • stable/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBProblemView.Designer.cs

    r15081 r15082  
    5252      this.parametersTabPage = new System.Windows.Forms.TabPage();
    5353      this.parameterCollectionView = new HeuristicLab.Core.Views.ParameterCollectionView();
     54      this.solutionsTabPage = new System.Windows.Forms.TabPage();
    5455      this.flaAnalysisTabPage = new System.Windows.Forms.TabPage();
     56      this.flaSplitContainer = new System.Windows.Forms.SplitContainer();
    5557      this.calculateButton = new System.Windows.Forms.Button();
    56       this.flaSplitContainer = new System.Windows.Forms.SplitContainer();
    5758      this.characteristicsMatrixView = new HeuristicLab.Data.Views.StringConvertibleMatrixView();
    5859      this.uploadCharacteristicsButton = new System.Windows.Forms.Button();
    5960      this.downloadCharacteristicsButton = new System.Windows.Forms.Button();
     61      this.solutionsViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
     62      this.refreshSolutionsButton = new System.Windows.Forms.Button();
     63      this.uploadSolutionsButton = new System.Windows.Forms.Button();
    6064      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
    6165      this.tabControl.SuspendLayout();
    6266      this.parametersTabPage.SuspendLayout();
     67      this.solutionsTabPage.SuspendLayout();
    6368      this.flaAnalysisTabPage.SuspendLayout();
    6469      ((System.ComponentModel.ISupportInitialize)(this.flaSplitContainer)).BeginInit();
     
    135140            | System.Windows.Forms.AnchorStyles.Right)));
    136141      this.tabControl.Controls.Add(this.parametersTabPage);
     142      this.tabControl.Controls.Add(this.solutionsTabPage);
    137143      this.tabControl.Controls.Add(this.flaAnalysisTabPage);
    138144      this.tabControl.Location = new System.Drawing.Point(6, 53);
     
    148154      this.parametersTabPage.Name = "parametersTabPage";
    149155      this.parametersTabPage.Padding = new System.Windows.Forms.Padding(3);
    150       this.parametersTabPage.Size = new System.Drawing.Size(692, 314);
     156      this.parametersTabPage.Size = new System.Drawing.Size(728, 447);
    151157      this.parametersTabPage.TabIndex = 0;
    152158      this.parametersTabPage.Text = "Parameters";
     
    163169      this.parameterCollectionView.ReadOnly = true;
    164170      this.parameterCollectionView.ShowDetails = true;
    165       this.parameterCollectionView.Size = new System.Drawing.Size(686, 308);
     171      this.parameterCollectionView.Size = new System.Drawing.Size(722, 441);
    166172      this.parameterCollectionView.TabIndex = 8;
     173      //
     174      // solutionsTabPage
     175      //
     176      this.solutionsTabPage.Controls.Add(this.uploadSolutionsButton);
     177      this.solutionsTabPage.Controls.Add(this.refreshSolutionsButton);
     178      this.solutionsTabPage.Controls.Add(this.solutionsViewHost);
     179      this.solutionsTabPage.Location = new System.Drawing.Point(4, 22);
     180      this.solutionsTabPage.Name = "solutionsTabPage";
     181      this.solutionsTabPage.Padding = new System.Windows.Forms.Padding(3);
     182      this.solutionsTabPage.Size = new System.Drawing.Size(728, 447);
     183      this.solutionsTabPage.TabIndex = 3;
     184      this.solutionsTabPage.Text = "Solutions";
     185      this.solutionsTabPage.UseVisualStyleBackColor = true;
    167186      //
    168187      // flaAnalysisTabPage
     
    177196      this.flaAnalysisTabPage.UseVisualStyleBackColor = true;
    178197      //
     198      // flaSplitContainer
     199      //
     200      this.flaSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
     201      this.flaSplitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
     202      this.flaSplitContainer.Location = new System.Drawing.Point(3, 3);
     203      this.flaSplitContainer.Name = "flaSplitContainer";
     204      //
     205      // flaSplitContainer.Panel1
     206      //
     207      this.flaSplitContainer.Panel1.Controls.Add(this.calculateButton);
     208      //
     209      // flaSplitContainer.Panel2
     210      //
     211      this.flaSplitContainer.Panel2.Controls.Add(this.characteristicsMatrixView);
     212      this.flaSplitContainer.Panel2.Controls.Add(this.uploadCharacteristicsButton);
     213      this.flaSplitContainer.Panel2.Controls.Add(this.downloadCharacteristicsButton);
     214      this.flaSplitContainer.Size = new System.Drawing.Size(722, 441);
     215      this.flaSplitContainer.SplitterDistance = 363;
     216      this.flaSplitContainer.TabIndex = 7;
     217      //
    179218      // calculateButton
    180219      //
     
    186225      this.calculateButton.UseVisualStyleBackColor = true;
    187226      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;
    208227      //
    209228      // characteristicsMatrixView
     
    241260      this.downloadCharacteristicsButton.UseVisualStyleBackColor = true;
    242261      this.downloadCharacteristicsButton.Click += new System.EventHandler(this.downloadCharacteristicsButton_Click);
     262      //
     263      // solutionsViewHost
     264      //
     265      this.solutionsViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     266            | System.Windows.Forms.AnchorStyles.Left)
     267            | System.Windows.Forms.AnchorStyles.Right)));
     268      this.solutionsViewHost.Caption = "View";
     269      this.solutionsViewHost.Content = null;
     270      this.solutionsViewHost.Enabled = false;
     271      this.solutionsViewHost.Location = new System.Drawing.Point(0, 35);
     272      this.solutionsViewHost.Name = "solutionsViewHost";
     273      this.solutionsViewHost.ReadOnly = false;
     274      this.solutionsViewHost.Size = new System.Drawing.Size(728, 412);
     275      this.solutionsViewHost.TabIndex = 0;
     276      this.solutionsViewHost.ViewsLabelVisible = true;
     277      this.solutionsViewHost.ViewType = null;
     278      //
     279      // refreshSolutionsButton
     280      //
     281      this.refreshSolutionsButton.Location = new System.Drawing.Point(6, 6);
     282      this.refreshSolutionsButton.Name = "refreshSolutionsButton";
     283      this.refreshSolutionsButton.Size = new System.Drawing.Size(26, 23);
     284      this.refreshSolutionsButton.TabIndex = 1;
     285      this.refreshSolutionsButton.Text = "Refresh";
     286      this.refreshSolutionsButton.UseVisualStyleBackColor = true;
     287      this.refreshSolutionsButton.Click += new System.EventHandler(this.refreshSolutionsButton_Click);
     288      //
     289      // uploadSolutionsButton
     290      //
     291      this.uploadSolutionsButton.Location = new System.Drawing.Point(38, 6);
     292      this.uploadSolutionsButton.Name = "uploadSolutionsButton";
     293      this.uploadSolutionsButton.Size = new System.Drawing.Size(26, 23);
     294      this.uploadSolutionsButton.TabIndex = 1;
     295      this.uploadSolutionsButton.Text = "Upload";
     296      this.uploadSolutionsButton.UseVisualStyleBackColor = true;
     297      this.uploadSolutionsButton.Click += new System.EventHandler(this.uploadSolutionsButton_Click);
    243298      //
    244299      // OKBProblemView
     
    264319      this.tabControl.ResumeLayout(false);
    265320      this.parametersTabPage.ResumeLayout(false);
     321      this.solutionsTabPage.ResumeLayout(false);
    266322      this.flaAnalysisTabPage.ResumeLayout(false);
    267323      this.flaSplitContainer.Panel1.ResumeLayout(false);
     
    289345    private System.Windows.Forms.Button uploadCharacteristicsButton;
    290346    private System.Windows.Forms.Button downloadCharacteristicsButton;
     347    private System.Windows.Forms.TabPage solutionsTabPage;
     348    private MainForm.WindowsForms.ViewHost solutionsViewHost;
     349    private System.Windows.Forms.Button uploadSolutionsButton;
     350    private System.Windows.Forms.Button refreshSolutionsButton;
    291351
    292352
  • stable/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBProblemView.cs

    r15081 r15082  
    7373      uploadCharacteristicsButton.Text = string.Empty;
    7474      uploadCharacteristicsButton.Image = VSImageLibrary.PublishToWeb;
     75      refreshSolutionsButton.Text = string.Empty;
     76      refreshSolutionsButton.Image = VSImageLibrary.Refresh;
     77      uploadSolutionsButton.Text = string.Empty;
     78      uploadSolutionsButton.Image = VSImageLibrary.PublishToWeb;
    7579    }
    7680
     
    9397      base.RegisterContentEvents();
    9498      Content.ProblemChanged += new EventHandler(Content_ProblemChanged);
     99      Content.Solutions.ItemsAdded += SolutionsOnChanged;
     100      Content.Solutions.ItemsReplaced += SolutionsOnChanged;
     101      Content.Solutions.ItemsRemoved += SolutionsOnChanged;
     102      Content.Solutions.CollectionReset += SolutionsOnChanged;
     103    }
     104
     105    private void SolutionsOnChanged(object sender, EventArgs e) {
     106      if (InvokeRequired) { Invoke((Action<object, EventArgs>)SolutionsOnChanged, sender, e); return; }
     107      SetEnabledStateOfControls();
    95108    }
    96109
     
    100113        problemComboBox.SelectedIndex = -1;
    101114        parameterCollectionView.Content = null;
     115        solutionsViewHost.Content = null;
    102116      } else {
    103117        problemComboBox.SelectedItem = RunCreationClient.Instance.Problems.FirstOrDefault(x => x.Id == Content.ProblemId);
    104118        parameterCollectionView.Content = Content.Parameters;
     119        solutionsViewHost.Content = Content.Solutions;
    105120      }
    106121      UpdateCharacteristicCalculators();
     
    118133        && characteristicsMatrixView.Content != null && characteristicsMatrixView.Content.Rows > 0;
    119134      calculateButton.Enabled = Content != null && Content.ProblemId != -1 && !Locked && !ReadOnly && calculatorList.CheckedItems.Any();
     135      refreshSolutionsButton.Enabled = Content != null && !ReadOnly && !Locked && Content.ProblemId != -1;
     136      uploadSolutionsButton.Enabled = Content != null && !ReadOnly && !Locked && Content.ProblemId != -1 && Content.Solutions.Any(x => x.SolutionId == -1);
    120137    }
    121138
     
    183200    }
    184201    private void downloadCharacteristicsButton_Click(object sender, EventArgs e) {
    185       var values = RunCreationClient.GetCharacteristicValues(Content.ProblemId).ToList();
     202      var values = RunCreationClient.Instance.GetCharacteristicValues(Content.ProblemId).ToList();
    186203      var content = new StringMatrix(values.Count, 3);
    187204      for (var i = 0; i < values.Count; i++) {
     
    204221      }
    205222      try {
    206         RunCreationClient.SetCharacteristicValues(Content.ProblemId, values);
     223        RunCreationClient.Instance.SetCharacteristicValues(Content.ProblemId, values);
    207224      } catch (Exception ex) { ErrorHandling.ShowErrorDialog(ex); }
    208225    }
     
    217234      }
    218235      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]);
     236      try {
     237        for (var i = 0; i < matrix.Rows; i++) {
     238          Value r;
     239          if (results.TryGetValue(matrix[i, 0], out r)) {
     240            matrix[i, 1] = r.GetValue();
     241            matrix[i, 2] = r.GetType().Name;
     242            results.Remove(matrix[i, 0]);
     243          }
    225244        }
    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;
     245        if (results.Count == 0) return;
     246        var resultsList = results.ToList();
     247        var counter = resultsList.Count - 1;
     248        for (var i = 0; i < matrix.Rows; i++) {
     249          if (string.IsNullOrEmpty(matrix[i, 0])) {
     250            matrix[i, 0] = resultsList[counter].Key;
     251            matrix[i, 1] = resultsList[counter].Value.GetValue();
     252            matrix[i, 2] = resultsList[counter].Value.GetType().Name;
     253            resultsList.RemoveAt(counter);
     254            counter--;
     255            if (counter < 0) return;
     256          }
    238257        }
    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--;
     258        if (counter >= 0) {
     259          ((IStringConvertibleMatrix)matrix).Rows += counter + 1;
     260          for (var i = matrix.Rows - 1; counter >= 0; i--) {
     261            matrix[i, 0] = resultsList[0].Key;
     262            matrix[i, 1] = resultsList[0].Value.GetValue();
     263            matrix[i, 2] = resultsList[0].Value.GetType().Name;
     264            resultsList.RemoveAt(0);
     265            counter--;
     266          }
    248267        }
    249       }
    250       characteristicsMatrixView.Content = matrix;
    251       SetEnabledStateOfControls();
     268      } finally {
     269        characteristicsMatrixView.Content = matrix;
     270        SetEnabledStateOfControls();
     271      }
    252272    }
    253273    #endregion
     
    261281    #endregion
    262282
     283    private void refreshSolutionsButton_Click(object sender, EventArgs e) {
     284      Content.RefreshSolutions();
     285    }
     286
     287    private void uploadSolutionsButton_Click(object sender, EventArgs e) {
     288      foreach (var solution in Content.Solutions.Where(x => x.SolutionId == -1))
     289        solution.Upload();
     290      SetEnabledStateOfControls();
     291    }
     292
    263293  }
    264294}
  • stable/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj

    r15081 r15082  
    114114    <Compile Include="Administration\ServiceClient\ProblemClass.cs" />
    115115    <Compile Include="OKBRoles.cs" />
     116    <Compile Include="RunCreation\OKBSolution.cs" />
    116117    <Compile Include="Plugin.cs" />
    117118    <Compile Include="Query\QueryClient.cs" />
     
    156157    <Compile Include="RunCreation\OKBProblem.cs" />
    157158    <Compile Include="RunCreation\OKBRun.cs" />
     159    <Compile Include="RunCreation\SingleObjectiveOKBSolution.cs" />
    158160    <Compile Include="RunCreation\RunCreationClient.cs" />
    159161    <Compile Include="RunCreation\ServiceClient\Algorithm.cs" />
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/OKBAlgorithm.cs

    r14186 r15082  
    2020#endregion
    2121
    22 using System;
    23 using System.Collections.Generic;
    24 using System.Drawing;
    25 using System.IO;
    26 using System.Linq;
    2722using HeuristicLab.Clients.Access;
    2823using HeuristicLab.Collections;
     
    3227using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3328using HeuristicLab.Persistence.Default.Xml;
     29using System;
     30using System.Collections.Generic;
     31using System.Drawing;
     32using System.IO;
     33using System.Linq;
    3434
    3535namespace HeuristicLab.Clients.OKB.RunCreation {
     
    222222      if (this.algorithmId != algorithmId) {
    223223        IAlgorithm algorithm;
    224         byte[] algorithmData = RunCreationClient.GetAlgorithmData(algorithmId);
     224        byte[] algorithmData = RunCreationClient.Instance.GetAlgorithmData(algorithmId);
    225225        using (MemoryStream stream = new MemoryStream(algorithmData)) {
    226226          algorithm = XmlParser.Deserialize<IAlgorithm>(stream);
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/OKBProblem.cs

    r14186 r15082  
    2020#endregion
    2121
    22 using System;
    23 using System.Collections.Generic;
    24 using System.Drawing;
    25 using System.IO;
    2622using HeuristicLab.Common;
    2723using HeuristicLab.Core;
     
    2925using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3026using HeuristicLab.Persistence.Default.Xml;
     27using System;
     28using System.Collections.Generic;
     29using System.Drawing;
     30using System.IO;
     31using System.Linq;
    3132
    3233namespace HeuristicLab.Clients.OKB.RunCreation {
     
    6364            OnOperatorsChanged();
    6465            OnReset();
     66
     67            solutions.Clear();
    6568          }
    6669        }
    6770      }
     71    }
     72
     73    [Storable]
     74    private ItemList<OKBSolution> solutions;
     75    public ItemList<OKBSolution> Solutions {
     76      get { return solutions; }
    6877    }
    6978
     
    135144      problemId = original.problemId;
    136145      problem = cloner.Clone(original.problem);
     146      solutions = cloner.Clone(original.solutions);
    137147      RegisterProblemEvents();
    138148    }
     
    142152      problemId = -1;
    143153      problem = initialProblem;
     154      solutions = new ItemList<OKBSolution>();
    144155      RegisterProblemEvents();
    145156    }
     
    148159      if (this.problemId != problemId) {
    149160        IHeuristicOptimizationProblem problem;
    150         byte[] problemData = RunCreationClient.GetProblemData(problemId);
     161        byte[] problemData = RunCreationClient.Instance.GetProblemData(problemId);
    151162        using (MemoryStream stream = new MemoryStream(problemData)) {
    152163          problem = XmlParser.Deserialize<IHeuristicOptimizationProblem>(stream);
     
    157168        }
    158169      }
     170    }
     171
     172    public void RefreshSolutions() {
     173      if (ProblemId != -1) {
     174        var sols = RunCreationClient.Instance.GetSolutions(ProblemId).Select(OKBSolution.Convert).ToList();
     175        foreach (var sol in sols) sol.DownloadData();
     176        Solutions.Replace(sols);
     177      } else Solutions.Clear();
    159178    }
    160179
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/RunCreationClient.cs

    r15081 r15082  
    2020#endregion
    2121
    22 using System;
    23 using System.Collections.Generic;
    24 using System.IO;
    25 using System.Linq;
    2622using HeuristicLab.Clients.Common;
    2723using HeuristicLab.Common;
     
    2925using HeuristicLab.Data;
    3026using HeuristicLab.Persistence.Default.Xml;
     27using System;
     28using System.Collections.Generic;
     29using System.IO;
     30using System.Linq;
    3131
    3232namespace HeuristicLab.Clients.OKB.RunCreation {
     
    8686
    8787    #region Algorithm Methods
    88     public static byte[] GetAlgorithmData(long algorithmId) {
     88    public byte[] GetAlgorithmData(long algorithmId) {
    8989      return CallRunCreationService<byte[]>(s => s.GetAlgorithmData(algorithmId));
    9090    }
     
    9292
    9393    #region Problem Methods
    94     public static byte[] GetProblemData(long problemId) {
     94    public byte[] GetProblemData(long problemId) {
    9595      return CallRunCreationService<byte[]>(s => s.GetProblemData(problemId));
     96    }
     97    #endregion
     98
     99    #region Solution Methods
     100    public IEnumerable<Solution> GetSolutions(long problemId) {
     101      return CallRunCreationService(s => s.GetSolutions(problemId));
     102    }
     103
     104    public Solution GetSolution(long solutionId) {
     105      return CallRunCreationService(s => s.GetSolution(solutionId));
     106    }
     107
     108    public byte[] GetSolutionData(long solutionId) {
     109      return CallRunCreationService(s => s.GetSolutionData(solutionId));
     110    }
     111
     112    public long AddSolution(Solution solution, byte[] data) {
     113      return CallRunCreationService(s => s.AddSolution(solution, data));
     114    }
     115
     116    public void DeleteSolution(Solution solution) {
     117      CallRunCreationService(s => s.DeleteSolution(solution));
    96118    }
    97119    #endregion
     
    104126
    105127    #region Characteristic Methods
    106     public static IEnumerable<Value> GetCharacteristicValues(long problemId) {
     128    public IEnumerable<Value> GetCharacteristicValues(long problemId) {
    107129      return CallRunCreationService(s => s.GetCharacteristicValues(problemId));
    108130    }
    109131
    110     public static void SetCharacteristicValue(long problemId, Value v) {
     132    public void SetCharacteristicValue(long problemId, Value v) {
    111133      CallRunCreationService(s => s.SetCharacteristicValue(problemId, v));
    112134    }
    113135
    114     public static void SetCharacteristicValues(long problemId, IEnumerable<Value> values) {
     136    public void SetCharacteristicValues(long problemId, IEnumerable<Value> values) {
    115137      CallRunCreationService(s => s.SetCharacteristicValues(problemId, values.ToList()));
    116138    }
     
    208230
    209231    #region Helpers
    210     private static void CallRunCreationService(Action<IRunCreationService> call) {
     232    private void CallRunCreationService(Action<IRunCreationService> call) {
    211233      RunCreationServiceClient client = ClientFactory.CreateClient<RunCreationServiceClient, IRunCreationService>();
    212234      try {
     
    220242      }
    221243    }
    222     private static T CallRunCreationService<T>(Func<IRunCreationService, T> call) {
     244    private T CallRunCreationService<T>(Func<IRunCreationService, T> call) {
    223245      RunCreationServiceClient client = ClientFactory.CreateClient<RunCreationServiceClient, IRunCreationService>();
    224246      try {
  • stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs

    r15081 r15082  
    22// <auto-generated>
    33//     This code was generated by a tool.
    4 //     Runtime Version:4.0.30319.34209
     4//     Runtime Version:4.0.30319.42000
    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 
    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   }
     11namespace 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="Solution", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     488        "aTransfer")]
     489    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.SingleObjectiveSolution))]
     490    public partial class Solution : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     491    {
     492       
     493        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     494       
     495        private HeuristicLab.Clients.OKB.RunCreation.DataType DataTypeField;
     496       
     497        private long IdField;
     498       
     499        private long ProblemIdField;
     500       
     501        private System.Nullable<long> RunIdField;
     502       
     503        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     504        {
     505            get
     506            {
     507                return this.extensionDataField;
     508            }
     509            set
     510            {
     511                this.extensionDataField = value;
     512            }
     513        }
     514       
     515        [System.Runtime.Serialization.DataMemberAttribute()]
     516        public HeuristicLab.Clients.OKB.RunCreation.DataType DataType
     517        {
     518            get
     519            {
     520                return this.DataTypeField;
     521            }
     522            set
     523            {
     524                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
     525                {
     526                    this.DataTypeField = value;
     527                    this.RaisePropertyChanged("DataType");
     528                }
     529            }
     530        }
     531       
     532        [System.Runtime.Serialization.DataMemberAttribute()]
     533        public long Id
     534        {
     535            get
     536            {
     537                return this.IdField;
     538            }
     539            set
     540            {
     541                if ((this.IdField.Equals(value) != true))
     542                {
     543                    this.IdField = value;
     544                    this.RaisePropertyChanged("Id");
     545                }
     546            }
     547        }
     548       
     549        [System.Runtime.Serialization.DataMemberAttribute()]
     550        public long ProblemId
     551        {
     552            get
     553            {
     554                return this.ProblemIdField;
     555            }
     556            set
     557            {
     558                if ((this.ProblemIdField.Equals(value) != true))
     559                {
     560                    this.ProblemIdField = value;
     561                    this.RaisePropertyChanged("ProblemId");
     562                }
     563            }
     564        }
     565       
     566        [System.Runtime.Serialization.DataMemberAttribute()]
     567        public System.Nullable<long> RunId
     568        {
     569            get
     570            {
     571                return this.RunIdField;
     572            }
     573            set
     574            {
     575                if ((this.RunIdField.Equals(value) != true))
     576                {
     577                    this.RunIdField = value;
     578                    this.RaisePropertyChanged("RunId");
     579                }
     580            }
     581        }
     582       
     583        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     584       
     585        protected void RaisePropertyChanged(string propertyName)
     586        {
     587            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     588            if ((propertyChanged != null))
     589            {
     590                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     591            }
     592        }
     593    }
     594   
     595    [System.Diagnostics.DebuggerStepThroughAttribute()]
     596    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     597    [System.Runtime.Serialization.DataContractAttribute(Name="SingleObjectiveSolution", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     598        "aTransfer")]
     599    public partial class SingleObjectiveSolution : HeuristicLab.Clients.OKB.RunCreation.Solution
     600    {
     601       
     602        private double QualityField;
     603       
     604        [System.Runtime.Serialization.DataMemberAttribute()]
     605        public double Quality
     606        {
     607            get
     608            {
     609                return this.QualityField;
     610            }
     611            set
     612            {
     613                if ((this.QualityField.Equals(value) != true))
     614                {
     615                    this.QualityField = value;
     616                    this.RaisePropertyChanged("Quality");
     617                }
     618            }
     619        }
     620    }
     621   
     622    [System.Diagnostics.DebuggerStepThroughAttribute()]
     623    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     624    [System.Runtime.Serialization.DataContractAttribute(Name="Run", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     625        "aTransfer")]
     626    public partial class Run : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     627    {
     628       
     629        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     630       
     631        private long AlgorithmIdField;
     632       
     633        private System.Guid ClientIdField;
     634       
     635        private System.DateTime CreatedDateField;
     636       
     637        private System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ParameterValuesField;
     638       
     639        private long ProblemIdField;
     640       
     641        private System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ResultValuesField;
     642       
     643        private System.Guid UserIdField;
     644       
     645        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     646        {
     647            get
     648            {
     649                return this.extensionDataField;
     650            }
     651            set
     652            {
     653                this.extensionDataField = value;
     654            }
     655        }
     656       
     657        [System.Runtime.Serialization.DataMemberAttribute()]
     658        public long AlgorithmId
     659        {
     660            get
     661            {
     662                return this.AlgorithmIdField;
     663            }
     664            set
     665            {
     666                if ((this.AlgorithmIdField.Equals(value) != true))
     667                {
     668                    this.AlgorithmIdField = value;
     669                    this.RaisePropertyChanged("AlgorithmId");
     670                }
     671            }
     672        }
     673       
     674        [System.Runtime.Serialization.DataMemberAttribute()]
     675        public System.Guid ClientId
     676        {
     677            get
     678            {
     679                return this.ClientIdField;
     680            }
     681            set
     682            {
     683                if ((this.ClientIdField.Equals(value) != true))
     684                {
     685                    this.ClientIdField = value;
     686                    this.RaisePropertyChanged("ClientId");
     687                }
     688            }
     689        }
     690       
     691        [System.Runtime.Serialization.DataMemberAttribute()]
     692        public System.DateTime CreatedDate
     693        {
     694            get
     695            {
     696                return this.CreatedDateField;
     697            }
     698            set
     699            {
     700                if ((this.CreatedDateField.Equals(value) != true))
     701                {
     702                    this.CreatedDateField = value;
     703                    this.RaisePropertyChanged("CreatedDate");
     704                }
     705            }
     706        }
     707       
     708        [System.Runtime.Serialization.DataMemberAttribute()]
     709        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ParameterValues
     710        {
     711            get
     712            {
     713                return this.ParameterValuesField;
     714            }
     715            set
     716            {
     717                if ((object.ReferenceEquals(this.ParameterValuesField, value) != true))
     718                {
     719                    this.ParameterValuesField = value;
     720                    this.RaisePropertyChanged("ParameterValues");
     721                }
     722            }
     723        }
     724       
     725        [System.Runtime.Serialization.DataMemberAttribute()]
     726        public long ProblemId
     727        {
     728            get
     729            {
     730                return this.ProblemIdField;
     731            }
     732            set
     733            {
     734                if ((this.ProblemIdField.Equals(value) != true))
     735                {
     736                    this.ProblemIdField = value;
     737                    this.RaisePropertyChanged("ProblemId");
     738                }
     739            }
     740        }
     741       
     742        [System.Runtime.Serialization.DataMemberAttribute()]
     743        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> ResultValues
     744        {
     745            get
     746            {
     747                return this.ResultValuesField;
     748            }
     749            set
     750            {
     751                if ((object.ReferenceEquals(this.ResultValuesField, value) != true))
     752                {
     753                    this.ResultValuesField = value;
     754                    this.RaisePropertyChanged("ResultValues");
     755                }
     756            }
     757        }
     758       
     759        [System.Runtime.Serialization.DataMemberAttribute()]
     760        public System.Guid UserId
     761        {
     762            get
     763            {
     764                return this.UserIdField;
     765            }
     766            set
     767            {
     768                if ((this.UserIdField.Equals(value) != true))
     769                {
     770                    this.UserIdField = value;
     771                    this.RaisePropertyChanged("UserId");
     772                }
     773            }
     774        }
     775       
     776        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     777       
     778        protected void RaisePropertyChanged(string propertyName)
     779        {
     780            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     781            if ((propertyChanged != null))
     782            {
     783                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     784            }
     785        }
     786    }
     787   
     788    [System.Diagnostics.DebuggerStepThroughAttribute()]
     789    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     790    [System.Runtime.Serialization.DataContractAttribute(Name="Value", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     791        "aTransfer")]
     792    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BoolValue))]
     793    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.LongValue))]
     794    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.TimeSpanValue))]
     795    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.DoubleValue))]
     796    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.PercentValue))]
     797    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.FloatValue))]
     798    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.IntValue))]
     799    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.StringValue))]
     800    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BinaryValue))]
     801    public partial class Value : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     802    {
     803       
     804        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     805       
     806        private HeuristicLab.Clients.OKB.RunCreation.DataType DataTypeField;
     807       
     808        private string NameField;
     809       
     810        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     811        {
     812            get
     813            {
     814                return this.extensionDataField;
     815            }
     816            set
     817            {
     818                this.extensionDataField = value;
     819            }
     820        }
     821       
     822        [System.Runtime.Serialization.DataMemberAttribute()]
     823        public HeuristicLab.Clients.OKB.RunCreation.DataType DataType
     824        {
     825            get
     826            {
     827                return this.DataTypeField;
     828            }
     829            set
     830            {
     831                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
     832                {
     833                    this.DataTypeField = value;
     834                    this.RaisePropertyChanged("DataType");
     835                }
     836            }
     837        }
     838       
     839        [System.Runtime.Serialization.DataMemberAttribute()]
     840        public string Name
     841        {
     842            get
     843            {
     844                return this.NameField;
     845            }
     846            set
     847            {
     848                if ((object.ReferenceEquals(this.NameField, value) != true))
     849                {
     850                    this.NameField = value;
     851                    this.RaisePropertyChanged("Name");
     852                }
     853            }
     854        }
     855       
     856        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     857       
     858        protected void RaisePropertyChanged(string propertyName)
     859        {
     860            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     861            if ((propertyChanged != null))
     862            {
     863                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     864            }
     865        }
     866    }
     867   
     868    [System.Diagnostics.DebuggerStepThroughAttribute()]
     869    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     870    [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     871        "aTransfer")]
     872    public partial class BoolValue : HeuristicLab.Clients.OKB.RunCreation.Value
     873    {
     874       
     875        private bool ValueField;
     876       
     877        [System.Runtime.Serialization.DataMemberAttribute()]
     878        public bool Value
     879        {
     880            get
     881            {
     882                return this.ValueField;
     883            }
     884            set
     885            {
     886                if ((this.ValueField.Equals(value) != true))
     887                {
     888                    this.ValueField = value;
     889                    this.RaisePropertyChanged("Value");
     890                }
     891            }
     892        }
     893    }
     894   
     895    [System.Diagnostics.DebuggerStepThroughAttribute()]
     896    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     897    [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     898        "aTransfer")]
     899    public partial class LongValue : HeuristicLab.Clients.OKB.RunCreation.Value
     900    {
     901       
     902        private long ValueField;
     903       
     904        [System.Runtime.Serialization.DataMemberAttribute()]
     905        public long Value
     906        {
     907            get
     908            {
     909                return this.ValueField;
     910            }
     911            set
     912            {
     913                if ((this.ValueField.Equals(value) != true))
     914                {
     915                    this.ValueField = value;
     916                    this.RaisePropertyChanged("Value");
     917                }
     918            }
     919        }
     920    }
     921   
     922    [System.Diagnostics.DebuggerStepThroughAttribute()]
     923    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     924    [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     925        "aTransfer")]
     926    public partial class TimeSpanValue : HeuristicLab.Clients.OKB.RunCreation.Value
     927    {
     928       
     929        private long ValueField;
     930       
     931        [System.Runtime.Serialization.DataMemberAttribute()]
     932        public long Value
     933        {
     934            get
     935            {
     936                return this.ValueField;
     937            }
     938            set
     939            {
     940                if ((this.ValueField.Equals(value) != true))
     941                {
     942                    this.ValueField = value;
     943                    this.RaisePropertyChanged("Value");
     944                }
     945            }
     946        }
     947    }
     948   
     949    [System.Diagnostics.DebuggerStepThroughAttribute()]
     950    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     951    [System.Runtime.Serialization.DataContractAttribute(Name="DoubleValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     952        "aTransfer")]
     953    public partial class DoubleValue : HeuristicLab.Clients.OKB.RunCreation.Value
     954    {
     955       
     956        private double ValueField;
     957       
     958        [System.Runtime.Serialization.DataMemberAttribute()]
     959        public double Value
     960        {
     961            get
     962            {
     963                return this.ValueField;
     964            }
     965            set
     966            {
     967                if ((this.ValueField.Equals(value) != true))
     968                {
     969                    this.ValueField = value;
     970                    this.RaisePropertyChanged("Value");
     971                }
     972            }
     973        }
     974    }
     975   
     976    [System.Diagnostics.DebuggerStepThroughAttribute()]
     977    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     978    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     979        "aTransfer")]
     980    public partial class PercentValue : HeuristicLab.Clients.OKB.RunCreation.Value
     981    {
     982       
     983        private double ValueField;
     984       
     985        [System.Runtime.Serialization.DataMemberAttribute()]
     986        public double Value
     987        {
     988            get
     989            {
     990                return this.ValueField;
     991            }
     992            set
     993            {
     994                if ((this.ValueField.Equals(value) != true))
     995                {
     996                    this.ValueField = value;
     997                    this.RaisePropertyChanged("Value");
     998                }
     999            }
     1000        }
     1001    }
     1002   
     1003    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1004    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1005    [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     1006        "aTransfer")]
     1007    public partial class FloatValue : HeuristicLab.Clients.OKB.RunCreation.Value
     1008    {
     1009       
     1010        private float ValueField;
     1011       
     1012        [System.Runtime.Serialization.DataMemberAttribute()]
     1013        public float Value
     1014        {
     1015            get
     1016            {
     1017                return this.ValueField;
     1018            }
     1019            set
     1020            {
     1021                if ((this.ValueField.Equals(value) != true))
     1022                {
     1023                    this.ValueField = value;
     1024                    this.RaisePropertyChanged("Value");
     1025                }
     1026            }
     1027        }
     1028    }
     1029   
     1030    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1031    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1032    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     1033        "aTransfer")]
     1034    public partial class IntValue : HeuristicLab.Clients.OKB.RunCreation.Value
     1035    {
     1036       
     1037        private int ValueField;
     1038       
     1039        [System.Runtime.Serialization.DataMemberAttribute()]
     1040        public int Value
     1041        {
     1042            get
     1043            {
     1044                return this.ValueField;
     1045            }
     1046            set
     1047            {
     1048                if ((this.ValueField.Equals(value) != true))
     1049                {
     1050                    this.ValueField = value;
     1051                    this.RaisePropertyChanged("Value");
     1052                }
     1053            }
     1054        }
     1055    }
     1056   
     1057    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1058    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1059    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     1060        "aTransfer")]
     1061    public partial class StringValue : HeuristicLab.Clients.OKB.RunCreation.Value
     1062    {
     1063       
     1064        private string ValueField;
     1065       
     1066        [System.Runtime.Serialization.DataMemberAttribute()]
     1067        public string Value
     1068        {
     1069            get
     1070            {
     1071                return this.ValueField;
     1072            }
     1073            set
     1074            {
     1075                if ((object.ReferenceEquals(this.ValueField, value) != true))
     1076                {
     1077                    this.ValueField = value;
     1078                    this.RaisePropertyChanged("Value");
     1079                }
     1080            }
     1081        }
     1082    }
     1083   
     1084    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1085    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1086    [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
     1087        "aTransfer")]
     1088    public partial class BinaryValue : HeuristicLab.Clients.OKB.RunCreation.Value
     1089    {
     1090       
     1091        private byte[] ValueField;
     1092       
     1093        [System.Runtime.Serialization.DataMemberAttribute()]
     1094        public byte[] Value
     1095        {
     1096            get
     1097            {
     1098                return this.ValueField;
     1099            }
     1100            set
     1101            {
     1102                if ((object.ReferenceEquals(this.ValueField, value) != true))
     1103                {
     1104                    this.ValueField = value;
     1105                    this.RaisePropertyChanged("Value");
     1106                }
     1107            }
     1108        }
     1109    }
     1110   
     1111    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1112    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1113    [System.Runtime.Serialization.DataContractAttribute(Name="MissingProblem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     1114    public partial class MissingProblem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     1115    {
     1116       
     1117        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     1118       
     1119        private string MessageField;
     1120       
     1121        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     1122        {
     1123            get
     1124            {
     1125                return this.extensionDataField;
     1126            }
     1127            set
     1128            {
     1129                this.extensionDataField = value;
     1130            }
     1131        }
     1132       
     1133        [System.Runtime.Serialization.DataMemberAttribute()]
     1134        public string Message
     1135        {
     1136            get
     1137            {
     1138                return this.MessageField;
     1139            }
     1140            set
     1141            {
     1142                if ((object.ReferenceEquals(this.MessageField, value) != true))
     1143                {
     1144                    this.MessageField = value;
     1145                    this.RaisePropertyChanged("Message");
     1146                }
     1147            }
     1148        }
     1149       
     1150        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     1151       
     1152        protected void RaisePropertyChanged(string propertyName)
     1153        {
     1154            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     1155            if ((propertyChanged != null))
     1156            {
     1157                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     1158            }
     1159        }
     1160    }
     1161   
     1162    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1163    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1164    [System.Runtime.Serialization.DataContractAttribute(Name="MissingSolution", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     1165    public partial class MissingSolution : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     1166    {
     1167       
     1168        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     1169       
     1170        private string MessageField;
     1171       
     1172        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     1173        {
     1174            get
     1175            {
     1176                return this.extensionDataField;
     1177            }
     1178            set
     1179            {
     1180                this.extensionDataField = value;
     1181            }
     1182        }
     1183       
     1184        [System.Runtime.Serialization.DataMemberAttribute()]
     1185        public string Message
     1186        {
     1187            get
     1188            {
     1189                return this.MessageField;
     1190            }
     1191            set
     1192            {
     1193                if ((object.ReferenceEquals(this.MessageField, value) != true))
     1194                {
     1195                    this.MessageField = value;
     1196                    this.RaisePropertyChanged("Message");
     1197                }
     1198            }
     1199        }
     1200       
     1201        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     1202       
     1203        protected void RaisePropertyChanged(string propertyName)
     1204        {
     1205            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     1206            if ((propertyChanged != null))
     1207            {
     1208                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     1209            }
     1210        }
     1211    }
     1212   
     1213    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1214    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1215    [System.Runtime.Serialization.DataContractAttribute(Name="UnknownCharacteristicType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     1216    public partial class UnknownCharacteristicType : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     1217    {
     1218       
     1219        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     1220       
     1221        private string MessageField;
     1222       
     1223        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     1224        {
     1225            get
     1226            {
     1227                return this.extensionDataField;
     1228            }
     1229            set
     1230            {
     1231                this.extensionDataField = value;
     1232            }
     1233        }
     1234       
     1235        [System.Runtime.Serialization.DataMemberAttribute()]
     1236        public string Message
     1237        {
     1238            get
     1239            {
     1240                return this.MessageField;
     1241            }
     1242            set
     1243            {
     1244                if ((object.ReferenceEquals(this.MessageField, value) != true))
     1245                {
     1246                    this.MessageField = value;
     1247                    this.RaisePropertyChanged("Message");
     1248                }
     1249            }
     1250        }
     1251       
     1252        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     1253       
     1254        protected void RaisePropertyChanged(string propertyName)
     1255        {
     1256            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     1257            if ((propertyChanged != null))
     1258            {
     1259                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     1260            }
     1261        }
     1262    }
     1263   
     1264    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     1265    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="HeuristicLab.Clients.OKB.RunCreation.IRunCreationService")]
     1266    public interface IRunCreationService
     1267    {
     1268       
     1269        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithms", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmsResponse")]
     1270        System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm> GetAlgorithms(string platformName);
     1271       
     1272        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithms", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmsResponse")]
     1273        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm>> GetAlgorithmsAsync(string platformName);
     1274       
     1275        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithmData", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmDataResponse")]
     1276        byte[] GetAlgorithmData(long algorithmId);
     1277       
     1278        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithmData", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmDataResponse")]
     1279        System.Threading.Tasks.Task<byte[]> GetAlgorithmDataAsync(long algorithmId);
     1280       
     1281        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblems", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemsResponse")]
     1282        System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem> GetProblems(string platformName);
     1283       
     1284        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblems", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemsResponse")]
     1285        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem>> GetProblemsAsync(string platformName);
     1286       
     1287        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblemData", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemDataResponse")]
     1288        byte[] GetProblemData(long problemId);
     1289       
     1290        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblemData", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemDataResponse")]
     1291        System.Threading.Tasks.Task<byte[]> GetProblemDataAsync(long problemId);
     1292       
     1293        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolutions", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionsResponse")]
     1294        [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.MissingProblem), Action="http://tempuri.org/IRunCreationService/GetSolutionsMissingProblemFault", Name="MissingProblem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     1295        System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Solution> GetSolutions(long problemId);
     1296       
     1297        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolutions", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionsResponse")]
     1298        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Solution>> GetSolutionsAsync(long problemId);
     1299       
     1300        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolution", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionResponse")]
     1301        HeuristicLab.Clients.OKB.RunCreation.Solution GetSolution(long solutionId);
     1302       
     1303        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolution", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionResponse")]
     1304        System.Threading.Tasks.Task<HeuristicLab.Clients.OKB.RunCreation.Solution> GetSolutionAsync(long solutionId);
     1305       
     1306        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolutionData", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionDataResponse")]
     1307        [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.MissingSolution), Action="http://tempuri.org/IRunCreationService/GetSolutionDataMissingSolutionFault", Name="MissingSolution", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     1308        byte[] GetSolutionData(long solutionId);
     1309       
     1310        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolutionData", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionDataResponse")]
     1311        System.Threading.Tasks.Task<byte[]> GetSolutionDataAsync(long solutionId);
     1312       
     1313        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddSolution", ReplyAction="http://tempuri.org/IRunCreationService/AddSolutionResponse")]
     1314        long AddSolution(HeuristicLab.Clients.OKB.RunCreation.Solution solution, byte[] data);
     1315       
     1316        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddSolution", ReplyAction="http://tempuri.org/IRunCreationService/AddSolutionResponse")]
     1317        System.Threading.Tasks.Task<long> AddSolutionAsync(HeuristicLab.Clients.OKB.RunCreation.Solution solution, byte[] data);
     1318       
     1319        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/DeleteSolution", ReplyAction="http://tempuri.org/IRunCreationService/DeleteSolutionResponse")]
     1320        void DeleteSolution(HeuristicLab.Clients.OKB.RunCreation.Solution solution);
     1321       
     1322        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/DeleteSolution", ReplyAction="http://tempuri.org/IRunCreationService/DeleteSolutionResponse")]
     1323        System.Threading.Tasks.Task DeleteSolutionAsync(HeuristicLab.Clients.OKB.RunCreation.Solution solution);
     1324       
     1325        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddRun", ReplyAction="http://tempuri.org/IRunCreationService/AddRunResponse")]
     1326        void AddRun(HeuristicLab.Clients.OKB.RunCreation.Run run);
     1327       
     1328        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddRun", ReplyAction="http://tempuri.org/IRunCreationService/AddRunResponse")]
     1329        System.Threading.Tasks.Task AddRunAsync(HeuristicLab.Clients.OKB.RunCreation.Run run);
     1330       
     1331        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetCharacteristicValues", ReplyAction="http://tempuri.org/IRunCreationService/GetCharacteristicValuesResponse")]
     1332        System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> GetCharacteristicValues(long problemId);
     1333       
     1334        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetCharacteristicValues", ReplyAction="http://tempuri.org/IRunCreationService/GetCharacteristicValuesResponse")]
     1335        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value>> GetCharacteristicValuesAsync(long problemId);
     1336       
     1337        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/SetCharacteristicValue", ReplyAction="http://tempuri.org/IRunCreationService/SetCharacteristicValueResponse")]
     1338        [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")]
     1339        [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.UnknownCharacteristicType), Action="http://tempuri.org/IRunCreationService/SetCharacteristicValueUnknownCharacteristi" +
     1340            "cTypeFault", Name="UnknownCharacteristicType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     1341        void SetCharacteristicValue(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value);
     1342       
     1343        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/SetCharacteristicValue", ReplyAction="http://tempuri.org/IRunCreationService/SetCharacteristicValueResponse")]
     1344        System.Threading.Tasks.Task SetCharacteristicValueAsync(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value);
     1345       
     1346        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/SetCharacteristicValues", ReplyAction="http://tempuri.org/IRunCreationService/SetCharacteristicValuesResponse")]
     1347        [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.UnknownCharacteristicType), Action="http://tempuri.org/IRunCreationService/SetCharacteristicValuesUnknownCharacterist" +
     1348            "icTypeFault", Name="UnknownCharacteristicType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     1349        [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.MissingProblem), Action="http://tempuri.org/IRunCreationService/SetCharacteristicValuesMissingProblemFault" +
     1350            "", Name="MissingProblem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
     1351        void SetCharacteristicValues(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values);
     1352       
     1353        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/SetCharacteristicValues", ReplyAction="http://tempuri.org/IRunCreationService/SetCharacteristicValuesResponse")]
     1354        System.Threading.Tasks.Task SetCharacteristicValuesAsync(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values);
     1355    }
     1356   
     1357    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     1358    public interface IRunCreationServiceChannel : HeuristicLab.Clients.OKB.RunCreation.IRunCreationService, System.ServiceModel.IClientChannel
     1359    {
     1360    }
     1361   
     1362    [System.Diagnostics.DebuggerStepThroughAttribute()]
     1363    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     1364    public partial class RunCreationServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.RunCreation.IRunCreationService>, HeuristicLab.Clients.OKB.RunCreation.IRunCreationService
     1365    {
     1366       
     1367        public RunCreationServiceClient()
     1368        {
     1369        }
     1370       
     1371        public RunCreationServiceClient(string endpointConfigurationName) :
     1372                base(endpointConfigurationName)
     1373        {
     1374        }
     1375       
     1376        public RunCreationServiceClient(string endpointConfigurationName, string remoteAddress) :
     1377                base(endpointConfigurationName, remoteAddress)
     1378        {
     1379        }
     1380       
     1381        public RunCreationServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
     1382                base(endpointConfigurationName, remoteAddress)
     1383        {
     1384        }
     1385       
     1386        public RunCreationServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
     1387                base(binding, remoteAddress)
     1388        {
     1389        }
     1390       
     1391        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm> GetAlgorithms(string platformName)
     1392        {
     1393            return base.Channel.GetAlgorithms(platformName);
     1394        }
     1395       
     1396        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm>> GetAlgorithmsAsync(string platformName)
     1397        {
     1398            return base.Channel.GetAlgorithmsAsync(platformName);
     1399        }
     1400       
     1401        public byte[] GetAlgorithmData(long algorithmId)
     1402        {
     1403            return base.Channel.GetAlgorithmData(algorithmId);
     1404        }
     1405       
     1406        public System.Threading.Tasks.Task<byte[]> GetAlgorithmDataAsync(long algorithmId)
     1407        {
     1408            return base.Channel.GetAlgorithmDataAsync(algorithmId);
     1409        }
     1410       
     1411        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem> GetProblems(string platformName)
     1412        {
     1413            return base.Channel.GetProblems(platformName);
     1414        }
     1415       
     1416        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem>> GetProblemsAsync(string platformName)
     1417        {
     1418            return base.Channel.GetProblemsAsync(platformName);
     1419        }
     1420       
     1421        public byte[] GetProblemData(long problemId)
     1422        {
     1423            return base.Channel.GetProblemData(problemId);
     1424        }
     1425       
     1426        public System.Threading.Tasks.Task<byte[]> GetProblemDataAsync(long problemId)
     1427        {
     1428            return base.Channel.GetProblemDataAsync(problemId);
     1429        }
     1430       
     1431        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Solution> GetSolutions(long problemId)
     1432        {
     1433            return base.Channel.GetSolutions(problemId);
     1434        }
     1435       
     1436        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Solution>> GetSolutionsAsync(long problemId)
     1437        {
     1438            return base.Channel.GetSolutionsAsync(problemId);
     1439        }
     1440       
     1441        public HeuristicLab.Clients.OKB.RunCreation.Solution GetSolution(long solutionId)
     1442        {
     1443            return base.Channel.GetSolution(solutionId);
     1444        }
     1445       
     1446        public System.Threading.Tasks.Task<HeuristicLab.Clients.OKB.RunCreation.Solution> GetSolutionAsync(long solutionId)
     1447        {
     1448            return base.Channel.GetSolutionAsync(solutionId);
     1449        }
     1450       
     1451        public byte[] GetSolutionData(long solutionId)
     1452        {
     1453            return base.Channel.GetSolutionData(solutionId);
     1454        }
     1455       
     1456        public System.Threading.Tasks.Task<byte[]> GetSolutionDataAsync(long solutionId)
     1457        {
     1458            return base.Channel.GetSolutionDataAsync(solutionId);
     1459        }
     1460       
     1461        public long AddSolution(HeuristicLab.Clients.OKB.RunCreation.Solution solution, byte[] data)
     1462        {
     1463            return base.Channel.AddSolution(solution, data);
     1464        }
     1465       
     1466        public System.Threading.Tasks.Task<long> AddSolutionAsync(HeuristicLab.Clients.OKB.RunCreation.Solution solution, byte[] data)
     1467        {
     1468            return base.Channel.AddSolutionAsync(solution, data);
     1469        }
     1470       
     1471        public void DeleteSolution(HeuristicLab.Clients.OKB.RunCreation.Solution solution)
     1472        {
     1473            base.Channel.DeleteSolution(solution);
     1474        }
     1475       
     1476        public System.Threading.Tasks.Task DeleteSolutionAsync(HeuristicLab.Clients.OKB.RunCreation.Solution solution)
     1477        {
     1478            return base.Channel.DeleteSolutionAsync(solution);
     1479        }
     1480       
     1481        public void AddRun(HeuristicLab.Clients.OKB.RunCreation.Run run)
     1482        {
     1483            base.Channel.AddRun(run);
     1484        }
     1485       
     1486        public System.Threading.Tasks.Task AddRunAsync(HeuristicLab.Clients.OKB.RunCreation.Run run)
     1487        {
     1488            return base.Channel.AddRunAsync(run);
     1489        }
     1490       
     1491        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> GetCharacteristicValues(long problemId)
     1492        {
     1493            return base.Channel.GetCharacteristicValues(problemId);
     1494        }
     1495       
     1496        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value>> GetCharacteristicValuesAsync(long problemId)
     1497        {
     1498            return base.Channel.GetCharacteristicValuesAsync(problemId);
     1499        }
     1500       
     1501        public void SetCharacteristicValue(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value)
     1502        {
     1503            base.Channel.SetCharacteristicValue(problemId, value);
     1504        }
     1505       
     1506        public System.Threading.Tasks.Task SetCharacteristicValueAsync(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value)
     1507        {
     1508            return base.Channel.SetCharacteristicValueAsync(problemId, value);
     1509        }
     1510       
     1511        public void SetCharacteristicValues(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values)
     1512        {
     1513            base.Channel.SetCharacteristicValues(problemId, values);
     1514        }
     1515       
     1516        public System.Threading.Tasks.Task SetCharacteristicValuesAsync(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values)
     1517        {
     1518            return base.Channel.SetCharacteristicValuesAsync(problemId, values);
     1519        }
     1520    }
    10181521}
  • stable/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml

    r15081 r15082  
    4949      <Association Name="DataType_Value" Member="Values" ThisKey="Id" OtherKey="DataTypeId" Type="Value" />
    5050      <Association Name="DataType_CharacteristicValue" Member="CharacteristicValues" ThisKey="Id" OtherKey="DataTypeId" Type="CharacteristicValue" />
     51      <Association Name="DataType_SingleObjectiveSolution" Member="SingleObjectiveSolutions" ThisKey="Id" OtherKey="DataTypeId" Type="SingleObjectiveSolution" />
    5152    </Type>
    5253  </Table>
     
    8990      <Association Name="Problem_Run" Member="Runs" ThisKey="Id" OtherKey="ProblemId" Type="Run" />
    9091      <Association Name="Problem_CharacteristicValue" Member="CharacteristicValues" ThisKey="Id" OtherKey="ProblemId" Type="CharacteristicValue" />
     92      <Association Name="Problem_SingleObjectiveSolution" Member="SingleObjectiveSolutions" ThisKey="Id" OtherKey="ProblemId" Type="SingleObjectiveSolution" />
    9193      <Association Name="DataType_Problem" Member="DataType" ThisKey="DataTypeId" OtherKey="Id" Type="DataType" IsForeignKey="true" />
    9294      <Association Name="Platform_Problem" Member="Platform" ThisKey="PlatformId" OtherKey="Id" Type="Platform" IsForeignKey="true" />
     
    103105      <Association Name="BinaryData_Problem" Member="Problems" ThisKey="Id" OtherKey="BinaryDataId" Type="Problem" />
    104106      <Association Name="BinaryData_Value" Member="Values" ThisKey="Id" OtherKey="BinaryDataId" Type="Value" />
     107      <Association Name="BinaryData_SingleObjectiveSolution" Member="SingleObjectiveSolutions" ThisKey="Id" OtherKey="BinaryDataId" Type="SingleObjectiveSolution" />
    105108    </Type>
    106109  </Table>
     
    114117      <Column Name="ClientId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    115118      <Association Name="Run_Value" Member="Values" ThisKey="Id" OtherKey="RunId" Type="Value" />
     119      <Association Name="Run_SingleObjectiveSolution" Member="SingleObjectiveSolutions" ThisKey="Id" OtherKey="RunId" Type="SingleObjectiveSolution" />
    116120      <Association Name="Algorithm_Run" Member="Algorithm" ThisKey="AlgorithmId" OtherKey="Id" Type="Algorithm" IsForeignKey="true" />
    117121      <Association Name="Problem_Run" Member="Problem" ThisKey="ProblemId" OtherKey="Id" Type="Problem" IsForeignKey="true" />
     
    162166    </Type>
    163167  </Table>
     168  <Table Name="dbo.SingleObjectiveSolution" Member="SingleObjectiveSolutions">
     169    <Type Name="SingleObjectiveSolution">
     170      <Column Name="Id" Type="System.Int64" DbType="BigInt NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     171      <Column Name="ProblemId" Type="System.Int64" DbType="BigInt" CanBeNull="true" />
     172      <Column Name="BinaryDataId" Type="System.Int64" DbType="BigInt" CanBeNull="true" />
     173      <Column Name="RunId" Type="System.Int64" DbType="BigInt" CanBeNull="true" />
     174      <Column Name="Quality" Type="System.Double" DbType="Float" CanBeNull="false" />
     175      <Column Name="DataTypeId" Type="System.Int64" DbType="BigInt" CanBeNull="true" />
     176      <Association Name="Problem_SingleObjectiveSolution" Member="Problem" ThisKey="ProblemId" OtherKey="Id" Type="Problem" IsForeignKey="true" />
     177      <Association Name="BinaryData_SingleObjectiveSolution" Member="BinaryData" ThisKey="BinaryDataId" OtherKey="Id" Type="BinaryData" IsForeignKey="true" />
     178      <Association Name="Run_SingleObjectiveSolution" Member="Run" ThisKey="RunId" OtherKey="Id" Type="Run" IsForeignKey="true" />
     179      <Association Name="DataType_SingleObjectiveSolution" Member="DataType" ThisKey="DataTypeId" OtherKey="Id" Type="DataType" IsForeignKey="true" />
     180    </Type>
     181  </Table>
    164182</Database>
  • stable/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml.layout

    r15081 r15082  
    11<?xml version="1.0" encoding="utf-8"?>
    2 <ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 15.75, 11.25" name="OKB">
     2<ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 15.75, 11.125" name="OKB">
    33  <DataContextMoniker Name="/OKBDataContext" />
    44  <nestedChildShapes>
    5     <classShape Id="ec288562-8ef9-46b8-a2dc-a471fec7afb8" absoluteBounds="0.5, 0.5, 2, 1.3862939453125">
     5    <classShape Id="ec288562-8ef9-46b8-a2dc-a471fec7afb8" absoluteBounds="0.5, 0.5, 2, 1.26050048828125">
    66      <DataClassMoniker Name="/OKBDataContext/AlgorithmClass" />
    77      <nestedChildShapes>
    8         <elementListCompartment Id="fbed452c-662c-42d5-b89f-2b122b63aecc" absoluteBounds="0.51500000000000012, 0.96, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    9       </nestedChildShapes>
    10     </classShape>
    11     <classShape Id="018aceac-7bd0-4fdd-8cca-d219aa08a5b5" absoluteBounds="13.5, 0.5, 2, 1.3862939453125">
     8        <elementListCompartment Id="fbed452c-662c-42d5-b89f-2b122b63aecc" absoluteBounds="0.51500000000000012, 0.96, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     9      </nestedChildShapes>
     10    </classShape>
     11    <classShape Id="018aceac-7bd0-4fdd-8cca-d219aa08a5b5" absoluteBounds="13.5, 0.5, 2, 1.26050048828125">
    1212      <DataClassMoniker Name="/OKBDataContext/ProblemClass" />
    1313      <nestedChildShapes>
    14         <elementListCompartment Id="2958536f-012b-4eb7-8bc7-453edcda1493" absoluteBounds="13.515, 0.96, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    15       </nestedChildShapes>
    16     </classShape>
    17     <classShape Id="aa997e47-0162-4fc2-aa8d-e237c50c46fe" absoluteBounds="0.5, 2.125, 2, 1.1939925130208331">
     14        <elementListCompartment Id="2958536f-012b-4eb7-8bc7-453edcda1493" absoluteBounds="13.515, 0.96, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     15      </nestedChildShapes>
     16    </classShape>
     17    <classShape Id="aa997e47-0162-4fc2-aa8d-e237c50c46fe" absoluteBounds="0.5, 2.125, 2, 1.0961531575520831">
    1818      <DataClassMoniker Name="/OKBDataContext/AlgorithmUser" />
    1919      <nestedChildShapes>
    20         <elementListCompartment Id="f81c31a9-84c5-40b1-b817-6dccbe77227d" absoluteBounds="0.51500000000000057, 2.5850000000000009, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    21       </nestedChildShapes>
    22     </classShape>
    23     <classShape Id="8d911be4-13c4-4abd-85de-4f93f280dd50" absoluteBounds="13.5, 2.125, 2, 1.1939925130208331">
     20        <elementListCompartment Id="f81c31a9-84c5-40b1-b817-6dccbe77227d" absoluteBounds="0.51500000000000057, 2.5850000000000009, 1.9700000000000002, 0.53615315755208326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     21      </nestedChildShapes>
     22    </classShape>
     23    <classShape Id="8d911be4-13c4-4abd-85de-4f93f280dd50" absoluteBounds="13.5, 2.125, 2, 1.0961531575520831">
    2424      <DataClassMoniker Name="/OKBDataContext/ProblemUser" />
    2525      <nestedChildShapes>
    26         <elementListCompartment Id="bdf4bd9d-405f-4582-99ff-036459c86748" absoluteBounds="13.515, 2.5850000000000009, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    27       </nestedChildShapes>
    28     </classShape>
    29     <classShape Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" absoluteBounds="7, 0.5, 2, 1.3862939453125">
     26        <elementListCompartment Id="bdf4bd9d-405f-4582-99ff-036459c86748" absoluteBounds="13.515, 2.5850000000000009, 1.9700000000000002, 0.53615315755208326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     27      </nestedChildShapes>
     28    </classShape>
     29    <classShape Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" absoluteBounds="7, 0.5, 2, 1.26050048828125">
    3030      <DataClassMoniker Name="/OKBDataContext/Platform" />
    3131      <nestedChildShapes>
    32         <elementListCompartment Id="83ab4fa2-80aa-4c36-9596-bc4d9a0c6daf" absoluteBounds="7.0150000000000006, 0.96, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    33       </nestedChildShapes>
    34     </classShape>
    35     <classShape Id="34f5a12b-f109-4606-baf8-6ddfde7c1b34" absoluteBounds="7, 2.125, 2, 1.3862939453125">
     32        <elementListCompartment Id="83ab4fa2-80aa-4c36-9596-bc4d9a0c6daf" absoluteBounds="7.0150000000000006, 0.96, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     33      </nestedChildShapes>
     34    </classShape>
     35    <classShape Id="34f5a12b-f109-4606-baf8-6ddfde7c1b34" absoluteBounds="7, 2.125, 2, 1.26050048828125">
    3636      <DataClassMoniker Name="/OKBDataContext/DataType" />
    3737      <nestedChildShapes>
    38         <elementListCompartment Id="1dacac40-e283-48e9-a98d-dddbc6b4fd48" absoluteBounds="7.0150000000000006, 2.585, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    39       </nestedChildShapes>
    40     </classShape>
    41     <classShape Id="c75911bf-ae6d-421c-9219-e027c3059390" absoluteBounds="3.5, 4, 2, 1.5785953776041666">
     38        <elementListCompartment Id="1dacac40-e283-48e9-a98d-dddbc6b4fd48" absoluteBounds="7.0150000000000006, 2.585, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     39      </nestedChildShapes>
     40    </classShape>
     41    <classShape Id="c75911bf-ae6d-421c-9219-e027c3059390" absoluteBounds="3.5, 4, 2, 1.4248478190104166">
    4242      <DataClassMoniker Name="/OKBDataContext/ValueName" />
    4343      <nestedChildShapes>
    44         <elementListCompartment Id="5aadda7d-ee09-475a-a2d1-e153615911b4" absoluteBounds="3.5149999999999997, 4.46, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    45       </nestedChildShapes>
    46     </classShape>
    47     <classShape Id="be37de9e-465a-4d06-9dd6-3c3f7f1f07fa" absoluteBounds="2.75, 0.5, 2, 2.1554996744791666">
     44        <elementListCompartment Id="5aadda7d-ee09-475a-a2d1-e153615911b4" absoluteBounds="3.5149999999999997, 4.46, 1.9700000000000002, 0.86484781901041663" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     45      </nestedChildShapes>
     46    </classShape>
     47    <classShape Id="be37de9e-465a-4d06-9dd6-3c3f7f1f07fa" absoluteBounds="2.75, 0.5, 2, 1.9178898111979166">
    4848      <DataClassMoniker Name="/OKBDataContext/Algorithm" />
    4949      <nestedChildShapes>
    50         <elementListCompartment Id="5d0e5084-c74f-469d-bb56-da81ce2ce8d4" absoluteBounds="2.7650000000000006, 0.96, 1.9700000000000002, 1.5954996744791665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    51       </nestedChildShapes>
    52     </classShape>
    53     <associationConnector edgePoints="[(2.75 : 2.39024983723958); (2.5 : 2.39024983723958)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     50        <elementListCompartment Id="5d0e5084-c74f-469d-bb56-da81ce2ce8d4" absoluteBounds="2.7650000000000006, 0.96, 1.9700000000000002, 1.3578898111979165" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     51      </nestedChildShapes>
     52    </classShape>
     53    <associationConnector edgePoints="[(2.75 : 2.21452838459845); (2.62712 : 2.21452838459845); (2.62712 : 2.32099938104692); (2.5 : 2.32099938104692)]" fixedFrom="Caller" fixedTo="Caller">
    5454      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_AlgorithmUser" />
    5555      <nodes>
     
    5858      </nodes>
    5959    </associationConnector>
    60     <associationConnector edgePoints="[(2.5 : 1.19314697265625); (2.75 : 1.19314697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     60    <associationConnector edgePoints="[(2.5 : 0.916972452799479); (2.75 : 0.916972452799479)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    6161      <AssociationMoniker Name="/OKBDataContext/AlgorithmClass/AlgorithmClass_Algorithm" />
    6262      <nodes>
     
    6565      </nodes>
    6666    </associationConnector>
    67     <associationConnector edgePoints="[(7 : 2.39024983723958); (4.75 : 2.39024983723958)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     67    <associationConnector edgePoints="[(7 : 2.90169564973958); (3.75 : 2.90169564973958); (3.75 : 2.41788981119792)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    6868      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_Algorithm" />
    6969      <nodes>
     
    7272      </nodes>
    7373    </associationConnector>
    74     <associationConnector edgePoints="[(7 : 1.19314697265625); (4.75 : 1.19314697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     74    <associationConnector edgePoints="[(7 : 1.13025024414063); (4.75 : 1.13025024414063)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    7575      <AssociationMoniker Name="/OKBDataContext/Platform/Platform_Algorithm" />
    7676      <nodes>
     
    7979      </nodes>
    8080    </associationConnector>
    81     <classShape Id="f197afc9-8f2b-4dae-b87e-43c2c87796bb" absoluteBounds="11.25, 0.5, 2, 2.1554996744791666">
     81    <classShape Id="f197afc9-8f2b-4dae-b87e-43c2c87796bb" absoluteBounds="11.25, 0.5, 2, 1.9178898111979166">
    8282      <DataClassMoniker Name="/OKBDataContext/Problem" />
    8383      <nestedChildShapes>
    84         <elementListCompartment Id="9feb3034-0748-47df-aa82-41b7c3e8cdbd" absoluteBounds="11.265, 0.96, 1.9700000000000002, 1.5954996744791665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     84        <elementListCompartment Id="9feb3034-0748-47df-aa82-41b7c3e8cdbd" absoluteBounds="11.265, 0.96, 1.9700000000000002, 1.3578898111979165" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    8585      </nestedChildShapes>
    8686    </classShape>
     
    113113      </nodes>
    114114    </associationConnector>
    115     <classShape Id="c2a69525-596c-4c58-a8cb-cb8c616f52d1" absoluteBounds="7, 9.625, 2, 1.3862939453125">
     115    <classShape Id="c2a69525-596c-4c58-a8cb-cb8c616f52d1" absoluteBounds="7, 9.625, 2, 1.2605004882812505">
    116116      <DataClassMoniker Name="/OKBDataContext/BinaryData" />
    117117      <nestedChildShapes>
    118         <elementListCompartment Id="d8ba4b42-b034-4f4d-88c6-ccc998db2567" absoluteBounds="7.0150000000000006, 10.085, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    119       </nestedChildShapes>
    120     </classShape>
    121     <associationConnector edgePoints="[(7 : 10.3181469726562); (2.98333686713063 : 10.3181469726562); (2.98333686713063 : 2.65549967447917)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     118        <elementListCompartment Id="d8ba4b42-b034-4f4d-88c6-ccc998db2567" absoluteBounds="7.0150000000000006, 10.085, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     119      </nestedChildShapes>
     120    </classShape>
     121    <associationConnector edgePoints="[(7 : 10.2552502441406); (3.09375 : 10.2552502441406); (3.09375 : 2.41788981119792)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    122122      <AssociationMoniker Name="/OKBDataContext/BinaryData/BinaryData_Algorithm" />
    123123      <nodes>
     
    126126      </nodes>
    127127    </associationConnector>
    128     <associationConnector edgePoints="[(9 : 10.3181469726562); (13.0131477507419 : 10.3181469726562); (13.0131477507419 : 2.65549967447917)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     128    <associationConnector edgePoints="[(9 : 9.94921858039234); (12.9483480024624 : 9.94921858039234); (12.9483480024624 : 2.41788981119792)]" fixedFrom="Caller" fixedTo="Caller">
    129129      <AssociationMoniker Name="/OKBDataContext/BinaryData/BinaryData_Problem" />
    130130      <nodes>
     
    133133      </nodes>
    134134    </associationConnector>
    135     <classShape Id="65934fe9-4206-4d20-971b-1afacf645311" absoluteBounds="5.75, 7.25, 2, 1.9631982421875005">
     135    <classShape Id="65934fe9-4206-4d20-971b-1afacf645311" absoluteBounds="5.75, 7.25, 2, 1.7535424804687505">
    136136      <DataClassMoniker Name="/OKBDataContext/Run" />
    137137      <nestedChildShapes>
    138         <elementListCompartment Id="14f0104d-03c2-4aec-9a4d-faeaaa1d8947" absoluteBounds="5.7650000000000006, 7.7100000000000009, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    139       </nestedChildShapes>
    140     </classShape>
    141     <associationConnector edgePoints="[(3.24167093356531 : 2.65549967447917); (3.24167093356531 : 8.23159912109375); (5.75 : 8.23159912109375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     138        <elementListCompartment Id="14f0104d-03c2-4aec-9a4d-faeaaa1d8947" absoluteBounds="5.7650000000000006, 7.7100000000000009, 1.9700000000000002, 1.19354248046875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     139      </nestedChildShapes>
     140    </classShape>
     141    <associationConnector edgePoints="[(3.2968775 : 2.41788981119792); (3.2968775 : 8.12677124023438); (5.75 : 8.12677124023438)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    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="NotFixed" fixedTo="NotFixed">
     148    <associationConnector edgePoints="[(12.7603838147602 : 2.41788981119792); (12.7603838147602 : 7.49340240799753); (8.13243692318721 : 7.49340240799753 : JumpStart); (7.96577025652055 : 7.49340240799753 : JumpEnd); (7.75 : 7.49340240799753)]" fixedFrom="Caller" fixedTo="Caller">
    149149      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_Run" />
    150150      <nodes>
     
    153153      </nodes>
    154154    </associationConnector>
    155     <classShape Id="7d592fcd-d7a9-4ad0-a69f-9d29b97d9995" absoluteBounds="5.75, 4, 2, 2.9247054036458331">
     155    <classShape Id="7d592fcd-d7a9-4ad0-a69f-9d29b97d9995" absoluteBounds="5.75, 4, 2, 2.5752791341145826">
    156156      <DataClassMoniker Name="/OKBDataContext/Value" />
    157157      <nestedChildShapes>
    158         <elementListCompartment Id="89ad14d6-7946-43fe-af7c-59ce9fbe1d96" absoluteBounds="5.7650000000000006, 4.46, 1.9700000000000002, 2.364705403645833" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    159       </nestedChildShapes>
    160     </classShape>
    161     <associationConnector edgePoints="[(8.04910358985388 : 9.625); (8.04910358985388 : 5.45496831242535); (7.75 : 5.45496831242535)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
     158        <elementListCompartment Id="89ad14d6-7946-43fe-af7c-59ce9fbe1d96" absoluteBounds="5.7650000000000006, 4.46, 1.9700000000000002, 2.015279134114583" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     159      </nestedChildShapes>
     160    </classShape>
     161    <associationConnector edgePoints="[(8.04910358985388 : 9.625); (8.04910358985388 : 5.45496831242535); (7.75 : 5.45496831242535)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
    162162      <AssociationMoniker Name="/OKBDataContext/BinaryData/BinaryData_Value" />
    163163      <nodes>
     
    173173      </nodes>
    174174    </associationConnector>
    175     <associationConnector edgePoints="[(6.72310950465391 : 7.25); (6.72027766059957 : 6.92470540364583)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
     175    <associationConnector edgePoints="[(6.72310950465391 : 7.25); (6.71723573886188 : 6.57527913411458)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
    176176      <AssociationMoniker Name="/OKBDataContext/Run/Run_Value" />
    177177      <nodes>
     
    187187      </nodes>
    188188    </associationConnector>
    189     <classShape Id="7fb3c838-3d13-4b45-9912-1b5733a61110" absoluteBounds="10.5, 4, 2, 1.3862939453125">
     189    <classShape Id="7fb3c838-3d13-4b45-9912-1b5733a61110" absoluteBounds="10.5, 4, 2, 1.2605004882812496">
    190190      <DataClassMoniker Name="/OKBDataContext/Characteristic" />
    191191      <nestedChildShapes>
    192         <elementListCompartment Id="861faa11-366e-46d5-8fcb-1cef297d1920" absoluteBounds="10.515, 4.46, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    193       </nestedChildShapes>
    194     </classShape>
    195     <classShape Id="78f1d8c1-299d-46f8-90b5-e79d3904a0e6" absoluteBounds="8.25, 4, 2, 2.7324039713541666">
     192        <elementListCompartment Id="861faa11-366e-46d5-8fcb-1cef297d1920" absoluteBounds="10.515, 4.46, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     193      </nestedChildShapes>
     194    </classShape>
     195    <classShape Id="78f1d8c1-299d-46f8-90b5-e79d3904a0e6" absoluteBounds="8.25, 4, 2, 2.4109318033854166">
    196196      <DataClassMoniker Name="/OKBDataContext/CharacteristicValue" />
    197197      <nestedChildShapes>
    198         <elementListCompartment Id="c197bfb3-c90d-42e4-91a8-17775b4cc933" absoluteBounds="8.265, 4.46, 1.9700000000000002, 2.1724039713541665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     198        <elementListCompartment Id="c197bfb3-c90d-42e4-91a8-17775b4cc933" absoluteBounds="8.265, 4.46, 1.9700000000000002, 1.8509318033854165" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    199199      </nestedChildShapes>
    200200    </classShape>
     
    206206      </nodes>
    207207    </associationConnector>
    208     <associationConnector edgePoints="[(8.68784173221247 : 3.5112939453125); (8.68784173221247 : 4)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     208    <associationConnector edgePoints="[(8.43436125277367 : 3.38550048828125); (8.43436125277367 : 4)]" fixedFrom="Caller" fixedTo="Algorithm">
    209209      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_CharacteristicValue" />
    210210      <nodes>
     
    213213      </nodes>
    214214    </associationConnector>
    215     <associationConnector edgePoints="[(11.8118610455891 : 2.65549967447917); (11.8118610455891 : 3.0432292702094); (9.62689159819655 : 3.0432292702094); (9.62689159819655 : 4)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
     215    <associationConnector edgePoints="[(11.8118610455891 : 2.41788981119792); (11.8118610455891 : 3.0432292702094); (9.62689159819655 : 3.0432292702094); (9.62689159819655 : 4)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
    216216      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_CharacteristicValue" />
    217217      <nodes>
    218218        <classShapeMoniker Id="f197afc9-8f2b-4dae-b87e-43c2c87796bb" />
    219219        <classShapeMoniker Id="78f1d8c1-299d-46f8-90b5-e79d3904a0e6" />
     220      </nodes>
     221    </associationConnector>
     222    <classShape Id="fe9ab60f-6e76-4363-ac1d-3e5711f402cd" absoluteBounds="13.5, 3.75, 2, 1.7535424804687496">
     223      <DataClassMoniker Name="/OKBDataContext/SingleObjectiveSolution" />
     224      <nestedChildShapes>
     225        <elementListCompartment Id="a283b96a-8121-4153-9c1c-8ebbbbe99f2c" absoluteBounds="13.515, 4.2100000000000009, 1.9700000000000002, 1.19354248046875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     226      </nestedChildShapes>
     227    </classShape>
     228    <associationConnector edgePoints="[(13.1361579720891 : 2.41788981119792); (13.1361579720891 : 3.45); (13.8726600840611 : 3.45); (13.8726600840611 : 3.75)]" fixedFrom="Caller" fixedTo="Caller">
     229      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_SingleObjectiveSolution" />
     230      <nodes>
     231        <classShapeMoniker Id="f197afc9-8f2b-4dae-b87e-43c2c87796bb" />
     232        <classShapeMoniker Id="fe9ab60f-6e76-4363-ac1d-3e5711f402cd" />
     233      </nodes>
     234    </associationConnector>
     235    <associationConnector edgePoints="[(9 : 10.3033576284925); (14.510357295819 : 10.3033576284925); (14.510357295819 : 5.50354248046875)]" fixedFrom="Caller" fixedTo="Caller">
     236      <AssociationMoniker Name="/OKBDataContext/BinaryData/BinaryData_SingleObjectiveSolution" />
     237      <nodes>
     238        <classShapeMoniker Id="c2a69525-596c-4c58-a8cb-cb8c616f52d1" />
     239        <classShapeMoniker Id="fe9ab60f-6e76-4363-ac1d-3e5711f402cd" />
     240      </nodes>
     241    </associationConnector>
     242    <associationConnector edgePoints="[(7.75 : 8.27972494423314); (7.96577025652055 : 8.27972494423314 : JumpStart); (8.13243692318721 : 8.27972494423314 : JumpEnd); (12.865014669129 : 8.27972494423314 : JumpStart); (13.0316813357957 : 8.27972494423314 : JumpEnd); (13.9739261479095 : 8.27972494423314); (13.9739261479095 : 5.50354248046875)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     243      <AssociationMoniker Name="/OKBDataContext/Run/Run_SingleObjectiveSolution" />
     244      <nodes>
     245        <classShapeMoniker Id="65934fe9-4206-4d20-971b-1afacf645311" />
     246        <classShapeMoniker Id="fe9ab60f-6e76-4363-ac1d-3e5711f402cd" />
     247      </nodes>
     248    </associationConnector>
     249    <associationConnector edgePoints="[(8.77843010499566 : 3.38550048828125); (8.77843010499566 : 3.77510427976719); (9.54355826486322 : 3.77510427976719 : JumpStart); (9.71022493152988 : 3.77510427976719 : JumpEnd); (12.6770504814268 : 3.77510427976719 : JumpStart); (12.8437171480935 : 3.77510427976719 : JumpEnd); (12.865014669129 : 3.77510427976719 : JumpStart); (13.0316813357957 : 3.77510427976719 : JumpEnd); (13.2521618458221 : 3.77510427976719); (13.2521618458221 : 4.08899946616712); (13.5 : 4.08899946616712)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
     250      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_SingleObjectiveSolution" />
     251      <nodes>
     252        <classShapeMoniker Id="34f5a12b-f109-4606-baf8-6ddfde7c1b34" />
     253        <classShapeMoniker Id="fe9ab60f-6e76-4363-ac1d-3e5711f402cd" />
    220254      </nodes>
    221255    </associationConnector>
  • stable/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.designer.cs

    r15081 r15082  
    7373    partial void UpdateCharacteristicValue(CharacteristicValue instance);
    7474    partial void DeleteCharacteristicValue(CharacteristicValue instance);
     75    partial void InsertSingleObjectiveSolution(SingleObjectiveSolution instance);
     76    partial void UpdateSingleObjectiveSolution(SingleObjectiveSolution instance);
     77    partial void DeleteSingleObjectiveSolution(SingleObjectiveSolution instance);
    7578    #endregion
    7679   
     
    214217      {
    215218        return this.GetTable<CharacteristicValue>();
     219      }
     220    }
     221   
     222    public System.Data.Linq.Table<SingleObjectiveSolution> SingleObjectiveSolutions
     223    {
     224      get
     225      {
     226        return this.GetTable<SingleObjectiveSolution>();
    216227      }
    217228    }
     
    934945    private EntitySet<CharacteristicValue> _CharacteristicValues;
    935946   
     947    private EntitySet<SingleObjectiveSolution> _SingleObjectiveSolutions;
     948   
    936949    #region Extensibility Method Definitions
    937950    partial void OnLoaded();
     
    952965      this._Values = new EntitySet<Value>(new Action<Value>(this.attach_Values), new Action<Value>(this.detach_Values));
    953966      this._CharacteristicValues = new EntitySet<CharacteristicValue>(new Action<CharacteristicValue>(this.attach_CharacteristicValues), new Action<CharacteristicValue>(this.detach_CharacteristicValues));
     967      this._SingleObjectiveSolutions = new EntitySet<SingleObjectiveSolution>(new Action<SingleObjectiveSolution>(this.attach_SingleObjectiveSolutions), new Action<SingleObjectiveSolution>(this.detach_SingleObjectiveSolutions));
    954968      OnCreated();
    955969    }
     
    10671081    }
    10681082   
     1083    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DataType_SingleObjectiveSolution", Storage="_SingleObjectiveSolutions", ThisKey="Id", OtherKey="DataTypeId")]
     1084    public EntitySet<SingleObjectiveSolution> SingleObjectiveSolutions
     1085    {
     1086      get
     1087      {
     1088        return this._SingleObjectiveSolutions;
     1089      }
     1090      set
     1091      {
     1092        this._SingleObjectiveSolutions.Assign(value);
     1093      }
     1094    }
     1095   
    10691096    public event PropertyChangingEventHandler PropertyChanging;
    10701097   
     
    11301157   
    11311158    private void detach_CharacteristicValues(CharacteristicValue entity)
     1159    {
     1160      this.SendPropertyChanging();
     1161      entity.DataType = null;
     1162    }
     1163   
     1164    private void attach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
     1165    {
     1166      this.SendPropertyChanging();
     1167      entity.DataType = this;
     1168    }
     1169   
     1170    private void detach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
    11321171    {
    11331172      this.SendPropertyChanging();
     
    17501789    private EntitySet<CharacteristicValue> _CharacteristicValues;
    17511790   
     1791    private EntitySet<SingleObjectiveSolution> _SingleObjectiveSolutions;
     1792   
    17521793    private EntityRef<DataType> _DataType;
    17531794   
     
    17831824      this._Runs = new EntitySet<Run>(new Action<Run>(this.attach_Runs), new Action<Run>(this.detach_Runs));
    17841825      this._CharacteristicValues = new EntitySet<CharacteristicValue>(new Action<CharacteristicValue>(this.attach_CharacteristicValues), new Action<CharacteristicValue>(this.detach_CharacteristicValues));
     1826      this._SingleObjectiveSolutions = new EntitySet<SingleObjectiveSolution>(new Action<SingleObjectiveSolution>(this.attach_SingleObjectiveSolutions), new Action<SingleObjectiveSolution>(this.detach_SingleObjectiveSolutions));
    17851827      this._DataType = default(EntityRef<DataType>);
    17861828      this._Platform = default(EntityRef<Platform>);
     
    19852027    }
    19862028   
     2029    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Problem_SingleObjectiveSolution", Storage="_SingleObjectiveSolutions", ThisKey="Id", OtherKey="ProblemId")]
     2030    public EntitySet<SingleObjectiveSolution> SingleObjectiveSolutions
     2031    {
     2032      get
     2033      {
     2034        return this._SingleObjectiveSolutions;
     2035      }
     2036      set
     2037      {
     2038        this._SingleObjectiveSolutions.Assign(value);
     2039      }
     2040    }
     2041   
    19872042    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DataType_Problem", Storage="_DataType", ThisKey="DataTypeId", OtherKey="Id", IsForeignKey=true)]
    19882043    public DataType DataType
     
    21722227   
    21732228    private void detach_CharacteristicValues(CharacteristicValue entity)
     2229    {
     2230      this.SendPropertyChanging();
     2231      entity.Problem = null;
     2232    }
     2233   
     2234    private void attach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
     2235    {
     2236      this.SendPropertyChanging();
     2237      entity.Problem = this;
     2238    }
     2239   
     2240    private void detach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
    21742241    {
    21752242      this.SendPropertyChanging();
     
    21952262   
    21962263    private EntitySet<Value> _Values;
     2264   
     2265    private EntitySet<SingleObjectiveSolution> _SingleObjectiveSolutions;
    21972266   
    21982267    #region Extensibility Method Definitions
     
    22132282      this._Problems = new EntitySet<Problem>(new Action<Problem>(this.attach_Problems), new Action<Problem>(this.detach_Problems));
    22142283      this._Values = new EntitySet<Value>(new Action<Value>(this.attach_Values), new Action<Value>(this.detach_Values));
     2284      this._SingleObjectiveSolutions = new EntitySet<SingleObjectiveSolution>(new Action<SingleObjectiveSolution>(this.attach_SingleObjectiveSolutions), new Action<SingleObjectiveSolution>(this.detach_SingleObjectiveSolutions));
    22152285      OnCreated();
    22162286    }
     
    23152385    }
    23162386   
     2387    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="BinaryData_SingleObjectiveSolution", Storage="_SingleObjectiveSolutions", ThisKey="Id", OtherKey="BinaryDataId")]
     2388    public EntitySet<SingleObjectiveSolution> SingleObjectiveSolutions
     2389    {
     2390      get
     2391      {
     2392        return this._SingleObjectiveSolutions;
     2393      }
     2394      set
     2395      {
     2396        this._SingleObjectiveSolutions.Assign(value);
     2397      }
     2398    }
     2399   
    23172400    public event PropertyChangingEventHandler PropertyChanging;
    23182401   
     
    23662449   
    23672450    private void detach_Values(Value entity)
     2451    {
     2452      this.SendPropertyChanging();
     2453      entity.BinaryData = null;
     2454    }
     2455   
     2456    private void attach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
     2457    {
     2458      this.SendPropertyChanging();
     2459      entity.BinaryData = this;
     2460    }
     2461   
     2462    private void detach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
    23682463    {
    23692464      this.SendPropertyChanging();
     
    23912486   
    23922487    private EntitySet<Value> _Values;
     2488   
     2489    private EntitySet<SingleObjectiveSolution> _SingleObjectiveSolutions;
    23932490   
    23942491    private EntityRef<Algorithm> _Algorithm;
     
    24172514    {
    24182515      this._Values = new EntitySet<Value>(new Action<Value>(this.attach_Values), new Action<Value>(this.detach_Values));
     2516      this._SingleObjectiveSolutions = new EntitySet<SingleObjectiveSolution>(new Action<SingleObjectiveSolution>(this.attach_SingleObjectiveSolutions), new Action<SingleObjectiveSolution>(this.detach_SingleObjectiveSolutions));
    24192517      this._Algorithm = default(EntityRef<Algorithm>);
    24202518      this._Problem = default(EntityRef<Problem>);
     
    25632661    }
    25642662   
     2663    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Run_SingleObjectiveSolution", Storage="_SingleObjectiveSolutions", ThisKey="Id", OtherKey="RunId")]
     2664    public EntitySet<SingleObjectiveSolution> SingleObjectiveSolutions
     2665    {
     2666      get
     2667      {
     2668        return this._SingleObjectiveSolutions;
     2669      }
     2670      set
     2671      {
     2672        this._SingleObjectiveSolutions.Assign(value);
     2673      }
     2674    }
     2675   
    25652676    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Algorithm_Run", Storage="_Algorithm", ThisKey="AlgorithmId", OtherKey="Id", IsForeignKey=true)]
    25662677    public Algorithm Algorithm
     
    26582769   
    26592770    private void detach_Values(Value entity)
     2771    {
     2772      this.SendPropertyChanging();
     2773      entity.Run = null;
     2774    }
     2775   
     2776    private void attach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
     2777    {
     2778      this.SendPropertyChanging();
     2779      entity.Run = this;
     2780    }
     2781   
     2782    private void detach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
    26602783    {
    26612784      this.SendPropertyChanging();
     
    36683791    }
    36693792  }
     3793 
     3794  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.SingleObjectiveSolution")]
     3795  public partial class SingleObjectiveSolution : INotifyPropertyChanging, INotifyPropertyChanged
     3796  {
     3797   
     3798    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     3799   
     3800    private long _Id;
     3801   
     3802    private System.Nullable<long> _ProblemId;
     3803   
     3804    private System.Nullable<long> _BinaryDataId;
     3805   
     3806    private System.Nullable<long> _RunId;
     3807   
     3808    private double _Quality;
     3809   
     3810    private System.Nullable<long> _DataTypeId;
     3811   
     3812    private EntityRef<Problem> _Problem;
     3813   
     3814    private EntityRef<BinaryData> _BinaryData;
     3815   
     3816    private EntityRef<Run> _Run;
     3817   
     3818    private EntityRef<DataType> _DataType;
     3819   
     3820    #region Extensibility Method Definitions
     3821    partial void OnLoaded();
     3822    partial void OnValidate(System.Data.Linq.ChangeAction action);
     3823    partial void OnCreated();
     3824    partial void OnIdChanging(long value);
     3825    partial void OnIdChanged();
     3826    partial void OnProblemIdChanging(System.Nullable<long> value);
     3827    partial void OnProblemIdChanged();
     3828    partial void OnBinaryDataIdChanging(System.Nullable<long> value);
     3829    partial void OnBinaryDataIdChanged();
     3830    partial void OnRunIdChanging(System.Nullable<long> value);
     3831    partial void OnRunIdChanged();
     3832    partial void OnQualityChanging(double value);
     3833    partial void OnQualityChanged();
     3834    partial void OnDataTypeIdChanging(System.Nullable<long> value);
     3835    partial void OnDataTypeIdChanged();
     3836    #endregion
     3837   
     3838    public SingleObjectiveSolution()
     3839    {
     3840      this._Problem = default(EntityRef<Problem>);
     3841      this._BinaryData = default(EntityRef<BinaryData>);
     3842      this._Run = default(EntityRef<Run>);
     3843      this._DataType = default(EntityRef<DataType>);
     3844      OnCreated();
     3845    }
     3846   
     3847    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", AutoSync=AutoSync.OnInsert, DbType="BigInt NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
     3848    public long Id
     3849    {
     3850      get
     3851      {
     3852        return this._Id;
     3853      }
     3854      set
     3855      {
     3856        if ((this._Id != value))
     3857        {
     3858          this.OnIdChanging(value);
     3859          this.SendPropertyChanging();
     3860          this._Id = value;
     3861          this.SendPropertyChanged("Id");
     3862          this.OnIdChanged();
     3863        }
     3864      }
     3865    }
     3866   
     3867    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProblemId", DbType="BigInt")]
     3868    public System.Nullable<long> ProblemId
     3869    {
     3870      get
     3871      {
     3872        return this._ProblemId;
     3873      }
     3874      set
     3875      {
     3876        if ((this._ProblemId != value))
     3877        {
     3878          if (this._Problem.HasLoadedOrAssignedValue)
     3879          {
     3880            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3881          }
     3882          this.OnProblemIdChanging(value);
     3883          this.SendPropertyChanging();
     3884          this._ProblemId = value;
     3885          this.SendPropertyChanged("ProblemId");
     3886          this.OnProblemIdChanged();
     3887        }
     3888      }
     3889    }
     3890   
     3891    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BinaryDataId", DbType="BigInt")]
     3892    public System.Nullable<long> BinaryDataId
     3893    {
     3894      get
     3895      {
     3896        return this._BinaryDataId;
     3897      }
     3898      set
     3899      {
     3900        if ((this._BinaryDataId != value))
     3901        {
     3902          if (this._BinaryData.HasLoadedOrAssignedValue)
     3903          {
     3904            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3905          }
     3906          this.OnBinaryDataIdChanging(value);
     3907          this.SendPropertyChanging();
     3908          this._BinaryDataId = value;
     3909          this.SendPropertyChanged("BinaryDataId");
     3910          this.OnBinaryDataIdChanged();
     3911        }
     3912      }
     3913    }
     3914   
     3915    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RunId", DbType="BigInt")]
     3916    public System.Nullable<long> RunId
     3917    {
     3918      get
     3919      {
     3920        return this._RunId;
     3921      }
     3922      set
     3923      {
     3924        if ((this._RunId != value))
     3925        {
     3926          if (this._Run.HasLoadedOrAssignedValue)
     3927          {
     3928            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3929          }
     3930          this.OnRunIdChanging(value);
     3931          this.SendPropertyChanging();
     3932          this._RunId = value;
     3933          this.SendPropertyChanged("RunId");
     3934          this.OnRunIdChanged();
     3935        }
     3936      }
     3937    }
     3938   
     3939    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quality", DbType="Float")]
     3940    public double Quality
     3941    {
     3942      get
     3943      {
     3944        return this._Quality;
     3945      }
     3946      set
     3947      {
     3948        if ((this._Quality != value))
     3949        {
     3950          this.OnQualityChanging(value);
     3951          this.SendPropertyChanging();
     3952          this._Quality = value;
     3953          this.SendPropertyChanged("Quality");
     3954          this.OnQualityChanged();
     3955        }
     3956      }
     3957    }
     3958   
     3959    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DataTypeId", DbType="BigInt")]
     3960    public System.Nullable<long> DataTypeId
     3961    {
     3962      get
     3963      {
     3964        return this._DataTypeId;
     3965      }
     3966      set
     3967      {
     3968        if ((this._DataTypeId != value))
     3969        {
     3970          if (this._DataType.HasLoadedOrAssignedValue)
     3971          {
     3972            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3973          }
     3974          this.OnDataTypeIdChanging(value);
     3975          this.SendPropertyChanging();
     3976          this._DataTypeId = value;
     3977          this.SendPropertyChanged("DataTypeId");
     3978          this.OnDataTypeIdChanged();
     3979        }
     3980      }
     3981    }
     3982   
     3983    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Problem_SingleObjectiveSolution", Storage="_Problem", ThisKey="ProblemId", OtherKey="Id", IsForeignKey=true)]
     3984    public Problem Problem
     3985    {
     3986      get
     3987      {
     3988        return this._Problem.Entity;
     3989      }
     3990      set
     3991      {
     3992        Problem previousValue = this._Problem.Entity;
     3993        if (((previousValue != value)
     3994              || (this._Problem.HasLoadedOrAssignedValue == false)))
     3995        {
     3996          this.SendPropertyChanging();
     3997          if ((previousValue != null))
     3998          {
     3999            this._Problem.Entity = null;
     4000            previousValue.SingleObjectiveSolutions.Remove(this);
     4001          }
     4002          this._Problem.Entity = value;
     4003          if ((value != null))
     4004          {
     4005            value.SingleObjectiveSolutions.Add(this);
     4006            this._ProblemId = value.Id;
     4007          }
     4008          else
     4009          {
     4010            this._ProblemId = default(Nullable<long>);
     4011          }
     4012          this.SendPropertyChanged("Problem");
     4013        }
     4014      }
     4015    }
     4016   
     4017    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="BinaryData_SingleObjectiveSolution", Storage="_BinaryData", ThisKey="BinaryDataId", OtherKey="Id", IsForeignKey=true)]
     4018    public BinaryData BinaryData
     4019    {
     4020      get
     4021      {
     4022        return this._BinaryData.Entity;
     4023      }
     4024      set
     4025      {
     4026        BinaryData previousValue = this._BinaryData.Entity;
     4027        if (((previousValue != value)
     4028              || (this._BinaryData.HasLoadedOrAssignedValue == false)))
     4029        {
     4030          this.SendPropertyChanging();
     4031          if ((previousValue != null))
     4032          {
     4033            this._BinaryData.Entity = null;
     4034            previousValue.SingleObjectiveSolutions.Remove(this);
     4035          }
     4036          this._BinaryData.Entity = value;
     4037          if ((value != null))
     4038          {
     4039            value.SingleObjectiveSolutions.Add(this);
     4040            this._BinaryDataId = value.Id;
     4041          }
     4042          else
     4043          {
     4044            this._BinaryDataId = default(Nullable<long>);
     4045          }
     4046          this.SendPropertyChanged("BinaryData");
     4047        }
     4048      }
     4049    }
     4050   
     4051    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Run_SingleObjectiveSolution", Storage="_Run", ThisKey="RunId", OtherKey="Id", IsForeignKey=true)]
     4052    public Run Run
     4053    {
     4054      get
     4055      {
     4056        return this._Run.Entity;
     4057      }
     4058      set
     4059      {
     4060        Run previousValue = this._Run.Entity;
     4061        if (((previousValue != value)
     4062              || (this._Run.HasLoadedOrAssignedValue == false)))
     4063        {
     4064          this.SendPropertyChanging();
     4065          if ((previousValue != null))
     4066          {
     4067            this._Run.Entity = null;
     4068            previousValue.SingleObjectiveSolutions.Remove(this);
     4069          }
     4070          this._Run.Entity = value;
     4071          if ((value != null))
     4072          {
     4073            value.SingleObjectiveSolutions.Add(this);
     4074            this._RunId = value.Id;
     4075          }
     4076          else
     4077          {
     4078            this._RunId = default(Nullable<long>);
     4079          }
     4080          this.SendPropertyChanged("Run");
     4081        }
     4082      }
     4083    }
     4084   
     4085    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DataType_SingleObjectiveSolution", Storage="_DataType", ThisKey="DataTypeId", OtherKey="Id", IsForeignKey=true)]
     4086    public DataType DataType
     4087    {
     4088      get
     4089      {
     4090        return this._DataType.Entity;
     4091      }
     4092      set
     4093      {
     4094        DataType previousValue = this._DataType.Entity;
     4095        if (((previousValue != value)
     4096              || (this._DataType.HasLoadedOrAssignedValue == false)))
     4097        {
     4098          this.SendPropertyChanging();
     4099          if ((previousValue != null))
     4100          {
     4101            this._DataType.Entity = null;
     4102            previousValue.SingleObjectiveSolutions.Remove(this);
     4103          }
     4104          this._DataType.Entity = value;
     4105          if ((value != null))
     4106          {
     4107            value.SingleObjectiveSolutions.Add(this);
     4108            this._DataTypeId = value.Id;
     4109          }
     4110          else
     4111          {
     4112            this._DataTypeId = default(Nullable<long>);
     4113          }
     4114          this.SendPropertyChanged("DataType");
     4115        }
     4116      }
     4117    }
     4118   
     4119    public event PropertyChangingEventHandler PropertyChanging;
     4120   
     4121    public event PropertyChangedEventHandler PropertyChanged;
     4122   
     4123    protected virtual void SendPropertyChanging()
     4124    {
     4125      if ((this.PropertyChanging != null))
     4126      {
     4127        this.PropertyChanging(this, emptyChangingEventArgs);
     4128      }
     4129    }
     4130   
     4131    protected virtual void SendPropertyChanged(String propertyName)
     4132    {
     4133      if ((this.PropertyChanged != null))
     4134      {
     4135        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     4136      }
     4137    }
     4138  }
    36704139}
    36714140#pragma warning restore 1591
  • stable/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj

    r15081 r15082  
    283283    <Compile Include="RunCreation\DataTransfer\BinaryValue.cs" />
    284284    <Compile Include="RunCreation\DataTransfer\BoolValue.cs" />
     285    <Compile Include="RunCreation\DataTransfer\SingleObjectiveSolution.cs" />
     286    <Compile Include="RunCreation\DataTransfer\Solution.cs" />
    285287    <Compile Include="RunCreation\DataTransfer\TimeSpanValue.cs" />
    286288    <Compile Include="RunCreation\DataTransfer\PercentValue.cs" />
     
    295297    <Compile Include="RunCreation\DataTransfer\StringValue.cs" />
    296298    <Compile Include="RunCreation\DataTransfer\Value.cs" />
     299    <Compile Include="RunCreation\MissingSolution.cs" />
    297300    <Compile Include="RunCreation\MissingProblem.cs" />
    298301    <Compile Include="RunCreation\RunCreationService.cs" />
  • stable/HeuristicLab.Services.OKB/3.3/RunCreation/Convert.cs

    r15081 r15082  
    3838      if (source == null) return null;
    3939      return new DT.Problem { Id = source.Id, Name = source.Name, Description = source.Description, ProblemClass = Convert.ToDto(source.ProblemClass), DataType = Convert.ToDto(source.DataType) };
     40    }
     41
     42    public static DT.SingleObjectiveSolution ToDto(DA.SingleObjectiveSolution source) {
     43      if (source == null) return null;
     44      return new DT.SingleObjectiveSolution() {
     45        Id = source.Id,
     46        ProblemId = source.ProblemId.Value,
     47        RunId = source.RunId,
     48        Quality = source.Quality,
     49        DataType = ToDto(source.DataType)
     50      };
    4051    }
    4152
     
    165176    }
    166177
    167     private static DA.DataType ToEntity(DT.DataType source, DA.OKBDataContext okb) {
    168       if (source == null) return null;
    169       var entity = okb.DataTypes.Where(x => (x.Name == source.Name) && (x.TypeName == source.TypeName)).FirstOrDefault();
     178    public static DA.DataType ToEntity(DT.DataType source, DA.OKBDataContext okb) {
     179      if (source == null) return null;
     180      var entity = okb.DataTypes.FirstOrDefault(x => (x.Name == source.Name) && (x.TypeName == source.TypeName));
    170181      if (entity == null)
    171182        entity = new DA.DataType() { Id = 0, Name = source.Name, TypeName = source.TypeName };
     
    175186    private static DA.ValueName ToEntity(string name, DA.ValueNameCategory category, DA.ValueNameType type, DA.OKBDataContext okb) {
    176187      if (string.IsNullOrEmpty(name)) return null;
    177       var entity = okb.ValueNames.Where(x => (x.Name == name) && (x.Category == category) && (x.Type == type)).FirstOrDefault();
     188      var entity = okb.ValueNames.FirstOrDefault(x => (x.Name == name) && (x.Category == category) && (x.Type == type));
    178189      if (entity == null)
    179190        entity = new DA.ValueName() { Id = 0, Name = name, Category = category, Type = type };
     
    188199      }
    189200
    190       var cachedBinaryData = binCache.Where(x => x.Hash.SequenceEqual(hash)).FirstOrDefault();
     201      var cachedBinaryData = binCache.FirstOrDefault(x => x.Hash.SequenceEqual(hash));
    191202      if (cachedBinaryData != null)
    192203        return cachedBinaryData;
    193204
    194       var entity = okb.BinaryDatas.Where(x => x.Hash.Equals(hash)).FirstOrDefault();
     205      var entity = okb.BinaryDatas.FirstOrDefault(x => x.Hash.Equals(hash));
    195206      if (entity == null) {
    196207        entity = new DA.BinaryData() { Id = 0, Data = data, Hash = hash };
     
    200211      return entity;
    201212    }
     213
     214    public static DA.SingleObjectiveSolution ToEntity(DT.SingleObjectiveSolution source, byte[] data, DA.OKBDataContext okb) {
     215      var sol = okb.SingleObjectiveSolutions.SingleOrDefault(x => x.Id == source.Id) ?? new DA.SingleObjectiveSolution() {
     216        ProblemId = source.ProblemId,
     217        RunId = source.RunId,
     218        Quality = source.Quality
     219      };
     220      if (source.DataType != null) {
     221        sol.DataType = ToEntity(source.DataType, okb);
     222      }
     223      if (data != null && data.Length > 0) {
     224        byte[] hash;
     225        using (var sha1 = SHA1.Create()) {
     226          hash = sha1.ComputeHash(data);
     227        }
     228        sol.BinaryData = new DA.BinaryData() {
     229          Data = data,
     230          Hash = hash
     231        };
     232      }
     233      return sol;
     234    }
    202235    #endregion
    203236  }
  • stable/HeuristicLab.Services.OKB/3.3/RunCreation/IRunCreationService.cs

    r15081 r15082  
    2020#endregion
    2121
     22using HeuristicLab.Services.OKB.RunCreation.DataTransfer;
    2223using System.Collections.Generic;
    2324using System.Net.Security;
    2425using System.ServiceModel;
    25 using HeuristicLab.Services.OKB.RunCreation.DataTransfer;
    2626
    2727namespace HeuristicLab.Services.OKB.RunCreation {
     
    4444
    4545    [OperationContract]
     46    [FaultContract(typeof(MissingProblem))]
     47    IEnumerable<Solution> GetSolutions(long problemId);
     48
     49    [OperationContract]
     50    Solution GetSolution(long solutionId);
     51
     52    [OperationContract]
     53    [FaultContract(typeof(MissingSolution))]
     54    byte[] GetSolutionData(long solutionId);
     55
     56    [OperationContract]
     57    long AddSolution(Solution solution, byte[] data);
     58
     59    [OperationContract]
     60    void DeleteSolution(Solution solution);
     61
     62    [OperationContract]
    4663    void AddRun(Run run);
    4764
  • stable/HeuristicLab.Services.OKB/3.3/RunCreation/MissingProblem.cs

    r15081 r15082  
    2828    public string Message { get; set; }
    2929
    30     public MissingProblem(string message, params object[] c) {
    31       Message = string.Format(message, c);
     30    public MissingProblem(long problemId) {
     31      Message = string.Format("Problem with id {0} cannot be found", problemId);
    3232    }
    3333  }
  • stable/HeuristicLab.Services.OKB/3.3/RunCreation/RunCreationService.cs

    r15081 r15082  
    2020#endregion
    2121
     22using HeuristicLab.Services.Access;
     23using HeuristicLab.Services.OKB.DataAccess;
    2224using System;
    2325using System.Collections.Generic;
     
    2527using System.Linq;
    2628using System.ServiceModel;
    27 using HeuristicLab.Services.Access;
    28 using HeuristicLab.Services.OKB.DataAccess;
    2929
    3030namespace HeuristicLab.Services.OKB.RunCreation {
     
    127127    }
    128128
     129    public IEnumerable<DataTransfer.Solution> GetSolutions(long problemId) {
     130      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     131
     132      using (OKBDataContext okb = new OKBDataContext()) {
     133        var problem = okb.Problems.SingleOrDefault(x => x.Id == problemId);
     134        if (problem == null) throw new FaultException<MissingProblem>(new MissingProblem(problemId));
     135        // TODO: In case of multi-objective problems one has to check whether it contains single- or multi-objective problems
     136        var result = problem.SingleObjectiveSolutions.Select(x => Convert.ToDto(x)).ToList();
     137        if (roleVerifier.IsInRole(OKBRoles.OKBAdministrator)) {
     138          return result;
     139        } else {
     140          var problemUsers = okb.ProblemUsers.Where(x => x.ProblemId == problemId).ToList();
     141          if (problemUsers.Count == 0 || userManager.VerifyUser(userManager.CurrentUserId, problemUsers.Select(y => y.UserGroupId).ToList())) {
     142            return result;
     143          } else {
     144            return null;
     145          }
     146        }
     147      }
     148    }
     149
     150    public DataTransfer.Solution GetSolution(long solutionId) {
     151      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     152
     153      using (OKBDataContext okb = new OKBDataContext()) {
     154        // TODO: In case of multi-objective problems one has to check whether it contains single- or multi-objective problems
     155        var result = Convert.ToDto(okb.SingleObjectiveSolutions.SingleOrDefault(x => x.Id == solutionId));
     156        if (roleVerifier.IsInRole(OKBRoles.OKBAdministrator)) {
     157          return result;
     158        } else {
     159          var problemUsers = okb.ProblemUsers.Where(x => x.ProblemId == result.ProblemId).ToList();
     160          if (problemUsers.Count == 0 || userManager.VerifyUser(userManager.CurrentUserId, problemUsers.Select(y => y.UserGroupId).ToList())) {
     161            return result;
     162          } else {
     163            return null;
     164          }
     165        }
     166      }
     167    }
     168
     169    public byte[] GetSolutionData(long solutionId) {
     170      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     171
     172      using (OKBDataContext okb = new OKBDataContext()) {
     173        var solution = okb.SingleObjectiveSolutions.SingleOrDefault(x => x.Id == solutionId);
     174        if (solution == null) throw new FaultException<MissingSolution>(new MissingSolution(solutionId));
     175
     176        var result = solution.BinaryData.Data.ToArray();
     177        if (roleVerifier.IsInRole(OKBRoles.OKBAdministrator)) {
     178          return result;
     179        } else {
     180          var problemUsers = okb.ProblemUsers.Where(x => x.ProblemId == solution.ProblemId).ToList();
     181          if (problemUsers.Count == 0 || userManager.VerifyUser(userManager.CurrentUserId, problemUsers.Select(y => y.UserGroupId).ToList())) {
     182            return result;
     183          } else {
     184            return null;
     185          }
     186        }
     187      }
     188    }
     189
     190    public long AddSolution(DataTransfer.Solution solution, byte[] data) {
     191      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     192
     193      using (OKBDataContext okb = new OKBDataContext()) {
     194        var soSolution = solution as DataTransfer.SingleObjectiveSolution;
     195        if (soSolution != null) {
     196          DataAccess.SingleObjectiveSolution entity = Convert.ToEntity(soSolution, data, okb);
     197          okb.SingleObjectiveSolutions.InsertOnSubmit(entity);
     198          okb.SubmitChanges();
     199          return entity.Id;
     200        }
     201      }
     202      throw new FaultException(new FaultReason("The solution could not be added."));
     203    }
     204
     205    public void DeleteSolution(DataTransfer.Solution solution) {
     206      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     207
     208      using (OKBDataContext okb = new OKBDataContext()) {
     209        var soSolution = solution as DataTransfer.SingleObjectiveSolution;
     210        if (soSolution != null) {
     211          okb.SingleObjectiveSolutions.DeleteOnSubmit(okb.SingleObjectiveSolutions.Single(x => x.Id == soSolution.Id));
     212          okb.SubmitChanges();
     213        }
     214      }
     215    }
     216
    129217    public void AddRun(DataTransfer.Run run) {
    130218      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     
    150238      using (OKBDataContext okb = new OKBDataContext()) {
    151239        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));
     240        if (problem == null) throw new FaultException<MissingProblem>(new MissingProblem(problemId));
    153241
    154242        DoSetCharacteristicValue(okb, problem, value);
     
    162250      using (OKBDataContext okb = new OKBDataContext()) {
    163251        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));
     252        if (problem == null) throw new FaultException<MissingProblem>(new MissingProblem(problemId));
    165253
    166254        foreach (var v in values) {
Note: See TracChangeset for help on using the changeset viewer.