Free cookie consent management tool by TermsFeed Policy Generator

Changeset 4481 for branches


Ignore:
Timestamp:
09/24/10 06:53:43 (14 years ago)
Author:
swagner
Message:

Worked on OKB (#1174)

Location:
branches/OKB
Files:
12 added
16 edited

Legend:

Unmodified
Added
Removed
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/Administrator.cs

    r4466 r4481  
    4040    }
    4141
     42    #region Properties
    4243    private ItemCollection<Platform> platforms;
    4344    public ItemCollection<Platform> Platforms {
    4445      get { return platforms; }
    4546    }
     47    private ItemCollection<DataType> dataTypes;
     48    public ItemCollection<DataType> DataTypes {
     49      get { return dataTypes; }
     50    }
     51    private IEnumerable<User> users;
     52    public IEnumerable<User> Users {
     53      get { return users; }
     54    }
    4655    private ItemCollection<AlgorithmClass> algorithmClasses;
    4756    public ItemCollection<AlgorithmClass> AlgorithmClasses {
     
    5261      get { return algorithms; }
    5362    }
    54     private ItemCollection<DataType> dataTypes;
    55     public ItemCollection<DataType> DataTypes {
    56       get { return dataTypes; }
    57     }
    58     private IEnumerable<User> users;
    59     public IEnumerable<User> Users {
    60       get { return users; }
    61     }
     63    private ItemCollection<ProblemClass> problemClasses;
     64    public ItemCollection<ProblemClass> ProblemClasses {
     65      get { return problemClasses; }
     66    }
     67    private ItemCollection<Problem> problems;
     68    public ItemCollection<Problem> Problems {
     69      get { return problems; }
     70    }
     71    #endregion
    6272
    6373    private Administrator() { }
    6474
     75    #region Refresh
    6576    public void Refresh() {
    6677      OnRefreshing();
     
    7081      }
    7182      platforms.Clear();
     83      if (dataTypes == null) {
     84        dataTypes = new ItemCollection<DataType>();
     85        dataTypes.ItemsRemoved += new CollectionItemsChangedEventHandler<DataType>(dataTypes_ItemsRemoved);
     86      }
     87      dataTypes.Clear();
    7288      if (algorithmClasses == null) {
    7389        algorithmClasses = new ItemCollection<AlgorithmClass>();
     
    8096      }
    8197      algorithms.Clear();
    82       if (dataTypes == null) {
    83         dataTypes = new ItemCollection<DataType>();
    84         dataTypes.ItemsRemoved += new CollectionItemsChangedEventHandler<DataType>(dataTypes_ItemsRemoved);
    85       }
    86       dataTypes.Clear();
     98      if (problemClasses == null) {
     99        problemClasses = new ItemCollection<ProblemClass>();
     100        problemClasses.ItemsRemoved += new CollectionItemsChangedEventHandler<ProblemClass>(problemClasses_ItemsRemoved);
     101      }
     102      problemClasses.Clear();
     103      if (problems == null) {
     104        problems = new ItemCollection<Problem>();
     105        problems.ItemsRemoved += new CollectionItemsChangedEventHandler<Problem>(problems_ItemsRemoved);
     106      }
     107      problems.Clear();
    87108
    88109      var call = new Func<Exception>(delegate() {
    89110        try {
    90111          platforms.AddRange(CallAdminService<Platform[]>(s => s.GetPlatforms()).OrderBy(x => x.Name));
     112          dataTypes.AddRange(CallAdminService<DataType[]>(s => s.GetDataTypes()).OrderBy(x => x.Name));
     113          users = CallAuthenticationService<User[]>(s => s.GetUsers()).OrderBy(x => x.Name);
    91114          algorithmClasses.AddRange(CallAdminService<AlgorithmClass[]>(s => s.GetAlgorithmClasses()).OrderBy(x => x.Name));
    92115          algorithms.AddRange(CallAdminService<Algorithm[]>(s => s.GetAlgorithms()).OrderBy(x => x.Name));
    93           dataTypes.AddRange(CallAdminService<DataType[]>(s => s.GetDataTypes()).OrderBy(x => x.Name));
    94           users = CallAuthenticationService<User[]>(s => s.GetUsers()).OrderBy(x => x.Name);
     116          problemClasses.AddRange(CallAdminService<ProblemClass[]>(s => s.GetProblemClasses()).OrderBy(x => x.Name));
     117          problems.AddRange(CallAdminService<Problem[]>(s => s.GetProblems()).OrderBy(x => x.Name));
    95118          return null;
    96119        }
     
    105128      }, null);
    106129    }
    107 
     130    #endregion
     131
     132    #region Store
    108133    public bool Store(IOKBItem item) {
    109134      try {
    110         if (item is Platform)
    111           CallAdminService(s => s.StorePlatform((Platform)item));
    112         else if (item is AlgorithmClass)
    113           CallAdminService(s => s.StoreAlgorithmClass((AlgorithmClass)item));
    114         else if (item is Algorithm)
    115           CallAdminService(s => s.StoreAlgorithm((Algorithm)item));
    116         else if (item is DataType)
    117           CallAdminService(s => s.StoreDataType((DataType)item));
     135        if (item.Id == 0) {
     136          if (item is Platform)
     137            item.Id = CallAdminService<long>(s => s.AddPlatform((Platform)item));
     138          else if (item is DataType)
     139            item.Id = CallAdminService<long>(s => s.AddDataType((DataType)item));
     140          else if (item is AlgorithmClass)
     141            item.Id = CallAdminService<long>(s => s.AddAlgorithmClass((AlgorithmClass)item));
     142          else if (item is Algorithm)
     143            item.Id = CallAdminService<long>(s => s.AddAlgorithm((Algorithm)item));
     144          else if (item is ProblemClass)
     145            item.Id = CallAdminService<long>(s => s.AddProblemClass((ProblemClass)item));
     146          else if (item is Problem)
     147            item.Id = CallAdminService<long>(s => s.AddProblem((Problem)item));
     148        } else {
     149          if (item is Platform)
     150            CallAdminService(s => s.UpdatePlatform((Platform)item));
     151          else if (item is DataType)
     152            CallAdminService(s => s.UpdateDataType((DataType)item));
     153          else if (item is AlgorithmClass)
     154            CallAdminService(s => s.UpdateAlgorithmClass((AlgorithmClass)item));
     155          else if (item is Algorithm)
     156            CallAdminService(s => s.UpdateAlgorithm((Algorithm)item));
     157          else if (item is ProblemClass)
     158            CallAdminService(s => s.UpdateProblemClass((ProblemClass)item));
     159          else if (item is Problem)
     160            CallAdminService(s => s.UpdateProblem((Problem)item));
     161        }
    118162        return true;
    119163      }
     
    123167      }
    124168    }
    125 
     169    #endregion
     170
     171    #region Algorithm Methods
    126172    public Guid[] GetAlgorithmUsers(long algorithmId) {
    127173      try {
     
    133179      }
    134180    }
    135     public bool StoreAlgorithmUsers(long algorithmId, Guid[] users) {
    136       try {
    137         CallAdminService(s => s.StoreAlgorithmUsers(algorithmId, users));
    138         return true;
    139       }
    140       catch (Exception ex) {
    141         ErrorHandling.ShowErrorDialog("Store authorized algorithm users failed.", ex);
    142         return false;
    143       }
    144     }
    145 
    146     public bool StoreAlgorithmData(AlgorithmData algorithmData) {
    147       try {
    148         CallAdminService(s => s.StoreAlgorithmData(algorithmData));
    149         return true;
    150       }
    151       catch (Exception ex) {
    152         ErrorHandling.ShowErrorDialog("Store serialized algorithm failed.", ex);
    153         return false;
    154       }
    155     }
    156 
     181    public bool UpdateAlgorithmUsers(long algorithmId, Guid[] users) {
     182      try {
     183        CallAdminService(s => s.UpdateAlgorithmUsers(algorithmId, users));
     184        return true;
     185      }
     186      catch (Exception ex) {
     187        ErrorHandling.ShowErrorDialog("Update authorized algorithm users failed.", ex);
     188        return false;
     189      }
     190    }
     191    public AlgorithmData GetAlgorithmData(long algorithmId) {
     192      try {
     193        return CallAdminService<AlgorithmData>(s => s.GetAlgorithmData(algorithmId));
     194      }
     195      catch (Exception ex) {
     196        ErrorHandling.ShowErrorDialog("Refresh algorithm data failed.", ex);
     197        return null;
     198      }
     199    }
     200    public bool UpdateAlgorithmData(AlgorithmData algorithmData) {
     201      try {
     202        CallAdminService(s => s.UpdateAlgorithmData(algorithmData));
     203        return true;
     204      }
     205      catch (Exception ex) {
     206        ErrorHandling.ShowErrorDialog("Update algorithm data failed.", ex);
     207        return false;
     208      }
     209    }
     210    #endregion
     211
     212    #region Problem Methods
     213    public Guid[] GetProblemUsers(long problemId) {
     214      try {
     215        return CallAdminService<Guid[]>(s => s.GetProblemUsers(problemId));
     216      }
     217      catch (Exception ex) {
     218        ErrorHandling.ShowErrorDialog("Refresh authorized problem users failed.", ex);
     219        return null;
     220      }
     221    }
     222    public bool UpdateProblemUsers(long problemId, Guid[] users) {
     223      try {
     224        CallAdminService(s => s.UpdateProblemUsers(problemId, users));
     225        return true;
     226      }
     227      catch (Exception ex) {
     228        ErrorHandling.ShowErrorDialog("Update authorized problem users failed.", ex);
     229        return false;
     230      }
     231    }
     232    public ProblemData GetProblemData(long problemId) {
     233      try {
     234        return CallAdminService<ProblemData>(s => s.GetProblemData(problemId));
     235      }
     236      catch (Exception ex) {
     237        ErrorHandling.ShowErrorDialog("Refresh problem data failed.", ex);
     238        return null;
     239      }
     240    }
     241    public bool UpdateProblemData(ProblemData problemData) {
     242      try {
     243        CallAdminService(s => s.UpdateProblemData(problemData));
     244        return true;
     245      }
     246      catch (Exception ex) {
     247        ErrorHandling.ShowErrorDialog("Update problem data failed.", ex);
     248        return false;
     249      }
     250    }
     251    #endregion
     252
     253    #region Events
    157254    public event EventHandler Refreshing;
    158255    private void OnRefreshing() {
     
    175272      }
    176273    }
     274    private void dataTypes_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<DataType> e) {
     275      try {
     276        foreach (DataType d in e.Items)
     277          CallAdminService(s => s.DeleteDataType(d.Id));
     278      }
     279      catch (Exception ex) {
     280        ErrorHandling.ShowErrorDialog("Delete failed.", ex);
     281      }
     282    }
    177283    private void algorithmClasses_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<AlgorithmClass> e) {
    178284      try {
     
    193299      }
    194300    }
    195     private void dataTypes_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<DataType> e) {
    196       try {
    197         foreach (DataType d in e.Items)
    198           CallAdminService(s => s.DeleteDataType(d.Id));
    199       }
    200       catch (Exception ex) {
    201         ErrorHandling.ShowErrorDialog("Delete failed.", ex);
    202       }
    203     }
     301    private void problemClasses_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<ProblemClass> e) {
     302      try {
     303        foreach (ProblemClass p in e.Items)
     304          CallAdminService(s => s.DeleteProblemClass(p.Id));
     305      }
     306      catch (Exception ex) {
     307        ErrorHandling.ShowErrorDialog("Delete failed.", ex);
     308      }
     309    }
     310    private void problems_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<Problem> e) {
     311      try {
     312        foreach (Problem p in e.Items)
     313          CallAdminService(s => s.DeleteProblem(p.Id));
     314      }
     315      catch (Exception ex) {
     316        ErrorHandling.ShowErrorDialog("Delete failed.", ex);
     317      }
     318    }
     319    #endregion
    204320
    205321    #region Helpers
     
    218334      }
    219335    }
    220     private T CallAdminService<T>(Func<IAdminService, T> call) where T : class {
     336    private T CallAdminService<T>(Func<IAdminService, T> call) {
    221337      AdminServiceClient client = ClientFactory.CreateClient<AdminServiceClient, IAdminService>();
    222338      try {
     
    232348      }
    233349    }
    234     private T CallAuthenticationService<T>(Func<IAuthenticationService, T> call) where T : class {
     350    private T CallAuthenticationService<T>(Func<IAuthenticationService, T> call) {
    235351      AuthenticationServiceClient client = ClientFactory.CreateClient<AuthenticationServiceClient, IAuthenticationService>();
    236352      try {
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/HeuristicLab.Clients.OKB-3.3.csproj

    r4466 r4481  
    5353      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
    5454    </Reference>
     55    <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    5556    <Reference Include="HeuristicLab.Optimizer-3.3">
    5657      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimizer-3.3.dll</HintPath>
    5758    </Reference>
     59    <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    5860    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    5961      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     
    8587    </Compile>
    8688    <Compile Include="ServiceClients\AuthenticationServiceClient.cs" />
     89    <Compile Include="ServiceClients\AlgorithmData.cs" />
     90    <Compile Include="ServiceClients\Problem.cs" />
     91    <Compile Include="ServiceClients\ProblemClass.cs" />
    8792    <Compile Include="ServiceClients\DataType.cs" />
    8893    <Compile Include="ServiceClients\NamedOKBItem.cs" />
     
    121126      <DependentUpon>AlgorithmView.cs</DependentUpon>
    122127    </Compile>
     128    <Compile Include="Views\AlgorithmDataView.cs">
     129      <SubType>UserControl</SubType>
     130    </Compile>
     131    <Compile Include="Views\AlgorithmDataView.Designer.cs">
     132      <DependentUpon>AlgorithmDataView.cs</DependentUpon>
     133    </Compile>
     134    <Compile Include="Views\ProblemCollectionView.cs">
     135      <SubType>UserControl</SubType>
     136    </Compile>
     137    <Compile Include="Views\ProblemCollectionView.Designer.cs">
     138      <DependentUpon>ProblemCollectionView.cs</DependentUpon>
     139    </Compile>
     140    <Compile Include="Views\ProblemClassCollectionView.cs">
     141      <SubType>UserControl</SubType>
     142    </Compile>
     143    <Compile Include="Views\ProblemClassCollectionView.Designer.cs">
     144      <DependentUpon>ProblemClassCollectionView.cs</DependentUpon>
     145    </Compile>
    123146    <Compile Include="Views\DataTypeView.cs">
    124147      <SubType>UserControl</SubType>
     
    161184  </ItemGroup>
    162185  <ItemGroup>
    163     <EmbeddedResource Include="Views\AdministratorView.resx">
    164       <DependentUpon>AdministratorView.cs</DependentUpon>
     186    <EmbeddedResource Include="Views\AlgorithmDataView.resx">
     187      <DependentUpon>AlgorithmDataView.cs</DependentUpon>
    165188    </EmbeddedResource>
    166189    <EmbeddedResource Include="Views\AlgorithmView.resx">
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/HeuristicLabClientsOKBPlugin.cs.frame

    r4421 r4481  
    3636  [PluginDependency("HeuristicLab.MainForm", "3.3")]
    3737  [PluginDependency("HeuristicLab.MainForm.WindowsForms", "3.3")]
     38  [PluginDependency("HeuristicLab.Optimization", "3.3")]
    3839  [PluginDependency("HeuristicLab.Optimizer", "3.3")]
     40  [PluginDependency("HeuristicLab.Persistence", "3.3")]
    3941  public class HeuristicLabClientsOKBPlugin : PluginBase {
    4042  }
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/AdminServiceClient.cs

    r4466 r4481  
    99//------------------------------------------------------------------------------
    1010
    11 namespace HeuristicLab.Clients.OKB
    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="OKBItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
    19     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.DataType))]
    20     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NamedOKBItem))]
    21     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmClass))]
    22     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Algorithm))]
    23     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Platform))]
    24     public partial class OKBItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    25     {
    26        
    27         private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    28        
    29         private long IdField;
    30        
    31         public System.Runtime.Serialization.ExtensionDataObject ExtensionData
    32         {
    33             get
    34             {
    35                 return this.extensionDataField;
    36             }
    37             set
    38             {
    39                 this.extensionDataField = value;
    40             }
    41         }
    42        
    43         [System.Runtime.Serialization.DataMemberAttribute()]
    44         public long Id
    45         {
    46             get
    47             {
    48                 return this.IdField;
    49             }
    50             set
    51             {
    52                 if ((this.IdField.Equals(value) != true))
    53                 {
    54                     this.IdField = value;
    55                     this.RaisePropertyChanged("Id");
    56                 }
    57             }
    58         }
    59        
    60         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    61     }
    62    
    63     [System.Diagnostics.DebuggerStepThroughAttribute()]
    64     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    65     [System.Runtime.Serialization.DataContractAttribute(Name="DataType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
    66     public partial class DataType : HeuristicLab.Clients.OKB.OKBItem
    67     {
    68        
    69         private string NameField;
    70        
    71         private long PlatformIdField;
    72        
    73         private string SqlNameField;
    74        
    75         [System.Runtime.Serialization.DataMemberAttribute()]
    76         public string Name
    77         {
    78             get
    79             {
    80                 return this.NameField;
    81             }
    82             set
    83             {
    84                 if ((object.ReferenceEquals(this.NameField, value) != true))
    85                 {
    86                     this.NameField = value;
    87                     this.RaisePropertyChanged("Name");
    88                 }
    89             }
    90         }
    91        
    92         [System.Runtime.Serialization.DataMemberAttribute()]
    93         public long PlatformId
    94         {
    95             get
    96             {
    97                 return this.PlatformIdField;
    98             }
    99             set
    100             {
    101                 if ((this.PlatformIdField.Equals(value) != true))
    102                 {
    103                     this.PlatformIdField = value;
    104                     this.RaisePropertyChanged("PlatformId");
    105                 }
    106             }
    107         }
    108        
    109         [System.Runtime.Serialization.DataMemberAttribute()]
    110         public string SqlName
    111         {
    112             get
    113             {
    114                 return this.SqlNameField;
    115             }
    116             set
    117             {
    118                 if ((object.ReferenceEquals(this.SqlNameField, value) != true))
    119                 {
    120                     this.SqlNameField = value;
    121                     this.RaisePropertyChanged("SqlName");
    122                 }
    123             }
    124         }
    125     }
    126    
    127     [System.Diagnostics.DebuggerStepThroughAttribute()]
    128     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    129     [System.Runtime.Serialization.DataContractAttribute(Name="NamedOKBItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
    130     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmClass))]
    131     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Algorithm))]
    132     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Platform))]
    133     public partial class NamedOKBItem : HeuristicLab.Clients.OKB.OKBItem
    134     {
    135        
    136         private string DescriptionField;
    137        
    138         private string NameField;
    139        
    140         [System.Runtime.Serialization.DataMemberAttribute()]
    141         public string Description
    142         {
    143             get
    144             {
    145                 return this.DescriptionField;
    146             }
    147             set
    148             {
    149                 if ((object.ReferenceEquals(this.DescriptionField, value) != true))
    150                 {
    151                     this.DescriptionField = value;
    152                     this.RaisePropertyChanged("Description");
    153                 }
    154             }
    155         }
    156        
    157         [System.Runtime.Serialization.DataMemberAttribute()]
    158         public string Name
    159         {
    160             get
    161             {
    162                 return this.NameField;
    163             }
    164             set
    165             {
    166                 if ((object.ReferenceEquals(this.NameField, value) != true))
    167                 {
    168                     this.NameField = value;
    169                     this.RaisePropertyChanged("Name");
    170                 }
    171             }
    172         }
    173     }
    174    
    175     [System.Diagnostics.DebuggerStepThroughAttribute()]
    176     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    177     [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmClass", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
    178     public partial class AlgorithmClass : HeuristicLab.Clients.OKB.NamedOKBItem
    179     {
    180     }
    181    
    182     [System.Diagnostics.DebuggerStepThroughAttribute()]
    183     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    184     [System.Runtime.Serialization.DataContractAttribute(Name="Algorithm", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
    185     public partial class Algorithm : HeuristicLab.Clients.OKB.NamedOKBItem
    186     {
    187        
    188         private long AlgorithmClassIdField;
    189        
    190         private long PlatformIdField;
    191        
    192         [System.Runtime.Serialization.DataMemberAttribute()]
    193         public long AlgorithmClassId
    194         {
    195             get
    196             {
    197                 return this.AlgorithmClassIdField;
    198             }
    199             set
    200             {
    201                 if ((this.AlgorithmClassIdField.Equals(value) != true))
    202                 {
    203                     this.AlgorithmClassIdField = value;
    204                     this.RaisePropertyChanged("AlgorithmClassId");
    205                 }
    206             }
    207         }
    208        
    209         [System.Runtime.Serialization.DataMemberAttribute()]
    210         public long PlatformId
    211         {
    212             get
    213             {
    214                 return this.PlatformIdField;
    215             }
    216             set
    217             {
    218                 if ((this.PlatformIdField.Equals(value) != true))
    219                 {
    220                     this.PlatformIdField = value;
    221                     this.RaisePropertyChanged("PlatformId");
    222                 }
    223             }
    224         }
    225     }
    226    
    227     [System.Diagnostics.DebuggerStepThroughAttribute()]
    228     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    229     [System.Runtime.Serialization.DataContractAttribute(Name="Platform", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
    230     public partial class Platform : HeuristicLab.Clients.OKB.NamedOKBItem
    231     {
    232     }
    233    
    234     [System.Diagnostics.DebuggerStepThroughAttribute()]
    235     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    236     [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmData", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
    237     public partial class AlgorithmData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    238     {
    239        
    240         private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    241        
    242         private long AlgorithmIdField;
    243        
    244         private byte[] DataField;
    245        
    246         private long DataTypeIdField;
    247        
    248         public System.Runtime.Serialization.ExtensionDataObject ExtensionData
    249         {
    250             get
    251             {
    252                 return this.extensionDataField;
    253             }
    254             set
    255             {
    256                 this.extensionDataField = value;
    257             }
    258         }
    259        
    260         [System.Runtime.Serialization.DataMemberAttribute()]
    261         public long AlgorithmId
    262         {
    263             get
    264             {
    265                 return this.AlgorithmIdField;
    266             }
    267             set
    268             {
    269                 if ((this.AlgorithmIdField.Equals(value) != true))
    270                 {
    271                     this.AlgorithmIdField = value;
    272                     this.RaisePropertyChanged("AlgorithmId");
    273                 }
    274             }
    275         }
    276        
    277         [System.Runtime.Serialization.DataMemberAttribute()]
    278         public byte[] Data
    279         {
    280             get
    281             {
    282                 return this.DataField;
    283             }
    284             set
    285             {
    286                 if ((object.ReferenceEquals(this.DataField, value) != true))
    287                 {
    288                     this.DataField = value;
    289                     this.RaisePropertyChanged("Data");
    290                 }
    291             }
    292         }
    293        
    294         [System.Runtime.Serialization.DataMemberAttribute()]
    295         public long DataTypeId
    296         {
    297             get
    298             {
    299                 return this.DataTypeIdField;
    300             }
    301             set
    302             {
    303                 if ((this.DataTypeIdField.Equals(value) != true))
    304                 {
    305                     this.DataTypeIdField = value;
    306                     this.RaisePropertyChanged("DataTypeId");
    307                 }
    308             }
    309         }
    310        
    311         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    312        
    313         protected void RaisePropertyChanged(string propertyName)
    314         {
    315             System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    316             if ((propertyChanged != null))
    317             {
    318                 propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    319             }
    320         }
    321     }
    322    
    323     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    324     [System.ServiceModel.ServiceContractAttribute(ConfigurationName="HeuristicLab.Clients.OKB.IAdminService")]
    325     public interface IAdminService
    326     {
    327        
    328         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetPlatform", ReplyAction="http://tempuri.org/IAdminService/GetPlatformResponse")]
    329         HeuristicLab.Clients.OKB.Platform GetPlatform(long id);
    330        
    331         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetPlatforms", ReplyAction="http://tempuri.org/IAdminService/GetPlatformsResponse")]
    332         HeuristicLab.Clients.OKB.Platform[] GetPlatforms();
    333        
    334         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/StorePlatform", ReplyAction="http://tempuri.org/IAdminService/StorePlatformResponse")]
    335         void StorePlatform(HeuristicLab.Clients.OKB.Platform dto);
    336        
    337         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/DeletePlatform", ReplyAction="http://tempuri.org/IAdminService/DeletePlatformResponse")]
    338         void DeletePlatform(long id);
    339        
    340         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetAlgorithmClass", ReplyAction="http://tempuri.org/IAdminService/GetAlgorithmClassResponse")]
    341         HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long id);
    342        
    343         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetAlgorithmClasses", ReplyAction="http://tempuri.org/IAdminService/GetAlgorithmClassesResponse")]
    344         HeuristicLab.Clients.OKB.AlgorithmClass[] GetAlgorithmClasses();
    345        
    346         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/StoreAlgorithmClass", ReplyAction="http://tempuri.org/IAdminService/StoreAlgorithmClassResponse")]
    347         void StoreAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto);
    348        
    349         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/DeleteAlgorithmClass", ReplyAction="http://tempuri.org/IAdminService/DeleteAlgorithmClassResponse")]
    350         void DeleteAlgorithmClass(long id);
    351        
    352         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetAlgorithm", ReplyAction="http://tempuri.org/IAdminService/GetAlgorithmResponse")]
    353         HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long id);
    354        
    355         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetAlgorithms", ReplyAction="http://tempuri.org/IAdminService/GetAlgorithmsResponse")]
    356         HeuristicLab.Clients.OKB.Algorithm[] GetAlgorithms();
    357        
    358         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/StoreAlgorithm", ReplyAction="http://tempuri.org/IAdminService/StoreAlgorithmResponse")]
    359         void StoreAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto);
    360        
    361         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/DeleteAlgorithm", ReplyAction="http://tempuri.org/IAdminService/DeleteAlgorithmResponse")]
    362         void DeleteAlgorithm(long id);
    363        
    364         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetAlgorithmUsers", ReplyAction="http://tempuri.org/IAdminService/GetAlgorithmUsersResponse")]
    365         System.Guid[] GetAlgorithmUsers(long algorithmId);
    366        
    367         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/StoreAlgorithmUsers", ReplyAction="http://tempuri.org/IAdminService/StoreAlgorithmUsersResponse")]
    368         void StoreAlgorithmUsers(long algorithmId, System.Guid[] users);
    369        
    370         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetAlgorithmData", ReplyAction="http://tempuri.org/IAdminService/GetAlgorithmDataResponse")]
    371         HeuristicLab.Clients.OKB.AlgorithmData GetAlgorithmData(long algorithmId);
    372        
    373         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/StoreAlgorithmData", ReplyAction="http://tempuri.org/IAdminService/StoreAlgorithmDataResponse")]
    374         void StoreAlgorithmData(HeuristicLab.Clients.OKB.AlgorithmData dto);
    375        
    376         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetDataType", ReplyAction="http://tempuri.org/IAdminService/GetDataTypeResponse")]
    377         HeuristicLab.Clients.OKB.DataType GetDataType(long id);
    378        
    379         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetDataTypes", ReplyAction="http://tempuri.org/IAdminService/GetDataTypesResponse")]
    380         HeuristicLab.Clients.OKB.DataType[] GetDataTypes();
    381        
    382         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/StoreDataType", ReplyAction="http://tempuri.org/IAdminService/StoreDataTypeResponse")]
    383         void StoreDataType(HeuristicLab.Clients.OKB.DataType dto);
    384        
    385         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/DeleteDataType", ReplyAction="http://tempuri.org/IAdminService/DeleteDataTypeResponse")]
    386         void DeleteDataType(long id);
    387     }
    388    
    389     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    390     public interface IAdminServiceChannel : HeuristicLab.Clients.OKB.IAdminService, System.ServiceModel.IClientChannel
    391     {
    392     }
    393    
    394     [System.Diagnostics.DebuggerStepThroughAttribute()]
    395     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    396     public partial class AdminServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.IAdminService>, HeuristicLab.Clients.OKB.IAdminService
    397     {
    398        
    399         public AdminServiceClient()
    400         {
    401         }
    402        
    403         public AdminServiceClient(string endpointConfigurationName) :
    404                 base(endpointConfigurationName)
    405         {
    406         }
    407        
    408         public AdminServiceClient(string endpointConfigurationName, string remoteAddress) :
    409                 base(endpointConfigurationName, remoteAddress)
    410         {
    411         }
    412        
    413         public AdminServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
    414                 base(endpointConfigurationName, remoteAddress)
    415         {
    416         }
    417        
    418         public AdminServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
    419                 base(binding, remoteAddress)
    420         {
    421         }
    422        
    423         public HeuristicLab.Clients.OKB.Platform GetPlatform(long id)
    424         {
    425             return base.Channel.GetPlatform(id);
    426         }
    427        
    428         public HeuristicLab.Clients.OKB.Platform[] GetPlatforms()
    429         {
    430             return base.Channel.GetPlatforms();
    431         }
    432        
    433         public void StorePlatform(HeuristicLab.Clients.OKB.Platform dto)
    434         {
    435             base.Channel.StorePlatform(dto);
    436         }
    437        
    438         public void DeletePlatform(long id)
    439         {
    440             base.Channel.DeletePlatform(id);
    441         }
    442        
    443         public HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long id)
    444         {
    445             return base.Channel.GetAlgorithmClass(id);
    446         }
    447        
    448         public HeuristicLab.Clients.OKB.AlgorithmClass[] GetAlgorithmClasses()
    449         {
    450             return base.Channel.GetAlgorithmClasses();
    451         }
    452        
    453         public void StoreAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto)
    454         {
    455             base.Channel.StoreAlgorithmClass(dto);
    456         }
    457        
    458         public void DeleteAlgorithmClass(long id)
    459         {
    460             base.Channel.DeleteAlgorithmClass(id);
    461         }
    462        
    463         public HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long id)
    464         {
    465             return base.Channel.GetAlgorithm(id);
    466         }
    467        
    468         public HeuristicLab.Clients.OKB.Algorithm[] GetAlgorithms()
    469         {
    470             return base.Channel.GetAlgorithms();
    471         }
    472        
    473         public void StoreAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto)
    474         {
    475             base.Channel.StoreAlgorithm(dto);
    476         }
    477        
    478         public void DeleteAlgorithm(long id)
    479         {
    480             base.Channel.DeleteAlgorithm(id);
    481         }
    482        
    483         public System.Guid[] GetAlgorithmUsers(long algorithmId)
    484         {
    485             return base.Channel.GetAlgorithmUsers(algorithmId);
    486         }
    487        
    488         public void StoreAlgorithmUsers(long algorithmId, System.Guid[] users)
    489         {
    490             base.Channel.StoreAlgorithmUsers(algorithmId, users);
    491         }
    492        
    493         public HeuristicLab.Clients.OKB.AlgorithmData GetAlgorithmData(long algorithmId)
    494         {
    495             return base.Channel.GetAlgorithmData(algorithmId);
    496         }
    497        
    498         public void StoreAlgorithmData(HeuristicLab.Clients.OKB.AlgorithmData dto)
    499         {
    500             base.Channel.StoreAlgorithmData(dto);
    501         }
    502        
    503         public HeuristicLab.Clients.OKB.DataType GetDataType(long id)
    504         {
    505             return base.Channel.GetDataType(id);
    506         }
    507        
    508         public HeuristicLab.Clients.OKB.DataType[] GetDataTypes()
    509         {
    510             return base.Channel.GetDataTypes();
    511         }
    512        
    513         public void StoreDataType(HeuristicLab.Clients.OKB.DataType dto)
    514         {
    515             base.Channel.StoreDataType(dto);
    516         }
    517        
    518         public void DeleteDataType(long id)
    519         {
    520             base.Channel.DeleteDataType(id);
    521         }
    522     }
     11namespace HeuristicLab.Clients.OKB {
     12
     13
     14  [System.Diagnostics.DebuggerStepThroughAttribute()]
     15  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     16  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemClass", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     17  public partial class ProblemClass : HeuristicLab.Clients.OKB.NamedOKBItem {
     18  }
     19
     20  [System.Diagnostics.DebuggerStepThroughAttribute()]
     21  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     22  [System.Runtime.Serialization.DataContractAttribute(Name = "OKBItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     23  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.DataType))]
     24  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NamedOKBItem))]
     25  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Problem))]
     26  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Platform))]
     27  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmClass))]
     28  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Algorithm))]
     29  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemClass))]
     30  public partial class OKBItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     31
     32    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     33
     34    private long IdField;
     35
     36    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     37      get {
     38        return this.extensionDataField;
     39      }
     40      set {
     41        this.extensionDataField = value;
     42      }
     43    }
     44
     45    [System.Runtime.Serialization.DataMemberAttribute()]
     46    public long Id {
     47      get {
     48        return this.IdField;
     49      }
     50      set {
     51        if ((this.IdField.Equals(value) != true)) {
     52          this.IdField = value;
     53          this.RaisePropertyChanged("Id");
     54        }
     55      }
     56    }
     57
     58    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     59  }
     60
     61  [System.Diagnostics.DebuggerStepThroughAttribute()]
     62  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     63  [System.Runtime.Serialization.DataContractAttribute(Name = "DataType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     64  public partial class DataType : HeuristicLab.Clients.OKB.OKBItem {
     65
     66    private string NameField;
     67
     68    private long PlatformIdField;
     69
     70    private string SqlNameField;
     71
     72    [System.Runtime.Serialization.DataMemberAttribute()]
     73    public string Name {
     74      get {
     75        return this.NameField;
     76      }
     77      set {
     78        if ((object.ReferenceEquals(this.NameField, value) != true)) {
     79          this.NameField = value;
     80          this.RaisePropertyChanged("Name");
     81        }
     82      }
     83    }
     84
     85    [System.Runtime.Serialization.DataMemberAttribute()]
     86    public long PlatformId {
     87      get {
     88        return this.PlatformIdField;
     89      }
     90      set {
     91        if ((this.PlatformIdField.Equals(value) != true)) {
     92          this.PlatformIdField = value;
     93          this.RaisePropertyChanged("PlatformId");
     94        }
     95      }
     96    }
     97
     98    [System.Runtime.Serialization.DataMemberAttribute()]
     99    public string SqlName {
     100      get {
     101        return this.SqlNameField;
     102      }
     103      set {
     104        if ((object.ReferenceEquals(this.SqlNameField, value) != true)) {
     105          this.SqlNameField = value;
     106          this.RaisePropertyChanged("SqlName");
     107        }
     108      }
     109    }
     110  }
     111
     112  [System.Diagnostics.DebuggerStepThroughAttribute()]
     113  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     114  [System.Runtime.Serialization.DataContractAttribute(Name = "NamedOKBItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     115  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Problem))]
     116  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Platform))]
     117  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmClass))]
     118  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Algorithm))]
     119  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemClass))]
     120  public partial class NamedOKBItem : HeuristicLab.Clients.OKB.OKBItem {
     121
     122    private string DescriptionField;
     123
     124    private string NameField;
     125
     126    [System.Runtime.Serialization.DataMemberAttribute()]
     127    public string Description {
     128      get {
     129        return this.DescriptionField;
     130      }
     131      set {
     132        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
     133          this.DescriptionField = value;
     134          this.RaisePropertyChanged("Description");
     135        }
     136      }
     137    }
     138
     139    [System.Runtime.Serialization.DataMemberAttribute()]
     140    public string Name {
     141      get {
     142        return this.NameField;
     143      }
     144      set {
     145        if ((object.ReferenceEquals(this.NameField, value) != true)) {
     146          this.NameField = value;
     147          this.RaisePropertyChanged("Name");
     148        }
     149      }
     150    }
     151  }
     152
     153  [System.Diagnostics.DebuggerStepThroughAttribute()]
     154  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     155  [System.Runtime.Serialization.DataContractAttribute(Name = "Problem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     156  public partial class Problem : HeuristicLab.Clients.OKB.NamedOKBItem {
     157
     158    private long PlatformIdField;
     159
     160    private long ProblemClassIdField;
     161
     162    [System.Runtime.Serialization.DataMemberAttribute()]
     163    public long PlatformId {
     164      get {
     165        return this.PlatformIdField;
     166      }
     167      set {
     168        if ((this.PlatformIdField.Equals(value) != true)) {
     169          this.PlatformIdField = value;
     170          this.RaisePropertyChanged("PlatformId");
     171        }
     172      }
     173    }
     174
     175    [System.Runtime.Serialization.DataMemberAttribute()]
     176    public long ProblemClassId {
     177      get {
     178        return this.ProblemClassIdField;
     179      }
     180      set {
     181        if ((this.ProblemClassIdField.Equals(value) != true)) {
     182          this.ProblemClassIdField = value;
     183          this.RaisePropertyChanged("ProblemClassId");
     184        }
     185      }
     186    }
     187  }
     188
     189  [System.Diagnostics.DebuggerStepThroughAttribute()]
     190  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     191  [System.Runtime.Serialization.DataContractAttribute(Name = "Platform", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     192  public partial class Platform : HeuristicLab.Clients.OKB.NamedOKBItem {
     193  }
     194
     195  [System.Diagnostics.DebuggerStepThroughAttribute()]
     196  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     197  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmClass", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     198  public partial class AlgorithmClass : HeuristicLab.Clients.OKB.NamedOKBItem {
     199  }
     200
     201  [System.Diagnostics.DebuggerStepThroughAttribute()]
     202  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     203  [System.Runtime.Serialization.DataContractAttribute(Name = "Algorithm", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     204  public partial class Algorithm : HeuristicLab.Clients.OKB.NamedOKBItem {
     205
     206    private long AlgorithmClassIdField;
     207
     208    private long PlatformIdField;
     209
     210    [System.Runtime.Serialization.DataMemberAttribute()]
     211    public long AlgorithmClassId {
     212      get {
     213        return this.AlgorithmClassIdField;
     214      }
     215      set {
     216        if ((this.AlgorithmClassIdField.Equals(value) != true)) {
     217          this.AlgorithmClassIdField = value;
     218          this.RaisePropertyChanged("AlgorithmClassId");
     219        }
     220      }
     221    }
     222
     223    [System.Runtime.Serialization.DataMemberAttribute()]
     224    public long PlatformId {
     225      get {
     226        return this.PlatformIdField;
     227      }
     228      set {
     229        if ((this.PlatformIdField.Equals(value) != true)) {
     230          this.PlatformIdField = value;
     231          this.RaisePropertyChanged("PlatformId");
     232        }
     233      }
     234    }
     235  }
     236
     237  [System.Diagnostics.DebuggerStepThroughAttribute()]
     238  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     239  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     240  public partial class ProblemData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     241
     242    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     243
     244    private byte[] DataField;
     245
     246    private long DataTypeIdField;
     247
     248    private long ProblemIdField;
     249
     250    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     251      get {
     252        return this.extensionDataField;
     253      }
     254      set {
     255        this.extensionDataField = value;
     256      }
     257    }
     258
     259    [System.Runtime.Serialization.DataMemberAttribute()]
     260    public byte[] Data {
     261      get {
     262        return this.DataField;
     263      }
     264      set {
     265        if ((object.ReferenceEquals(this.DataField, value) != true)) {
     266          this.DataField = value;
     267          this.RaisePropertyChanged("Data");
     268        }
     269      }
     270    }
     271
     272    [System.Runtime.Serialization.DataMemberAttribute()]
     273    public long DataTypeId {
     274      get {
     275        return this.DataTypeIdField;
     276      }
     277      set {
     278        if ((this.DataTypeIdField.Equals(value) != true)) {
     279          this.DataTypeIdField = value;
     280          this.RaisePropertyChanged("DataTypeId");
     281        }
     282      }
     283    }
     284
     285    [System.Runtime.Serialization.DataMemberAttribute()]
     286    public long ProblemId {
     287      get {
     288        return this.ProblemIdField;
     289      }
     290      set {
     291        if ((this.ProblemIdField.Equals(value) != true)) {
     292          this.ProblemIdField = value;
     293          this.RaisePropertyChanged("ProblemId");
     294        }
     295      }
     296    }
     297
     298    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     299
     300    protected void RaisePropertyChanged(string propertyName) {
     301      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     302      if ((propertyChanged != null)) {
     303        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     304      }
     305    }
     306  }
     307
     308  [System.Diagnostics.DebuggerStepThroughAttribute()]
     309  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     310  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
     311  public partial class AlgorithmData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     312
     313    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     314
     315    private long AlgorithmIdField;
     316
     317    private byte[] DataField;
     318
     319    private long DataTypeIdField;
     320
     321    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     322      get {
     323        return this.extensionDataField;
     324      }
     325      set {
     326        this.extensionDataField = value;
     327      }
     328    }
     329
     330    [System.Runtime.Serialization.DataMemberAttribute()]
     331    public long AlgorithmId {
     332      get {
     333        return this.AlgorithmIdField;
     334      }
     335      set {
     336        if ((this.AlgorithmIdField.Equals(value) != true)) {
     337          this.AlgorithmIdField = value;
     338          this.RaisePropertyChanged("AlgorithmId");
     339        }
     340      }
     341    }
     342
     343    [System.Runtime.Serialization.DataMemberAttribute()]
     344    public byte[] Data {
     345      get {
     346        return this.DataField;
     347      }
     348      set {
     349        if ((object.ReferenceEquals(this.DataField, value) != true)) {
     350          this.DataField = value;
     351          this.RaisePropertyChanged("Data");
     352        }
     353      }
     354    }
     355
     356    [System.Runtime.Serialization.DataMemberAttribute()]
     357    public long DataTypeId {
     358      get {
     359        return this.DataTypeIdField;
     360      }
     361      set {
     362        if ((this.DataTypeIdField.Equals(value) != true)) {
     363          this.DataTypeIdField = value;
     364          this.RaisePropertyChanged("DataTypeId");
     365        }
     366      }
     367    }
     368
     369    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     370
     371    protected void RaisePropertyChanged(string propertyName) {
     372      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     373      if ((propertyChanged != null)) {
     374        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     375      }
     376    }
     377  }
     378
     379  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     380  [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.OKB.IAdminService")]
     381  public interface IAdminService {
     382
     383    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetProblemClasses", ReplyAction = "http://tempuri.org/IAdminService/GetProblemClassesResponse")]
     384    HeuristicLab.Clients.OKB.ProblemClass[] GetProblemClasses();
     385
     386    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/AddProblemClass", ReplyAction = "http://tempuri.org/IAdminService/AddProblemClassResponse")]
     387    long AddProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto);
     388
     389    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateProblemClass", ReplyAction = "http://tempuri.org/IAdminService/UpdateProblemClassResponse")]
     390    void UpdateProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto);
     391
     392    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/DeleteProblemClass", ReplyAction = "http://tempuri.org/IAdminService/DeleteProblemClassResponse")]
     393    void DeleteProblemClass(long id);
     394
     395    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetProblem", ReplyAction = "http://tempuri.org/IAdminService/GetProblemResponse")]
     396    HeuristicLab.Clients.OKB.Problem GetProblem(long id);
     397
     398    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetProblems", ReplyAction = "http://tempuri.org/IAdminService/GetProblemsResponse")]
     399    HeuristicLab.Clients.OKB.Problem[] GetProblems();
     400
     401    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/AddProblem", ReplyAction = "http://tempuri.org/IAdminService/AddProblemResponse")]
     402    long AddProblem(HeuristicLab.Clients.OKB.Problem dto);
     403
     404    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateProblem", ReplyAction = "http://tempuri.org/IAdminService/UpdateProblemResponse")]
     405    void UpdateProblem(HeuristicLab.Clients.OKB.Problem dto);
     406
     407    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/DeleteProblem", ReplyAction = "http://tempuri.org/IAdminService/DeleteProblemResponse")]
     408    void DeleteProblem(long id);
     409
     410    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetProblemUsers", ReplyAction = "http://tempuri.org/IAdminService/GetProblemUsersResponse")]
     411    System.Guid[] GetProblemUsers(long problemId);
     412
     413    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateProblemUsers", ReplyAction = "http://tempuri.org/IAdminService/UpdateProblemUsersResponse")]
     414    void UpdateProblemUsers(long problemId, System.Guid[] users);
     415
     416    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetProblemData", ReplyAction = "http://tempuri.org/IAdminService/GetProblemDataResponse")]
     417    HeuristicLab.Clients.OKB.ProblemData GetProblemData(long problemId);
     418
     419    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateProblemData", ReplyAction = "http://tempuri.org/IAdminService/UpdateProblemDataResponse")]
     420    void UpdateProblemData(HeuristicLab.Clients.OKB.ProblemData dto);
     421
     422    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetPlatform", ReplyAction = "http://tempuri.org/IAdminService/GetPlatformResponse")]
     423    HeuristicLab.Clients.OKB.Platform GetPlatform(long id);
     424
     425    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetPlatforms", ReplyAction = "http://tempuri.org/IAdminService/GetPlatformsResponse")]
     426    HeuristicLab.Clients.OKB.Platform[] GetPlatforms();
     427
     428    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/AddPlatform", ReplyAction = "http://tempuri.org/IAdminService/AddPlatformResponse")]
     429    long AddPlatform(HeuristicLab.Clients.OKB.Platform dto);
     430
     431    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdatePlatform", ReplyAction = "http://tempuri.org/IAdminService/UpdatePlatformResponse")]
     432    void UpdatePlatform(HeuristicLab.Clients.OKB.Platform dto);
     433
     434    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/DeletePlatform", ReplyAction = "http://tempuri.org/IAdminService/DeletePlatformResponse")]
     435    void DeletePlatform(long id);
     436
     437    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetDataType", ReplyAction = "http://tempuri.org/IAdminService/GetDataTypeResponse")]
     438    HeuristicLab.Clients.OKB.DataType GetDataType(long id);
     439
     440    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetDataTypes", ReplyAction = "http://tempuri.org/IAdminService/GetDataTypesResponse")]
     441    HeuristicLab.Clients.OKB.DataType[] GetDataTypes();
     442
     443    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/AddDataType", ReplyAction = "http://tempuri.org/IAdminService/AddDataTypeResponse")]
     444    long AddDataType(HeuristicLab.Clients.OKB.DataType dto);
     445
     446    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateDataType", ReplyAction = "http://tempuri.org/IAdminService/UpdateDataTypeResponse")]
     447    void UpdateDataType(HeuristicLab.Clients.OKB.DataType dto);
     448
     449    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/DeleteDataType", ReplyAction = "http://tempuri.org/IAdminService/DeleteDataTypeResponse")]
     450    void DeleteDataType(long id);
     451
     452    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetAlgorithmClass", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmClassResponse")]
     453    HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long id);
     454
     455    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetAlgorithmClasses", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmClassesResponse")]
     456    HeuristicLab.Clients.OKB.AlgorithmClass[] GetAlgorithmClasses();
     457
     458    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/AddAlgorithmClass", ReplyAction = "http://tempuri.org/IAdminService/AddAlgorithmClassResponse")]
     459    long AddAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto);
     460
     461    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateAlgorithmClass", ReplyAction = "http://tempuri.org/IAdminService/UpdateAlgorithmClassResponse")]
     462    void UpdateAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto);
     463
     464    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/DeleteAlgorithmClass", ReplyAction = "http://tempuri.org/IAdminService/DeleteAlgorithmClassResponse")]
     465    void DeleteAlgorithmClass(long id);
     466
     467    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmResponse")]
     468    HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long id);
     469
     470    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetAlgorithms", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmsResponse")]
     471    HeuristicLab.Clients.OKB.Algorithm[] GetAlgorithms();
     472
     473    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/AddAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/AddAlgorithmResponse")]
     474    long AddAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto);
     475
     476    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/UpdateAlgorithmResponse")]
     477    void UpdateAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto);
     478
     479    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/DeleteAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/DeleteAlgorithmResponse")]
     480    void DeleteAlgorithm(long id);
     481
     482    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetAlgorithmUsers", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmUsersResponse")]
     483    System.Guid[] GetAlgorithmUsers(long algorithmId);
     484
     485    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateAlgorithmUsers", ReplyAction = "http://tempuri.org/IAdminService/UpdateAlgorithmUsersResponse")]
     486    void UpdateAlgorithmUsers(long algorithmId, System.Guid[] users);
     487
     488    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetAlgorithmData", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmDataResponse")]
     489    HeuristicLab.Clients.OKB.AlgorithmData GetAlgorithmData(long algorithmId);
     490
     491    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateAlgorithmData", ReplyAction = "http://tempuri.org/IAdminService/UpdateAlgorithmDataResponse")]
     492    void UpdateAlgorithmData(HeuristicLab.Clients.OKB.AlgorithmData dto);
     493
     494    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetProblemClass", ReplyAction = "http://tempuri.org/IAdminService/GetProblemClassResponse")]
     495    HeuristicLab.Clients.OKB.ProblemClass GetProblemClass(long id);
     496  }
     497
     498  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     499  public interface IAdminServiceChannel : HeuristicLab.Clients.OKB.IAdminService, System.ServiceModel.IClientChannel {
     500  }
     501
     502  [System.Diagnostics.DebuggerStepThroughAttribute()]
     503  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     504  public partial class AdminServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.IAdminService>, HeuristicLab.Clients.OKB.IAdminService {
     505
     506    public AdminServiceClient() {
     507    }
     508
     509    public AdminServiceClient(string endpointConfigurationName) :
     510      base(endpointConfigurationName) {
     511    }
     512
     513    public AdminServiceClient(string endpointConfigurationName, string remoteAddress) :
     514      base(endpointConfigurationName, remoteAddress) {
     515    }
     516
     517    public AdminServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
     518      base(endpointConfigurationName, remoteAddress) {
     519    }
     520
     521    public AdminServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
     522      base(binding, remoteAddress) {
     523    }
     524
     525    public HeuristicLab.Clients.OKB.ProblemClass[] GetProblemClasses() {
     526      return base.Channel.GetProblemClasses();
     527    }
     528
     529    public long AddProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto) {
     530      return base.Channel.AddProblemClass(dto);
     531    }
     532
     533    public void UpdateProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto) {
     534      base.Channel.UpdateProblemClass(dto);
     535    }
     536
     537    public void DeleteProblemClass(long id) {
     538      base.Channel.DeleteProblemClass(id);
     539    }
     540
     541    public HeuristicLab.Clients.OKB.Problem GetProblem(long id) {
     542      return base.Channel.GetProblem(id);
     543    }
     544
     545    public HeuristicLab.Clients.OKB.Problem[] GetProblems() {
     546      return base.Channel.GetProblems();
     547    }
     548
     549    public long AddProblem(HeuristicLab.Clients.OKB.Problem dto) {
     550      return base.Channel.AddProblem(dto);
     551    }
     552
     553    public void UpdateProblem(HeuristicLab.Clients.OKB.Problem dto) {
     554      base.Channel.UpdateProblem(dto);
     555    }
     556
     557    public void DeleteProblem(long id) {
     558      base.Channel.DeleteProblem(id);
     559    }
     560
     561    public System.Guid[] GetProblemUsers(long problemId) {
     562      return base.Channel.GetProblemUsers(problemId);
     563    }
     564
     565    public void UpdateProblemUsers(long problemId, System.Guid[] users) {
     566      base.Channel.UpdateProblemUsers(problemId, users);
     567    }
     568
     569    public HeuristicLab.Clients.OKB.ProblemData GetProblemData(long problemId) {
     570      return base.Channel.GetProblemData(problemId);
     571    }
     572
     573    public void UpdateProblemData(HeuristicLab.Clients.OKB.ProblemData dto) {
     574      base.Channel.UpdateProblemData(dto);
     575    }
     576
     577    public HeuristicLab.Clients.OKB.Platform GetPlatform(long id) {
     578      return base.Channel.GetPlatform(id);
     579    }
     580
     581    public HeuristicLab.Clients.OKB.Platform[] GetPlatforms() {
     582      return base.Channel.GetPlatforms();
     583    }
     584
     585    public long AddPlatform(HeuristicLab.Clients.OKB.Platform dto) {
     586      return base.Channel.AddPlatform(dto);
     587    }
     588
     589    public void UpdatePlatform(HeuristicLab.Clients.OKB.Platform dto) {
     590      base.Channel.UpdatePlatform(dto);
     591    }
     592
     593    public void DeletePlatform(long id) {
     594      base.Channel.DeletePlatform(id);
     595    }
     596
     597    public HeuristicLab.Clients.OKB.DataType GetDataType(long id) {
     598      return base.Channel.GetDataType(id);
     599    }
     600
     601    public HeuristicLab.Clients.OKB.DataType[] GetDataTypes() {
     602      return base.Channel.GetDataTypes();
     603    }
     604
     605    public long AddDataType(HeuristicLab.Clients.OKB.DataType dto) {
     606      return base.Channel.AddDataType(dto);
     607    }
     608
     609    public void UpdateDataType(HeuristicLab.Clients.OKB.DataType dto) {
     610      base.Channel.UpdateDataType(dto);
     611    }
     612
     613    public void DeleteDataType(long id) {
     614      base.Channel.DeleteDataType(id);
     615    }
     616
     617    public HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long id) {
     618      return base.Channel.GetAlgorithmClass(id);
     619    }
     620
     621    public HeuristicLab.Clients.OKB.AlgorithmClass[] GetAlgorithmClasses() {
     622      return base.Channel.GetAlgorithmClasses();
     623    }
     624
     625    public long AddAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto) {
     626      return base.Channel.AddAlgorithmClass(dto);
     627    }
     628
     629    public void UpdateAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto) {
     630      base.Channel.UpdateAlgorithmClass(dto);
     631    }
     632
     633    public void DeleteAlgorithmClass(long id) {
     634      base.Channel.DeleteAlgorithmClass(id);
     635    }
     636
     637    public HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long id) {
     638      return base.Channel.GetAlgorithm(id);
     639    }
     640
     641    public HeuristicLab.Clients.OKB.Algorithm[] GetAlgorithms() {
     642      return base.Channel.GetAlgorithms();
     643    }
     644
     645    public long AddAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto) {
     646      return base.Channel.AddAlgorithm(dto);
     647    }
     648
     649    public void UpdateAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto) {
     650      base.Channel.UpdateAlgorithm(dto);
     651    }
     652
     653    public void DeleteAlgorithm(long id) {
     654      base.Channel.DeleteAlgorithm(id);
     655    }
     656
     657    public System.Guid[] GetAlgorithmUsers(long algorithmId) {
     658      return base.Channel.GetAlgorithmUsers(algorithmId);
     659    }
     660
     661    public void UpdateAlgorithmUsers(long algorithmId, System.Guid[] users) {
     662      base.Channel.UpdateAlgorithmUsers(algorithmId, users);
     663    }
     664
     665    public HeuristicLab.Clients.OKB.AlgorithmData GetAlgorithmData(long algorithmId) {
     666      return base.Channel.GetAlgorithmData(algorithmId);
     667    }
     668
     669    public void UpdateAlgorithmData(HeuristicLab.Clients.OKB.AlgorithmData dto) {
     670      base.Channel.UpdateAlgorithmData(dto);
     671    }
     672
     673    public HeuristicLab.Clients.OKB.ProblemClass GetProblemClass(long id) {
     674      return base.Channel.GetProblemClass(id);
     675    }
     676  }
    523677}
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/AdministratorView.Designer.cs

    r4466 r4481  
    4646    private void InitializeComponent() {
    4747      this.components = new System.ComponentModel.Container();
    48       System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AdministratorView));
    4948      this.tabControl = new System.Windows.Forms.TabControl();
    5049      this.platformsTabPage = new System.Windows.Forms.TabPage();
    5150      this.platformCollectionView = new HeuristicLab.Clients.OKB.PlatformCollectionView();
     51      this.dataTypesTabPage = new System.Windows.Forms.TabPage();
     52      this.dataTypeCollectionView = new HeuristicLab.Clients.OKB.DataTypeCollectionView();
    5253      this.algorithmClassesTabPage = new System.Windows.Forms.TabPage();
    5354      this.algorithmClassCollectionView = new HeuristicLab.Clients.OKB.AlgorithmClassCollectionView();
    5455      this.algorithmsTabPage = new System.Windows.Forms.TabPage();
    5556      this.algorithmCollectionView = new HeuristicLab.Clients.OKB.AlgorithmCollectionView();
    56       this.dataTypesTabPage = new System.Windows.Forms.TabPage();
     57      this.problemClassesTabPage = new System.Windows.Forms.TabPage();
     58      this.problemsTabPage = new System.Windows.Forms.TabPage();
    5759      this.refreshButton = new System.Windows.Forms.Button();
    5860      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
    59       this.dataTypeCollectionView = new HeuristicLab.Clients.OKB.DataTypeCollectionView();
     61      this.problemClassCollectionView = new HeuristicLab.Clients.OKB.ProblemClassCollectionView();
     62      this.problemCollectionView = new HeuristicLab.Clients.OKB.ProblemCollectionView();
    6063      this.tabControl.SuspendLayout();
    6164      this.platformsTabPage.SuspendLayout();
     65      this.dataTypesTabPage.SuspendLayout();
    6266      this.algorithmClassesTabPage.SuspendLayout();
    6367      this.algorithmsTabPage.SuspendLayout();
    64       this.dataTypesTabPage.SuspendLayout();
     68      this.problemClassesTabPage.SuspendLayout();
     69      this.problemsTabPage.SuspendLayout();
    6570      this.SuspendLayout();
    6671      //
     
    7176                  | System.Windows.Forms.AnchorStyles.Right)));
    7277      this.tabControl.Controls.Add(this.platformsTabPage);
     78      this.tabControl.Controls.Add(this.dataTypesTabPage);
    7379      this.tabControl.Controls.Add(this.algorithmClassesTabPage);
    7480      this.tabControl.Controls.Add(this.algorithmsTabPage);
    75       this.tabControl.Controls.Add(this.dataTypesTabPage);
     81      this.tabControl.Controls.Add(this.problemClassesTabPage);
     82      this.tabControl.Controls.Add(this.problemsTabPage);
    7683      this.tabControl.Location = new System.Drawing.Point(0, 29);
    7784      this.tabControl.Name = "tabControl";
     
    98105      this.platformCollectionView.Caption = "PlatformCollection View";
    99106      this.platformCollectionView.Content = null;
    100       this.platformCollectionView.Location = new System.Drawing.Point(6, 6);
     107      this.platformCollectionView.Location = new System.Drawing.Point(3, 3);
    101108      this.platformCollectionView.Name = "platformCollectionView";
    102109      this.platformCollectionView.ReadOnly = false;
    103       this.platformCollectionView.Size = new System.Drawing.Size(707, 368);
     110      this.platformCollectionView.Size = new System.Drawing.Size(713, 374);
    104111      this.platformCollectionView.TabIndex = 0;
     112      //
     113      // dataTypesTabPage
     114      //
     115      this.dataTypesTabPage.Controls.Add(this.dataTypeCollectionView);
     116      this.dataTypesTabPage.Location = new System.Drawing.Point(4, 22);
     117      this.dataTypesTabPage.Name = "dataTypesTabPage";
     118      this.dataTypesTabPage.Padding = new System.Windows.Forms.Padding(3);
     119      this.dataTypesTabPage.Size = new System.Drawing.Size(719, 380);
     120      this.dataTypesTabPage.TabIndex = 3;
     121      this.dataTypesTabPage.Text = "Data Types";
     122      this.dataTypesTabPage.UseVisualStyleBackColor = true;
     123      //
     124      // dataTypeCollectionView
     125      //
     126      this.dataTypeCollectionView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     127                  | System.Windows.Forms.AnchorStyles.Left)
     128                  | System.Windows.Forms.AnchorStyles.Right)));
     129      this.dataTypeCollectionView.Caption = "DataTypeCollection View";
     130      this.dataTypeCollectionView.Content = null;
     131      this.dataTypeCollectionView.Location = new System.Drawing.Point(3, 3);
     132      this.dataTypeCollectionView.Name = "dataTypeCollectionView";
     133      this.dataTypeCollectionView.ReadOnly = false;
     134      this.dataTypeCollectionView.Size = new System.Drawing.Size(713, 374);
     135      this.dataTypeCollectionView.TabIndex = 0;
    105136      //
    106137      // algorithmClassesTabPage
     
    122153      this.algorithmClassCollectionView.Caption = "AlgorithmClassCollection View";
    123154      this.algorithmClassCollectionView.Content = null;
    124       this.algorithmClassCollectionView.Location = new System.Drawing.Point(6, 6);
     155      this.algorithmClassCollectionView.Location = new System.Drawing.Point(3, 3);
    125156      this.algorithmClassCollectionView.Name = "algorithmClassCollectionView";
    126157      this.algorithmClassCollectionView.ReadOnly = false;
    127       this.algorithmClassCollectionView.Size = new System.Drawing.Size(707, 368);
     158      this.algorithmClassCollectionView.Size = new System.Drawing.Size(713, 374);
    128159      this.algorithmClassCollectionView.TabIndex = 0;
    129160      //
     
    146177      this.algorithmCollectionView.Caption = "AlgorithmCollection View";
    147178      this.algorithmCollectionView.Content = null;
    148       this.algorithmCollectionView.Location = new System.Drawing.Point(6, 6);
     179      this.algorithmCollectionView.Location = new System.Drawing.Point(3, 3);
    149180      this.algorithmCollectionView.Name = "algorithmCollectionView";
    150181      this.algorithmCollectionView.ReadOnly = false;
    151       this.algorithmCollectionView.Size = new System.Drawing.Size(707, 368);
     182      this.algorithmCollectionView.Size = new System.Drawing.Size(713, 374);
    152183      this.algorithmCollectionView.TabIndex = 0;
    153184      //
    154       // dataTypesTabPage
    155       //
    156       this.dataTypesTabPage.Controls.Add(this.dataTypeCollectionView);
    157       this.dataTypesTabPage.Location = new System.Drawing.Point(4, 22);
    158       this.dataTypesTabPage.Name = "dataTypesTabPage";
    159       this.dataTypesTabPage.Padding = new System.Windows.Forms.Padding(3);
    160       this.dataTypesTabPage.Size = new System.Drawing.Size(719, 380);
    161       this.dataTypesTabPage.TabIndex = 3;
    162       this.dataTypesTabPage.Text = "Data Types";
    163       this.dataTypesTabPage.UseVisualStyleBackColor = true;
     185      // problemClassesTabPage
     186      //
     187      this.problemClassesTabPage.Controls.Add(this.problemClassCollectionView);
     188      this.problemClassesTabPage.Location = new System.Drawing.Point(4, 22);
     189      this.problemClassesTabPage.Name = "problemClassesTabPage";
     190      this.problemClassesTabPage.Size = new System.Drawing.Size(719, 380);
     191      this.problemClassesTabPage.TabIndex = 4;
     192      this.problemClassesTabPage.Text = "Problem Classes";
     193      this.problemClassesTabPage.UseVisualStyleBackColor = true;
     194      //
     195      // problemsTabPage
     196      //
     197      this.problemsTabPage.Controls.Add(this.problemCollectionView);
     198      this.problemsTabPage.Location = new System.Drawing.Point(4, 22);
     199      this.problemsTabPage.Name = "problemsTabPage";
     200      this.problemsTabPage.Size = new System.Drawing.Size(719, 380);
     201      this.problemsTabPage.TabIndex = 5;
     202      this.problemsTabPage.Text = "Problems";
     203      this.problemsTabPage.UseVisualStyleBackColor = true;
    164204      //
    165205      // refreshButton
    166206      //
    167       this.refreshButton.Image = ((System.Drawing.Image)(resources.GetObject("refreshButton.Image")));
     207      this.refreshButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Refresh;
    168208      this.refreshButton.Location = new System.Drawing.Point(0, 0);
    169209      this.refreshButton.Name = "refreshButton";
     
    174214      this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
    175215      //
    176       // dataTypeCollectionView
    177       //
    178       this.dataTypeCollectionView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    179                   | System.Windows.Forms.AnchorStyles.Left)
    180                   | System.Windows.Forms.AnchorStyles.Right)));
    181       this.dataTypeCollectionView.Caption = "DataTypeCollection View";
    182       this.dataTypeCollectionView.Content = null;
    183       this.dataTypeCollectionView.Location = new System.Drawing.Point(6, 6);
    184       this.dataTypeCollectionView.Name = "dataTypeCollectionView";
    185       this.dataTypeCollectionView.ReadOnly = false;
    186       this.dataTypeCollectionView.Size = new System.Drawing.Size(707, 368);
    187       this.dataTypeCollectionView.TabIndex = 0;
     216      // problemClassCollectionView
     217      //
     218      this.problemClassCollectionView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     219                  | System.Windows.Forms.AnchorStyles.Left)
     220                  | System.Windows.Forms.AnchorStyles.Right)));
     221      this.problemClassCollectionView.Caption = "ProblemClassCollection View";
     222      this.problemClassCollectionView.Content = null;
     223      this.problemClassCollectionView.Location = new System.Drawing.Point(3, 3);
     224      this.problemClassCollectionView.Name = "problemClassCollectionView";
     225      this.problemClassCollectionView.ReadOnly = false;
     226      this.problemClassCollectionView.Size = new System.Drawing.Size(713, 374);
     227      this.problemClassCollectionView.TabIndex = 0;
     228      //
     229      // problemCollectionView
     230      //
     231      this.problemCollectionView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     232                  | System.Windows.Forms.AnchorStyles.Left)
     233                  | System.Windows.Forms.AnchorStyles.Right)));
     234      this.problemCollectionView.Caption = "ProblemCollection View";
     235      this.problemCollectionView.Content = null;
     236      this.problemCollectionView.Location = new System.Drawing.Point(3, 3);
     237      this.problemCollectionView.Name = "problemCollectionView";
     238      this.problemCollectionView.ReadOnly = false;
     239      this.problemCollectionView.Size = new System.Drawing.Size(713, 374);
     240      this.problemCollectionView.TabIndex = 0;
    188241      //
    189242      // AdministratorView
     
    197250      this.tabControl.ResumeLayout(false);
    198251      this.platformsTabPage.ResumeLayout(false);
     252      this.dataTypesTabPage.ResumeLayout(false);
    199253      this.algorithmClassesTabPage.ResumeLayout(false);
    200254      this.algorithmsTabPage.ResumeLayout(false);
    201       this.dataTypesTabPage.ResumeLayout(false);
     255      this.problemClassesTabPage.ResumeLayout(false);
     256      this.problemsTabPage.ResumeLayout(false);
    202257      this.ResumeLayout(false);
    203258
     
    217272    private System.Windows.Forms.TabPage dataTypesTabPage;
    218273    private DataTypeCollectionView dataTypeCollectionView;
     274    private System.Windows.Forms.TabPage problemClassesTabPage;
     275    private System.Windows.Forms.TabPage problemsTabPage;
     276    private ProblemClassCollectionView problemClassCollectionView;
     277    private ProblemCollectionView problemCollectionView;
    219278
    220279  }
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/AdministratorView.cs

    r4466 r4481  
    5454      if (Content == null) {
    5555        platformCollectionView.Content = null;
     56        dataTypeCollectionView.Content = null;
    5657        algorithmClassCollectionView.Content = null;
    5758        algorithmCollectionView.Content = null;
    58         dataTypeCollectionView.Content = null;
     59        problemClassCollectionView.Content = null;
     60        problemCollectionView.Content = null;
    5961      } else {
    6062        platformCollectionView.Content = Content.Platforms;
     63        dataTypeCollectionView.Content = Content.DataTypes;
    6164        algorithmClassCollectionView.Content = Content.AlgorithmClasses;
    6265        algorithmCollectionView.Content = Content.Algorithms;
    63         dataTypeCollectionView.Content = Content.DataTypes;
     66        problemClassCollectionView.Content = Content.ProblemClasses;
     67        problemCollectionView.Content = Content.Problems;
    6468      }
    6569    }
     
    6973      refreshButton.Enabled = Content != null;
    7074      platformCollectionView.Enabled = Content != null;
     75      dataTypeCollectionView.Enabled = Content != null;
    7176      algorithmClassCollectionView.Enabled = Content != null;
    7277      algorithmCollectionView.Enabled = Content != null;
    73       dataTypeCollectionView.Enabled = Content != null;
     78      problemClassCollectionView.Enabled = Content != null;
     79      problemCollectionView.Enabled = Content != null;
    7480    }
    7581
     
    8894      } else {
    8995        platformCollectionView.Content = Content.Platforms;
     96        dataTypeCollectionView.Content = Content.DataTypes;
    9097        algorithmClassCollectionView.Content = Content.AlgorithmClasses;
    9198        algorithmCollectionView.Content = Content.Algorithms;
    92         dataTypeCollectionView.Content = Content.DataTypes;
     99        problemClassCollectionView.Content = Content.ProblemClasses;
     100        problemCollectionView.Content = Content.Problems;
    93101        refreshButton.Enabled = true;
    94102        tabControl.Enabled = true;
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/AlgorithmView.Designer.cs

    r4466 r4481  
    4545    /// </summary>
    4646    private void InitializeComponent() {
     47      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AlgorithmView));
    4748      this.platformLabel = new System.Windows.Forms.Label();
    4849      this.platformComboBox = new System.Windows.Forms.ComboBox();
     
    5556      this.refreshUsersButton = new System.Windows.Forms.Button();
    5657      this.dataTabPage = new System.Windows.Forms.TabPage();
    57       this.fileLabel = new System.Windows.Forms.Label();
    58       this.storeDataButton = new System.Windows.Forms.Button();
    59       this.fileTextBox = new System.Windows.Forms.TextBox();
    60       this.openFileButton = new System.Windows.Forms.Button();
    61       this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
    62       this.dataTypeLabel = new System.Windows.Forms.Label();
    63       this.dataTypeComboBox = new System.Windows.Forms.ComboBox();
     58      this.algorithmDataView = new HeuristicLab.Clients.OKB.AlgorithmDataView();
    6459      ((System.ComponentModel.ISupportInitialize)(this.modifiedPictureBox)).BeginInit();
    6560      this.tabControl.SuspendLayout();
     
    135130      this.usersListBox.Enabled = false;
    136131      this.usersListBox.FormattingEnabled = true;
    137       this.usersListBox.Location = new System.Drawing.Point(6, 35);
     132      this.usersListBox.Location = new System.Drawing.Point(6, 36);
    138133      this.usersListBox.Name = "usersListBox";
    139134      this.usersListBox.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple;
     
    170165      // storeUsersButton
    171166      //
    172       this.storeUsersButton.Location = new System.Drawing.Point(86, 6);
     167      this.storeUsersButton.Image = ((System.Drawing.Image)(resources.GetObject("storeUsersButton.Image")));
     168      this.storeUsersButton.Location = new System.Drawing.Point(36, 6);
    173169      this.storeUsersButton.Name = "storeUsersButton";
    174       this.storeUsersButton.Size = new System.Drawing.Size(75, 23);
     170      this.storeUsersButton.Size = new System.Drawing.Size(24, 24);
    175171      this.storeUsersButton.TabIndex = 1;
    176       this.storeUsersButton.Text = "&Store";
    177172      this.toolTip.SetToolTip(this.storeUsersButton, "Store Authorized Users");
    178173      this.storeUsersButton.UseVisualStyleBackColor = true;
     
    181176      // refreshUsersButton
    182177      //
     178      this.refreshUsersButton.Image = ((System.Drawing.Image)(resources.GetObject("refreshUsersButton.Image")));
    183179      this.refreshUsersButton.Location = new System.Drawing.Point(6, 6);
    184180      this.refreshUsersButton.Name = "refreshUsersButton";
    185       this.refreshUsersButton.Size = new System.Drawing.Size(75, 23);
     181      this.refreshUsersButton.Size = new System.Drawing.Size(24, 24);
    186182      this.refreshUsersButton.TabIndex = 0;
    187       this.refreshUsersButton.Text = "&Refresh";
    188183      this.toolTip.SetToolTip(this.refreshUsersButton, "Refresh Authorized Users");
    189184      this.refreshUsersButton.UseVisualStyleBackColor = true;
     
    192187      // dataTabPage
    193188      //
    194       this.dataTabPage.Controls.Add(this.dataTypeComboBox);
    195       this.dataTabPage.Controls.Add(this.openFileButton);
    196       this.dataTabPage.Controls.Add(this.fileTextBox);
    197       this.dataTabPage.Controls.Add(this.storeDataButton);
    198       this.dataTabPage.Controls.Add(this.dataTypeLabel);
    199       this.dataTabPage.Controls.Add(this.fileLabel);
     189      this.dataTabPage.Controls.Add(this.algorithmDataView);
    200190      this.dataTabPage.Location = new System.Drawing.Point(4, 22);
    201191      this.dataTabPage.Name = "dataTabPage";
     
    203193      this.dataTabPage.Size = new System.Drawing.Size(625, 266);
    204194      this.dataTabPage.TabIndex = 1;
    205       this.dataTabPage.Text = "Serialized Algorithm";
     195      this.dataTabPage.Text = "Platform-Specific Algorithm Data";
    206196      this.dataTabPage.UseVisualStyleBackColor = true;
    207197      //
    208       // fileLabel
    209       //
    210       this.fileLabel.AutoSize = true;
    211       this.fileLabel.Location = new System.Drawing.Point(6, 38);
    212       this.fileLabel.Name = "fileLabel";
    213       this.fileLabel.Size = new System.Drawing.Size(26, 13);
    214       this.fileLabel.TabIndex = 1;
    215       this.fileLabel.Text = "&File:";
    216       //
    217       // storeDataButton
    218       //
    219       this.storeDataButton.Enabled = false;
    220       this.storeDataButton.Location = new System.Drawing.Point(6, 6);
    221       this.storeDataButton.Name = "storeDataButton";
    222       this.storeDataButton.Size = new System.Drawing.Size(75, 23);
    223       this.storeDataButton.TabIndex = 0;
    224       this.storeDataButton.Text = "&Store";
    225       this.toolTip.SetToolTip(this.storeDataButton, "Store Serialized Algorithm");
    226       this.storeDataButton.UseVisualStyleBackColor = true;
    227       this.storeDataButton.Click += new System.EventHandler(this.storeDataButton_Click);
    228       //
    229       // fileTextBox
    230       //
    231       this.fileTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    232                   | System.Windows.Forms.AnchorStyles.Right)));
    233       this.fileTextBox.Location = new System.Drawing.Point(69, 35);
    234       this.fileTextBox.Name = "fileTextBox";
    235       this.fileTextBox.ReadOnly = true;
    236       this.fileTextBox.Size = new System.Drawing.Size(520, 20);
    237       this.fileTextBox.TabIndex = 2;
    238       //
    239       // openFileButton
    240       //
    241       this.openFileButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
    242       this.openFileButton.Location = new System.Drawing.Point(595, 32);
    243       this.openFileButton.Name = "openFileButton";
    244       this.openFileButton.Size = new System.Drawing.Size(24, 24);
    245       this.openFileButton.TabIndex = 3;
    246       this.openFileButton.Text = "...";
    247       this.openFileButton.UseVisualStyleBackColor = true;
    248       this.openFileButton.Click += new System.EventHandler(this.openFileButton_Click);
    249       //
    250       // openFileDialog
    251       //
    252       this.openFileDialog.FileName = "algorithm";
    253       this.openFileDialog.Filter = "All Files (*.*)|*.*";
    254       this.openFileDialog.Title = "Select Algorithm File";
    255       //
    256       // dataTypeLabel
    257       //
    258       this.dataTypeLabel.AutoSize = true;
    259       this.dataTypeLabel.Location = new System.Drawing.Point(6, 64);
    260       this.dataTypeLabel.Name = "dataTypeLabel";
    261       this.dataTypeLabel.Size = new System.Drawing.Size(57, 13);
    262       this.dataTypeLabel.TabIndex = 4;
    263       this.dataTypeLabel.Text = "&DataType:";
    264       //
    265       // dataTypeComboBox
    266       //
    267       this.dataTypeComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    268                   | System.Windows.Forms.AnchorStyles.Right)));
    269       this.dataTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
    270       this.dataTypeComboBox.FormattingEnabled = true;
    271       this.dataTypeComboBox.Location = new System.Drawing.Point(69, 61);
    272       this.dataTypeComboBox.Name = "dataTypeComboBox";
    273       this.dataTypeComboBox.Size = new System.Drawing.Size(550, 21);
    274       this.dataTypeComboBox.TabIndex = 5;
    275       this.dataTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.dataTypeComboBox_SelectedIndexChanged);
     198      // algorithmDataView
     199      //
     200      this.algorithmDataView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     201                  | System.Windows.Forms.AnchorStyles.Left)
     202                  | System.Windows.Forms.AnchorStyles.Right)));
     203      this.algorithmDataView.Caption = "AlgorithmData View";
     204      this.algorithmDataView.Content = null;
     205      this.algorithmDataView.Location = new System.Drawing.Point(6, 6);
     206      this.algorithmDataView.Name = "algorithmDataView";
     207      this.algorithmDataView.ReadOnly = false;
     208      this.algorithmDataView.Size = new System.Drawing.Size(613, 254);
     209      this.algorithmDataView.TabIndex = 0;
    276210      //
    277211      // AlgorithmView
     
    300234      this.usersTabPage.ResumeLayout(false);
    301235      this.dataTabPage.ResumeLayout(false);
    302       this.dataTabPage.PerformLayout();
    303236      this.ResumeLayout(false);
    304237      this.PerformLayout();
     
    318251    private System.Windows.Forms.Button refreshUsersButton;
    319252    private System.Windows.Forms.TabPage dataTabPage;
    320     private System.Windows.Forms.ComboBox dataTypeComboBox;
    321     private System.Windows.Forms.Button openFileButton;
    322     private System.Windows.Forms.TextBox fileTextBox;
    323     private System.Windows.Forms.Button storeDataButton;
    324     private System.Windows.Forms.Label dataTypeLabel;
    325     private System.Windows.Forms.Label fileLabel;
    326     private System.Windows.Forms.OpenFileDialog openFileDialog;
     253    private AlgorithmDataView algorithmDataView;
    327254
    328255  }
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/AlgorithmView.cs

    r4466 r4481  
    2626using HeuristicLab.MainForm;
    2727using HeuristicLab.MainForm.WindowsForms;
    28 using System.IO;
    2928
    3029namespace HeuristicLab.Clients.OKB {
     
    4544      platformComboBox.DataSource = Administrator.Instance.Platforms.ToList();
    4645      algorithmClassComboBox.DataSource = Administrator.Instance.AlgorithmClasses.ToList();
    47       dataTypeComboBox.DataSource = Administrator.Instance.DataTypes.ToList();
    4846    }
    4947
     
    6260        platformComboBox.SelectedIndex = -1;
    6361        algorithmClassComboBox.SelectedIndex = -1;
     62        algorithmDataView.AlgorithmId = 0;
    6463      } else {
    6564        platformComboBox.SelectedItem = Administrator.Instance.Platforms.FirstOrDefault(p => p.Id == Content.PlatformId);
    6665        algorithmClassComboBox.SelectedItem = Administrator.Instance.AlgorithmClasses.FirstOrDefault(a => a.Id == Content.AlgorithmClassId);
     66        algorithmDataView.AlgorithmId = Content.Id;
    6767      }
    6868      usersListBox.DataSource = null;
    69       fileTextBox.Text = "";
    70       dataTypeComboBox.SelectedIndex = -1;
     69      algorithmDataView.Content = null;
    7170    }
    7271
     
    7877      storeUsersButton.Enabled = usersListBox.DataSource != null;
    7978      usersListBox.Enabled = usersListBox.DataSource != null;
    80       storeDataButton.Enabled = !string.IsNullOrEmpty(fileTextBox.Text) && dataTypeComboBox.SelectedIndex != -1;
     79      algorithmDataView.Enabled = Content != null;
    8180    }
    8281
     
    119118    }
    120119    private void storeUsersButton_Click(object sender, System.EventArgs e) {
    121       if (Administrator.Instance.StoreAlgorithmUsers(Content.Id, usersListBox.SelectedItems.Cast<User>().Select(u => u.Id).ToArray()))
     120      if (Administrator.Instance.UpdateAlgorithmUsers(Content.Id, usersListBox.SelectedItems.Cast<User>().Select(u => u.Id).ToArray()))
    122121        storeUsersButton.Enabled = false;
    123122    }
     
    125124      storeUsersButton.Enabled = true;
    126125    }
    127 
    128     private void storeDataButton_Click(object sender, EventArgs e) {
    129       AlgorithmData data = new AlgorithmData();
    130       data.AlgorithmId = Content.Id;
    131       data.DataTypeId = ((DataType)dataTypeComboBox.SelectedItem).Id;
    132 
    133       using (FileStream stream = new FileStream(fileTextBox.Text, FileMode.Open, FileAccess.Read)) {
    134         byte[] bytes = new byte[stream.Length];
    135         stream.Read(bytes, 0, bytes.Length);
    136         stream.Close();
    137         data.Data = bytes;
    138       }
    139 
    140       if (Administrator.Instance.StoreAlgorithmData(data))
    141         storeDataButton.Enabled = false;
    142     }
    143     private void openFileButton_Click(object sender, EventArgs e) {
    144       if (openFileDialog.ShowDialog(this) == DialogResult.OK) {
    145         fileTextBox.Text = openFileDialog.FileName;
    146         storeDataButton.Enabled = true;
    147       }
    148     }
    149     private void dataTypeComboBox_SelectedIndexChanged(object sender, EventArgs e) {
    150       storeDataButton.Enabled = !string.IsNullOrEmpty(fileTextBox.Text);
    151     }
    152126  }
    153127}
  • branches/OKB/HeuristicLab.Clients.OKB-3.3/app.config

    r4466 r4481  
    1111                    allowCookies="false">
    1212                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="200000000"
    13                         maxBytesPerRead="4096" maxNameTableCharCount="16384" />
     13                        maxBytesPerRead="200000000" maxNameTableCharCount="16384" />
    1414                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
    1515                        enabled="false" />
  • branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml

    r4467 r4481  
    3030      <Column Name="ProblemClassId" Type="System.Int64" DbType="BigInt NOT NULL" CanBeNull="false" />
    3131      <Column Name="PlatformId" Type="System.Int64" DbType="BigInt NOT NULL" CanBeNull="false" />
    32       <Column Name="SolutionRepresentationId" Storage="_SolutionRepresentationid" Type="System.Int64" DbType="BigInt NOT NULL" CanBeNull="false" />
    3332      <Column Name="Name" Type="System.String" DbType="NVarChar(200) NOT NULL" CanBeNull="false" />
    3433      <Column Name="Description" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
  • branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml.layout

    r4467 r4481  
    2222      </nodes>
    2323    </associationConnector>
    24     <classShape Id="27d0903a-8f45-4b0b-8d0e-8d632bffc702" absoluteBounds="13.25, 2.125, 2, 1.9631982421875">
     24    <classShape Id="27d0903a-8f45-4b0b-8d0e-8d632bffc702" absoluteBounds="13.25, 2.125, 2, 1.7708968098958331">
    2525      <DataClassMoniker Name="/OKBDataContext/Problem" />
    2626      <nestedChildShapes>
    27         <elementListCompartment Id="9038b68e-8013-42c0-bba9-60a0b75fffd1" absoluteBounds="13.265, 2.585, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     27        <elementListCompartment Id="9038b68e-8013-42c0-bba9-60a0b75fffd1" absoluteBounds="13.265, 2.585, 1.9700000000000002, 1.2108968098958333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    2828      </nestedChildShapes>
    2929    </classShape>
     
    3434      </nestedChildShapes>
    3535    </classShape>
    36     <associationConnector edgePoints="[(14.25 : 1.8862939453125); (14.25 : 2.125)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     36    <associationConnector edgePoints="[(14.25 : 1.8862939453125); (14.25 : 2.125)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    3737      <AssociationMoniker Name="/OKBDataContext/ProblemClass/ProblemClass_Problem" />
    3838      <nodes>
     
    4747      </nestedChildShapes>
    4848    </classShape>
    49     <associationConnector edgePoints="[(13.25 : 3.70933229417067); (10.3177083333333 : 3.70933229417067 : JumpStart); (10.0755208333334 : 3.70933229417067 : JumpEnd); (9.39129711009978 : 3.70933229417067); (9.39129711009978 : 4.375)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
     49    <associationConnector edgePoints="[(13.25 : 3.73768854532225); (10.3177083333333 : 3.73768854532225 : JumpStart); (10.0755208333334 : 3.73768854532225 : JumpEnd); (9.39129711009978 : 3.73768854532225); (9.39129711009978 : 4.375)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Algorithm">
    5050      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_Experiment" />
    5151      <nodes>
     
    7373      </nestedChildShapes>
    7474    </classShape>
    75     <associationConnector edgePoints="[(14.25 : 4.0881982421875); (14.25 : 4.375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     75    <associationConnector edgePoints="[(14.25 : 3.89589680989583); (14.25 : 4.375)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    7676      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_ProblemParameter" />
    7777      <nodes>
     
    8686      </nestedChildShapes>
    8787    </classShape>
    88     <associationConnector edgePoints="[(4.75 : 2.35); (5 : 2.35)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
     88    <associationConnector edgePoints="[(4.75 : 2.35); (5 : 2.35)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
    8989      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_AlgorithmUser" />
    9090      <nodes>
     
    9999      </nestedChildShapes>
    100100    </classShape>
    101     <associationConnector edgePoints="[(13.25 : 2.35); (13 : 2.35)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
     101    <associationConnector edgePoints="[(13.25 : 2.32796054349691); (13.125 : 2.32796054349691); (13.125 : 2.35); (13 : 2.35)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
    102102      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_ProblemUser" />
    103103      <nodes>
     
    112112      </nestedChildShapes>
    113113    </classShape>
    114     <associationConnector edgePoints="[(8 : 2.85); (4.75 : 2.85)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     114    <associationConnector edgePoints="[(8 : 2.85); (4.75 : 2.85)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    115115      <AssociationMoniker Name="/OKBDataContext/Platform/Platform_Algorithm" />
    116116      <nodes>
     
    126126      </nodes>
    127127    </associationConnector>
    128     <associationConnector edgePoints="[(4.75 : 3.73206647840153); (7.58333333333334 : 3.73206647840152 : JumpStart); (7.75 : 3.73206647840153 : JumpEnd); (8.66439605504989 : 3.73206647840153); (8.66439605504989 : 4.375)]" fixedFrom="Caller" fixedTo="Algorithm">
     128    <associationConnector edgePoints="[(4.75 : 3.73206647840153); (7.58333333333334 : 3.73206647840153 : JumpStart); (7.75 : 3.73206647840153 : JumpEnd); (8.66439605504989 : 3.73206647840153); (8.66439605504989 : 4.375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    129129      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_Experiment" />
    130130      <nodes>
     
    361361      </nodes>
    362362    </associationConnector>
    363     <associationConnector edgePoints="[(13.25 : 4.6); (13 : 4.6)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     363    <associationConnector edgePoints="[(13.25 : 4.6); (13 : 4.6)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    364364      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterBlobValue" />
    365365      <nodes>
     
    617617      </nestedChildShapes>
    618618    </classShape>
    619     <associationConnector edgePoints="[(4.75 : 3.35); (5 : 3.35)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     619    <associationConnector edgePoints="[(4.75 : 3.35); (5 : 3.35)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    620620      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_AlgorithmData" />
    621621      <nodes>
     
    644644      </nodes>
    645645    </associationConnector>
    646     <associationConnector edgePoints="[(13.25 : 3.35); (13 : 3.35)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     646    <associationConnector edgePoints="[(13.25 : 3.27707098556576); (13 : 3.27707098556576)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    647647      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_ProblemData" />
    648648      <nodes>
  • branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/HeuristicLab.Services.OKB.DataTransfer-3.3.csproj

    r4467 r4481  
    5151    <Compile Include="Algorithm.cs" />
    5252    <Compile Include="AlgorithmData.cs" />
     53    <Compile Include="ProblemData.cs" />
     54    <Compile Include="Problem.cs" />
     55    <Compile Include="ProblemClass.cs" />
    5356    <Compile Include="DataType.cs" />
    5457    <Compile Include="User.cs" />
  • branches/OKB/HeuristicLab.Services.OKB/3.3/AdminService.cs

    r4467 r4481  
    4343      }
    4444    }
    45     public void StorePlatform(DataTransfer.Platform dto) {
     45    public long AddPlatform(DataTransfer.Platform dto) {
     46      using (OKBDataContext okb = new OKBDataContext()) {
     47        DataAccess.Platform entity = Convert.ToEntity(dto); entity.Id = 0;
     48        okb.Platforms.InsertOnSubmit(entity);
     49        okb.SubmitChanges();
     50        return entity.Id;
     51      }
     52    }
     53    public void UpdatePlatform(DataTransfer.Platform dto) {
    4654      using (OKBDataContext okb = new OKBDataContext()) {
    4755        DataAccess.Platform entity = okb.Platforms.FirstOrDefault(x => x.Id == dto.Id);
    48         if (entity == null) okb.Platforms.InsertOnSubmit(Convert.ToEntity(dto));
    49         else Convert.ToEntity(dto, entity);
     56        Convert.ToEntity(dto, entity);
    5057        okb.SubmitChanges();
    5158      }
     
    6067    #endregion
    6168
     69    #region DataType Methods
     70    public DataTransfer.DataType GetDataType(long id) {
     71      using (OKBDataContext okb = new OKBDataContext()) {
     72        return Convert.ToDto(okb.DataTypes.FirstOrDefault(x => x.Id == id));
     73      }
     74    }
     75    public IEnumerable<DataTransfer.DataType> GetDataTypes() {
     76      using (OKBDataContext okb = new OKBDataContext()) {
     77        return okb.DataTypes.Select(x => Convert.ToDto(x)).ToArray();
     78      }
     79    }
     80    public long AddDataType(DataTransfer.DataType dto) {
     81      using (OKBDataContext okb = new OKBDataContext()) {
     82        DataAccess.DataType entity = Convert.ToEntity(dto); entity.Id = 0;
     83        okb.DataTypes.InsertOnSubmit(entity);
     84        okb.SubmitChanges();
     85        return entity.Id;
     86      }
     87    }
     88    public void UpdateDataType(DataTransfer.DataType dto) {
     89      using (OKBDataContext okb = new OKBDataContext()) {
     90        DataAccess.DataType entity = okb.DataTypes.FirstOrDefault(x => x.Id == dto.Id);
     91        Convert.ToEntity(dto, entity);
     92        okb.SubmitChanges();
     93      }
     94    }
     95    public void DeleteDataType(long id) {
     96      using (OKBDataContext okb = new OKBDataContext()) {
     97        DataAccess.DataType entity = okb.DataTypes.FirstOrDefault(x => x.Id == id);
     98        if (entity != null) okb.DataTypes.DeleteOnSubmit(entity);
     99        okb.SubmitChanges();
     100      }
     101    }
     102    #endregion
     103
    62104    #region AlgorithmClass Methods
    63105    public DataTransfer.AlgorithmClass GetAlgorithmClass(long id) {
     
    71113      }
    72114    }
    73     public void StoreAlgorithmClass(DataTransfer.AlgorithmClass dto) {
     115    public long AddAlgorithmClass(DataTransfer.AlgorithmClass dto) {
     116      using (OKBDataContext okb = new OKBDataContext()) {
     117        DataAccess.AlgorithmClass entity = Convert.ToEntity(dto); entity.Id = 0;
     118        okb.AlgorithmClasses.InsertOnSubmit(entity);
     119        okb.SubmitChanges();
     120        return entity.Id;
     121      }
     122    }
     123    public void UpdateAlgorithmClass(DataTransfer.AlgorithmClass dto) {
    74124      using (OKBDataContext okb = new OKBDataContext()) {
    75125        DataAccess.AlgorithmClass entity = okb.AlgorithmClasses.FirstOrDefault(x => x.Id == dto.Id);
    76         if (entity == null) okb.AlgorithmClasses.InsertOnSubmit(Convert.ToEntity(dto));
    77         else Convert.ToEntity(dto, entity);
     126        Convert.ToEntity(dto, entity);
    78127        okb.SubmitChanges();
    79128      }
     
    99148      }
    100149    }
    101     public void StoreAlgorithm(DataTransfer.Algorithm dto) {
     150    public long AddAlgorithm(DataTransfer.Algorithm dto) {
     151      using (OKBDataContext okb = new OKBDataContext()) {
     152        DataAccess.Algorithm entity = Convert.ToEntity(dto); entity.Id = 0;
     153        okb.Algorithms.InsertOnSubmit(entity);
     154        okb.SubmitChanges();
     155        return entity.Id;
     156      }
     157    }
     158    public void UpdateAlgorithm(DataTransfer.Algorithm dto) {
    102159      using (OKBDataContext okb = new OKBDataContext()) {
    103160        DataAccess.Algorithm entity = okb.Algorithms.FirstOrDefault(x => x.Id == dto.Id);
    104         if (entity == null) okb.Algorithms.InsertOnSubmit(Convert.ToEntity(dto));
    105         else Convert.ToEntity(dto, entity);
     161        Convert.ToEntity(dto, entity);
    106162        okb.SubmitChanges();
    107163      }
     
    119175      }
    120176    }
    121     public void StoreAlgorithmUsers(long algorithmId, IEnumerable<Guid> users) {
     177    public void UpdateAlgorithmUsers(long algorithmId, IEnumerable<Guid> users) {
    122178      using (OKBDataContext okb = new OKBDataContext()) {
    123179        okb.AlgorithmUsers.DeleteAllOnSubmit(okb.AlgorithmUsers.Where(x => x.AlgorithmId == algorithmId));
     
    134190      }
    135191    }
    136     public void StoreAlgorithmData(DataTransfer.AlgorithmData dto) {
     192    public void UpdateAlgorithmData(DataTransfer.AlgorithmData dto) {
    137193      using (OKBDataContext okb = new OKBDataContext()) {
    138194        DataAccess.AlgorithmData entity = okb.AlgorithmDatas.FirstOrDefault(x => x.AlgorithmId == dto.AlgorithmId);
     
    144200    #endregion
    145201
    146     #region DataType Methods
    147     public DataTransfer.DataType GetDataType(long id) {
    148       using (OKBDataContext okb = new OKBDataContext()) {
    149         return Convert.ToDto(okb.DataTypes.FirstOrDefault(x => x.Id == id));
    150       }
    151     }
    152     public IEnumerable<DataTransfer.DataType> GetDataTypes() {
    153       using (OKBDataContext okb = new OKBDataContext()) {
    154         return okb.DataTypes.Select(x => Convert.ToDto(x)).ToArray();
    155       }
    156     }
    157     public void StoreDataType(DataTransfer.DataType dto) {
    158       using (OKBDataContext okb = new OKBDataContext()) {
    159         DataAccess.DataType entity = okb.DataTypes.FirstOrDefault(x => x.Id == dto.Id);
    160         if (entity == null) okb.DataTypes.InsertOnSubmit(Convert.ToEntity(dto));
     202    #region ProblemClass Methods
     203    public DataTransfer.ProblemClass GetProblemClass(long id) {
     204      using (OKBDataContext okb = new OKBDataContext()) {
     205        return Convert.ToDto(okb.ProblemClasses.FirstOrDefault(x => x.Id == id));
     206      }
     207    }
     208    public IEnumerable<DataTransfer.ProblemClass> GetProblemClasses() {
     209      using (OKBDataContext okb = new OKBDataContext()) {
     210        return okb.ProblemClasses.Select(x => Convert.ToDto(x)).ToArray();
     211      }
     212    }
     213    public long AddProblemClass(DataTransfer.ProblemClass dto) {
     214      using (OKBDataContext okb = new OKBDataContext()) {
     215        DataAccess.ProblemClass entity = Convert.ToEntity(dto); entity.Id = 0;
     216        okb.ProblemClasses.InsertOnSubmit(entity);
     217        okb.SubmitChanges();
     218        return entity.Id;
     219      }
     220    }
     221    public void UpdateProblemClass(DataTransfer.ProblemClass dto) {
     222      using (OKBDataContext okb = new OKBDataContext()) {
     223        DataAccess.ProblemClass entity = okb.ProblemClasses.FirstOrDefault(x => x.Id == dto.Id);
     224        Convert.ToEntity(dto, entity);
     225        okb.SubmitChanges();
     226      }
     227    }
     228    public void DeleteProblemClass(long id) {
     229      using (OKBDataContext okb = new OKBDataContext()) {
     230        DataAccess.ProblemClass entity = okb.ProblemClasses.FirstOrDefault(x => x.Id == id);
     231        if (entity != null) okb.ProblemClasses.DeleteOnSubmit(entity);
     232        okb.SubmitChanges();
     233      }
     234    }
     235    #endregion
     236
     237    #region Problem Methods
     238    public DataTransfer.Problem GetProblem(long id) {
     239      using (OKBDataContext okb = new OKBDataContext()) {
     240        return Convert.ToDto(okb.Problems.FirstOrDefault(x => x.Id == id));
     241      }
     242    }
     243    public IEnumerable<DataTransfer.Problem> GetProblems() {
     244      using (OKBDataContext okb = new OKBDataContext()) {
     245        return okb.Problems.Select(x => Convert.ToDto(x)).ToArray();
     246      }
     247    }
     248    public long AddProblem(DataTransfer.Problem dto) {
     249      using (OKBDataContext okb = new OKBDataContext()) {
     250        DataAccess.Problem entity = Convert.ToEntity(dto); entity.Id = 0;
     251        okb.Problems.InsertOnSubmit(entity);
     252        okb.SubmitChanges();
     253        return entity.Id;
     254      }
     255    }
     256    public void UpdateProblem(DataTransfer.Problem dto) {
     257      using (OKBDataContext okb = new OKBDataContext()) {
     258        DataAccess.Problem entity = okb.Problems.FirstOrDefault(x => x.Id == dto.Id);
     259        Convert.ToEntity(dto, entity);
     260        okb.SubmitChanges();
     261      }
     262    }
     263    public void DeleteProblem(long id) {
     264      using (OKBDataContext okb = new OKBDataContext()) {
     265        DataAccess.Problem entity = okb.Problems.FirstOrDefault(x => x.Id == id);
     266        if (entity != null) okb.Problems.DeleteOnSubmit(entity);
     267        okb.SubmitChanges();
     268      }
     269    }
     270    public IEnumerable<Guid> GetProblemUsers(long problemId) {
     271      using (OKBDataContext okb = new OKBDataContext()) {
     272        return okb.ProblemUsers.Where(x => x.ProblemId == problemId).Select(x => x.UserId).ToArray();
     273      }
     274    }
     275    public void UpdateProblemUsers(long problemId, IEnumerable<Guid> users) {
     276      using (OKBDataContext okb = new OKBDataContext()) {
     277        okb.ProblemUsers.DeleteAllOnSubmit(okb.ProblemUsers.Where(x => x.ProblemId == problemId));
     278        okb.ProblemUsers.InsertAllOnSubmit(users.Select(x => new DataAccess.ProblemUser { ProblemId = problemId, UserId = x }));
     279        okb.SubmitChanges();
     280      }
     281    }
     282    #endregion
     283
     284    #region ProblemData Methods
     285    public DataTransfer.ProblemData GetProblemData(long problemId) {
     286      using (OKBDataContext okb = new OKBDataContext()) {
     287        return Convert.ToDto(okb.ProblemDatas.FirstOrDefault(x => x.ProblemId == problemId));
     288      }
     289    }
     290    public void UpdateProblemData(DataTransfer.ProblemData dto) {
     291      using (OKBDataContext okb = new OKBDataContext()) {
     292        DataAccess.ProblemData entity = okb.ProblemDatas.FirstOrDefault(x => x.ProblemId == dto.ProblemId);
     293        if (entity == null) okb.ProblemDatas.InsertOnSubmit(Convert.ToEntity(dto));
    161294        else Convert.ToEntity(dto, entity);
    162         okb.SubmitChanges();
    163       }
    164     }
    165     public void DeleteDataType(long id) {
    166       using (OKBDataContext okb = new OKBDataContext()) {
    167         DataAccess.DataType entity = okb.DataTypes.FirstOrDefault(x => x.Id == id);
    168         if (entity != null) okb.DataTypes.DeleteOnSubmit(entity);
    169295        okb.SubmitChanges();
    170296      }
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Convert.cs

    r4467 r4481  
    2828    #region Platform
    2929    public static DT.Platform ToDto(DA.Platform source) {
     30      if (source == null) return null;
    3031      return new DT.Platform { Id = source.Id, Name = source.Name, Description = source.Description };
    3132    }
    3233    public static DA.Platform ToEntity(DT.Platform source) {
     34      if (source == null) return null;
    3335      return new DA.Platform { Id = source.Id, Name = source.Name, Description = source.Description };
    3436    }
    3537    public static void ToEntity(DT.Platform source, DA.Platform target) {
    36       target.Id = source.Id; target.Name = source.Name; target.Description = source.Description;
     38      if ((source != null) && (target != null))
     39        target.Id = source.Id; target.Name = source.Name; target.Description = source.Description;
     40    }
     41    #endregion
     42
     43    #region DataType
     44    public static DT.DataType ToDto(DA.DataType source) {
     45      if (source == null) return null;
     46      return new DT.DataType { Id = source.Id, Name = source.Name, SqlName = source.SqlName, PlatformId = source.PlatformId };
     47    }
     48    public static DA.DataType ToEntity(DT.DataType source) {
     49      if (source == null) return null;
     50      return new DA.DataType { Id = source.Id, Name = source.Name, SqlName = source.SqlName, PlatformId = source.PlatformId };
     51    }
     52    public static void ToEntity(DT.DataType source, DA.DataType target) {
     53      if ((source != null) && (target != null))
     54        target.Id = source.Id; target.Name = source.Name; target.SqlName = source.SqlName; target.PlatformId = source.PlatformId;
    3755    }
    3856    #endregion
     
    4058    #region AlgorithmClass
    4159    public static DT.AlgorithmClass ToDto(DA.AlgorithmClass source) {
     60      if (source == null) return null;
    4261      return new DT.AlgorithmClass { Id = source.Id, Name = source.Name, Description = source.Description };
    4362    }
    4463    public static DA.AlgorithmClass ToEntity(DT.AlgorithmClass source) {
     64      if (source == null) return null;
    4565      return new DA.AlgorithmClass { Id = source.Id, Name = source.Name, Description = source.Description };
    4666    }
    4767    public static void ToEntity(DT.AlgorithmClass source, DA.AlgorithmClass target) {
    48       target.Id = source.Id; target.Name = source.Name; target.Description = source.Description;
     68      if ((source != null) && (target != null))
     69        target.Id = source.Id; target.Name = source.Name; target.Description = source.Description;
    4970    }
    5071    #endregion
     
    5273    #region Algorithm
    5374    public static DT.Algorithm ToDto(DA.Algorithm source) {
     75      if (source == null) return null;
    5476      return new DT.Algorithm { Id = source.Id, Name = source.Name, Description = source.Description, PlatformId = source.PlatformId, AlgorithmClassId = source.AlgorithmClassId };
    5577    }
    5678    public static DA.Algorithm ToEntity(DT.Algorithm source) {
     79      if (source == null) return null;
    5780      return new DA.Algorithm { Id = source.Id, Name = source.Name, Description = source.Description, PlatformId = source.PlatformId, AlgorithmClassId = source.AlgorithmClassId };
    5881    }
    5982    public static void ToEntity(DT.Algorithm source, DA.Algorithm target) {
    60       target.Id = source.Id; target.Name = source.Name; target.Description = source.Description; target.PlatformId = source.PlatformId; target.AlgorithmClassId = source.AlgorithmClassId;
     83      if ((source != null) && (target != null))
     84        target.Id = source.Id; target.Name = source.Name; target.Description = source.Description; target.PlatformId = source.PlatformId; target.AlgorithmClassId = source.AlgorithmClassId;
    6185    }
    6286    #endregion
     
    6488    #region AlgorithmData
    6589    public static DT.AlgorithmData ToDto(DA.AlgorithmData source) {
     90      if (source == null) return null;
    6691      return new DT.AlgorithmData { AlgorithmId = source.AlgorithmId, DataTypeId = source.DataTypeId, Data = source.Data.ToArray() };
    6792    }
    6893    public static DA.AlgorithmData ToEntity(DT.AlgorithmData source) {
     94      if (source == null) return null;
    6995      return new DA.AlgorithmData { AlgorithmId = source.AlgorithmId, DataTypeId = source.DataTypeId, Data = new Binary(source.Data) };
    7096    }
    7197    public static void ToEntity(DT.AlgorithmData source, DA.AlgorithmData target) {
    72       target.AlgorithmId = source.AlgorithmId; target.DataTypeId = source.DataTypeId; target.Data = new Binary(source.Data);
     98      if ((source != null) && (target != null))
     99        target.AlgorithmId = source.AlgorithmId; target.DataTypeId = source.DataTypeId; target.Data = new Binary(source.Data);
    73100    }
    74101    #endregion
    75102
    76     #region DataType
    77     public static DT.DataType ToDto(DA.DataType source) {
    78       return new DT.DataType { Id = source.Id, Name = source.Name, SqlName = source.SqlName, PlatformId = source.PlatformId };
     103    #region ProblemClass
     104    public static DT.ProblemClass ToDto(DA.ProblemClass source) {
     105      if (source == null) return null;
     106      return new DT.ProblemClass { Id = source.Id, Name = source.Name, Description = source.Description };
    79107    }
    80     public static DA.DataType ToEntity(DT.DataType source) {
    81       return new DA.DataType { Id = source.Id, Name = source.Name, SqlName = source.SqlName, PlatformId = source.PlatformId };
     108    public static DA.ProblemClass ToEntity(DT.ProblemClass source) {
     109      if (source == null) return null;
     110      return new DA.ProblemClass { Id = source.Id, Name = source.Name, Description = source.Description };
    82111    }
    83     public static void ToEntity(DT.DataType source, DA.DataType target) {
    84       target.Id = source.Id; target.Name = source.Name; target.SqlName = source.SqlName; target.PlatformId = source.PlatformId;
     112    public static void ToEntity(DT.ProblemClass source, DA.ProblemClass target) {
     113      if ((source != null) && (target != null))
     114        target.Id = source.Id; target.Name = source.Name; target.Description = source.Description;
     115    }
     116    #endregion
     117
     118    #region Algorithm
     119    public static DT.Problem ToDto(DA.Problem source) {
     120      if (source == null) return null;
     121      return new DT.Problem { Id = source.Id, Name = source.Name, Description = source.Description, PlatformId = source.PlatformId, ProblemClassId = source.ProblemClassId };
     122    }
     123    public static DA.Problem ToEntity(DT.Problem source) {
     124      if (source == null) return null;
     125      return new DA.Problem { Id = source.Id, Name = source.Name, Description = source.Description, PlatformId = source.PlatformId, ProblemClassId = source.ProblemClassId };
     126    }
     127    public static void ToEntity(DT.Problem source, DA.Problem target) {
     128      if ((source != null) && (target != null))
     129        target.Id = source.Id; target.Name = source.Name; target.Description = source.Description; target.PlatformId = source.PlatformId; target.ProblemClassId = source.ProblemClassId;
     130    }
     131    #endregion
     132
     133    #region ProblemData
     134    public static DT.ProblemData ToDto(DA.ProblemData source) {
     135      if (source == null) return null;
     136      return new DT.ProblemData { ProblemId = source.ProblemId, DataTypeId = source.DataTypeId, Data = source.Data.ToArray() };
     137    }
     138    public static DA.ProblemData ToEntity(DT.ProblemData source) {
     139      if (source == null) return null;
     140      return new DA.ProblemData { ProblemId = source.ProblemId, DataTypeId = source.DataTypeId, Data = new Binary(source.Data) };
     141    }
     142    public static void ToEntity(DT.ProblemData source, DA.ProblemData target) {
     143      if ((source != null) && (target != null))
     144        target.ProblemId = source.ProblemId; target.DataTypeId = source.DataTypeId; target.Data = new Binary(source.Data);
    85145    }
    86146    #endregion
  • branches/OKB/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj

    r4480 r4481  
    149149      <FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}">
    150150        <WcfProjectProperties>
    151           <AutoStart>True</AutoStart>
     151          <AutoStart>False</AutoStart>
    152152        </WcfProjectProperties>
    153153      </FlavorProperties>
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Interfaces/IAdminService.cs

    r4467 r4481  
    3838    IEnumerable<Platform> GetPlatforms();
    3939    [OperationContract]
    40     void StorePlatform(Platform dto);
     40    long AddPlatform(Platform dto);
     41    [OperationContract]
     42    void UpdatePlatform(Platform dto);
    4143    [OperationContract]
    4244    void DeletePlatform(long id);
     45    #endregion
     46
     47    #region DataType Methods
     48    [OperationContract]
     49    DataType GetDataType(long id);
     50    [OperationContract]
     51    IEnumerable<DataType> GetDataTypes();
     52    [OperationContract]
     53    long AddDataType(DataType dto);
     54    [OperationContract]
     55    void UpdateDataType(DataType dto);
     56    [OperationContract]
     57    void DeleteDataType(long id);
    4358    #endregion
    4459
     
    4964    IEnumerable<AlgorithmClass> GetAlgorithmClasses();
    5065    [OperationContract]
    51     void StoreAlgorithmClass(AlgorithmClass dto);
     66    long AddAlgorithmClass(AlgorithmClass dto);
     67    [OperationContract]
     68    void UpdateAlgorithmClass(AlgorithmClass dto);
    5269    [OperationContract]
    5370    void DeleteAlgorithmClass(long id);
     
    6077    IEnumerable<Algorithm> GetAlgorithms();
    6178    [OperationContract]
    62     void StoreAlgorithm(Algorithm dto);
     79    long AddAlgorithm(Algorithm dto);
     80    [OperationContract]
     81    void UpdateAlgorithm(Algorithm dto);
    6382    [OperationContract]
    6483    void DeleteAlgorithm(long id);
     
    6685    IEnumerable<Guid> GetAlgorithmUsers(long algorithmId);
    6786    [OperationContract]
    68     void StoreAlgorithmUsers(long algorithmId, IEnumerable<Guid> users);
     87    void UpdateAlgorithmUsers(long algorithmId, IEnumerable<Guid> users);
    6988    #endregion
    7089
     
    7392    AlgorithmData GetAlgorithmData(long algorithmId);
    7493    [OperationContract]
    75     void StoreAlgorithmData(AlgorithmData dto);
     94    void UpdateAlgorithmData(AlgorithmData dto);
    7695    #endregion
    7796
    78     #region DataType Methods
     97    #region ProblemClass Methods
    7998    [OperationContract]
    80     DataType GetDataType(long id);
     99    ProblemClass GetProblemClass(long id);
    81100    [OperationContract]
    82     IEnumerable<DataType> GetDataTypes();
     101    IEnumerable<ProblemClass> GetProblemClasses();
    83102    [OperationContract]
    84     void StoreDataType(DataType dto);
     103    long AddProblemClass(ProblemClass dto);
    85104    [OperationContract]
    86     void DeleteDataType(long id);
     105    void UpdateProblemClass(ProblemClass dto);
     106    [OperationContract]
     107    void DeleteProblemClass(long id);
     108    #endregion
     109
     110    #region Problem Methods
     111    [OperationContract]
     112    Problem GetProblem(long id);
     113    [OperationContract]
     114    IEnumerable<Problem> GetProblems();
     115    [OperationContract]
     116    long AddProblem(Problem dto);
     117    [OperationContract]
     118    void UpdateProblem(Problem dto);
     119    [OperationContract]
     120    void DeleteProblem(long id);
     121    [OperationContract]
     122    IEnumerable<Guid> GetProblemUsers(long problemId);
     123    [OperationContract]
     124    void UpdateProblemUsers(long problemId, IEnumerable<Guid> users);
     125    #endregion
     126
     127    #region ProblemData Methods
     128    [OperationContract]
     129    ProblemData GetProblemData(long problemId);
     130    [OperationContract]
     131    void UpdateProblemData(ProblemData dto);
    87132    #endregion
    88133  }
Note: See TracChangeset for help on using the changeset viewer.