Index: /trunk/sources/HeuristicLab.DataAccess.ADOHelper/CachedDataAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataAccess.ADOHelper/CachedDataAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.DataAccess.ADOHelper/CachedDataAdapter.cs	(revision 1449)
@@ -145,5 +145,5 @@
     protected abstract bool PutInCache(ObjT obj);
 
-    protected abstract RowT FindCachedById(long id);
+    protected abstract RowT FindCachedById(Guid id);
 
     public void SyncWithDb() {
@@ -169,5 +169,5 @@
         cacheLock.EnterReadLock();
 
-        bool cached = FindCachedById((long)row[row.Table.PrimaryKey[0]]) != null;
+        bool cached = FindCachedById((Guid)row[row.Table.PrimaryKey[0]]) != null;
 
         cacheLock.ExitReadLock();
@@ -177,5 +177,5 @@
     }
 
-    protected override RowT GetRowById(long id) {
+    protected override RowT GetRowById(Guid id) {
       cacheLock.EnterReadLock();
 
@@ -227,11 +227,13 @@
       if (obj != null) {
         RowT row = null;
-        long locked = default(long);
-
-        if (obj.Id != default(long)) {
+        Guid locked = Guid.Empty;
+
+        if (obj.Id != Guid.Empty) {
           LockRow(obj.Id);
           locked = obj.Id;
 
           row = GetRowById(obj.Id);
+        } else {
+          obj.Id = Guid.NewGuid();
         }
 
@@ -241,11 +243,10 @@
           } else {
             row = InsertNewRow(obj);
+            UpdateRow(row);
           }
-
-          UpdateRow(row);
-          obj.Id = (long)row[row.Table.PrimaryKey[0]];
-        }
-
-        if (locked == default(long)) {
+        }
+
+        if (locked == Guid.Empty)
+        {
           LockRow(obj.Id);
           locked = obj.Id;
Index: /trunk/sources/HeuristicLab.DataAccess.ADOHelper/DataAdapterBase.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataAccess.ADOHelper/DataAdapterBase.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.DataAccess.ADOHelper/DataAdapterBase.cs	(revision 1449)
@@ -92,5 +92,5 @@
     protected abstract void UpdateRow(RowT row);
 
-    protected abstract IEnumerable<RowT> FindById(long id);
+    protected abstract IEnumerable<RowT> FindById(Guid id);
 
     protected abstract IEnumerable<RowT> FindAll();
@@ -154,5 +154,5 @@
     }
 
-    protected virtual RowT GetRowById(long id) {
+    protected virtual RowT GetRowById(Guid id) {
       return FindSingleRow(
         delegate() {
@@ -164,21 +164,21 @@
       if (obj != null) {
         RowT row = null;
-        long locked = default(long);
-        
-        if (obj.Id != default(long)) {
-           LockRow(obj.Id);
-           locked = obj.Id;
-
-           row = GetRowById(obj.Id);
-        }          
+        Guid locked = Guid.Empty;
+
+        if (obj.Id != Guid.Empty) {
+          LockRow(obj.Id);
+          locked = obj.Id;
+
+          row = GetRowById(obj.Id);
+        } else {
+          obj.Id = Guid.NewGuid();
+        }
 
         if (row == null) {
           row = InsertNewRow(obj);
           UpdateRow(row);
-
-          obj.Id = (long)row[row.Table.PrimaryKey[0]];
-        }
-
-        if (locked == default(long)) {
+        }
+
+        if (locked == Guid.Empty) {
           LockRow(obj.Id);
           locked = obj.Id;
@@ -192,5 +192,5 @@
     }
 
-    public virtual ObjT GetById(long id) {
+    public virtual ObjT GetById(Guid id) {
       return FindSingle(delegate() {
         return FindById(id);
Index: /trunk/sources/HeuristicLab.DataAccess/Interfaces/IDataAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataAccess/Interfaces/IDataAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.DataAccess/Interfaces/IDataAdapter.cs	(revision 1449)
@@ -39,5 +39,5 @@
     /// <param name="userId"></param>
     /// <returns></returns>
-    ObjT GetById(long id);
+    ObjT GetById(Guid id);
 
     /// <summary>
Index: /trunk/sources/HeuristicLab.DataAccess/Interfaces/IPersistableObject.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataAccess/Interfaces/IPersistableObject.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.DataAccess/Interfaces/IPersistableObject.cs	(revision 1449)
@@ -26,5 +26,5 @@
 namespace HeuristicLab.DataAccess.Interfaces {
   public interface IPersistableObject {
-    long Id { get; set;  }
+    Guid Id { get; set;  }
   }
 }
Index: /trunk/sources/HeuristicLab.DataAccess/PersistableObject.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataAccess/PersistableObject.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.DataAccess/PersistableObject.cs	(revision 1449)
@@ -30,5 +30,5 @@
   public class PersistableObject: IPersistableObject {
     [DataMember]
-    public long Id { get; set; }
+      public Guid Id { get; set; }
 
     public override bool Equals(object obj) {
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/HeuristicLab.Hive.Client.Communication.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/HeuristicLab.Hive.Client.Communication.csproj	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/HeuristicLab.Hive.Client.Communication.csproj	(revision 1449)
@@ -124,6 +124,6 @@
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponsePlugin.datasource" />
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseResultReceived.datasource" />
-    <None Include="Service References\ServerService\Arrays.xsd" />
-    <None Include="Service References\ServerService\HeuristicLab.DataAccess.xsd" />
+    <None Include="Service References\ServerService\Arrays1.xsd" />
+    <None Include="Service References\ServerService\HeuristicLab.DataAccess1.xsd" />
     <None Include="Service References\ServerService\HeuristicLab.Hive.Contracts.BusinessObjects1.xsd" />
     <None Include="Service References\ServerService\HeuristicLab.Hive.Contracts1.xsd" />
Index: unk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Arrays.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Arrays.xsd	(revision 1448)
+++ 	(revision )
@@ -1,27 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <xs:complexType name="ArrayOfKeyValueOflongdouble">
-    <xs:annotation>
-      <xs:appinfo>
-        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
-      </xs:appinfo>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOflongdouble">
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="Key" type="xs:long" />
-            <xs:element name="Value" type="xs:double" />
-          </xs:sequence>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:element name="ArrayOfKeyValueOflongdouble" nillable="true" type="tns:ArrayOfKeyValueOflongdouble" />
-  <xs:complexType name="ArrayOfstring">
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string" />
-    </xs:sequence>
-  </xs:complexType>
-  <xs:element name="ArrayOfstring" nillable="true" type="tns:ArrayOfstring" />
-</xs:schema>
Index: unk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.DataAccess.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.DataAccess.xsd	(revision 1448)
+++ 	(revision )
@@ -1,9 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <xs:complexType name="PersistableObject">
-    <xs:sequence>
-      <xs:element minOccurs="0" name="Id" type="xs:long" />
-    </xs:sequence>
-  </xs:complexType>
-  <xs:element name="PersistableObject" nillable="true" type="tns:PersistableObject" />
-</xs:schema>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects1.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects1.xsd	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects1.xsd	(revision 1449)
@@ -1,6 +1,6 @@
 ﻿<?xml version="1.0" encoding="utf-8"?>
 <xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" />
   <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
-  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" />
   <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
   <xs:complexType name="ClientInfo">
@@ -8,6 +8,4 @@
       <xs:extension base="tns:Resource">
         <xs:sequence>
-          <xs:element minOccurs="0" name="ClientId" type="ser:guid" />
-          <xs:element minOccurs="0" name="ClientInfoId" type="xs:long" />
           <xs:element minOccurs="0" name="Config" nillable="true" type="tns:ClientConfig" />
           <xs:element minOccurs="0" name="CpuSpeedPerCore" type="xs:int" />
@@ -57,5 +55,5 @@
       <xs:element minOccurs="0" name="FreeCores" type="xs:int" />
       <xs:element minOccurs="0" name="FreeMemory" type="xs:int" />
-      <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="JobProgress" nillable="true" type="q3:ArrayOfKeyValueOflongdouble" />
+      <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="JobProgress" nillable="true" type="q3:ArrayOfKeyValueOfguiddouble" />
     </xs:sequence>
   </xs:complexType>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts1.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts1.xsd	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts1.xsd	(revision 1449)
@@ -1,4 +1,5 @@
 ﻿<?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
   <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
   <xs:complexType name="Response">
@@ -27,5 +28,5 @@
   <xs:complexType name="MessageContainer">
     <xs:sequence>
-      <xs:element name="_x003C_JobId_x003E_k__BackingField" type="xs:long" />
+      <xs:element name="_x003C_JobId_x003E_k__BackingField" type="ser:guid" />
       <xs:element name="_x003C_Message_x003E_k__BackingField" type="tns:MessageContainer.MessageType" />
     </xs:sequence>
@@ -59,5 +60,5 @@
       <xs:extension base="tns:Response">
         <xs:sequence>
-          <xs:element minOccurs="0" name="JobId" type="xs:long" />
+          <xs:element minOccurs="0" name="JobId" type="ser:guid" />
           <xs:element minOccurs="0" name="finished" type="xs:boolean" />
         </xs:sequence>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.cs	(revision 1449)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:2.0.50727.3053
+//     Runtime Version:2.0.50727.3082
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -45,16 +45,16 @@
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/StoreFinishedJobResult", ReplyAction="http://tempuri.org/IClientCommunicator/StoreFinishedJobResultResponse")]
-        HeuristicLab.Hive.Contracts.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception);
+        HeuristicLab.Hive.Contracts.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception);
         
         [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/StoreFinishedJobResult", ReplyAction="http://tempuri.org/IClientCommunicator/StoreFinishedJobResultResponse")]
-        System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, System.AsyncCallback callback, object asyncState);
+        System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception, System.AsyncCallback callback, object asyncState);
         
         HeuristicLab.Hive.Contracts.ResponseResultReceived EndStoreFinishedJobResult(System.IAsyncResult result);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/ProcessSnapshot", ReplyAction="http://tempuri.org/IClientCommunicator/ProcessSnapshotResponse")]
-        HeuristicLab.Hive.Contracts.ResponseResultReceived ProcessSnapshot(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception);
+        HeuristicLab.Hive.Contracts.ResponseResultReceived ProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception);
         
         [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/ProcessSnapshot", ReplyAction="http://tempuri.org/IClientCommunicator/ProcessSnapshotResponse")]
-        System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, System.AsyncCallback callback, object asyncState);
+        System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception, System.AsyncCallback callback, object asyncState);
         
         HeuristicLab.Hive.Contracts.ResponseResultReceived EndProcessSnapshot(System.IAsyncResult result);
@@ -77,8 +77,8 @@
         [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseResultReceived))]
         [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponsePlugin))]
-        HeuristicLab.Hive.Contracts.Response IsJobStillNeeded(long jobId);
+        HeuristicLab.Hive.Contracts.Response IsJobStillNeeded(System.Guid jobId);
         
         [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/IsJobStillNeeded", ReplyAction="http://tempuri.org/IClientCommunicator/IsJobStillNeededResponse")]
-        System.IAsyncResult BeginIsJobStillNeeded(long jobId, System.AsyncCallback callback, object asyncState);
+        System.IAsyncResult BeginIsJobStillNeeded(System.Guid jobId, System.AsyncCallback callback, object asyncState);
         
         HeuristicLab.Hive.Contracts.Response EndIsJobStillNeeded(System.IAsyncResult result);
@@ -486,10 +486,10 @@
         }
         
-        public HeuristicLab.Hive.Contracts.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception) {
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception) {
             return base.Channel.StoreFinishedJobResult(clientId, jobId, result, percentage, exception);
         }
         
         [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-        public System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, System.AsyncCallback callback, object asyncState) {
+        public System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception, System.AsyncCallback callback, object asyncState) {
             return base.Channel.BeginStoreFinishedJobResult(clientId, jobId, result, percentage, exception, callback, asyncState);
         }
@@ -502,5 +502,5 @@
         private System.IAsyncResult OnBeginStoreFinishedJobResult(object[] inValues, System.AsyncCallback callback, object asyncState) {
             System.Guid clientId = ((System.Guid)(inValues[0]));
-            long jobId = ((long)(inValues[1]));
+            System.Guid jobId = ((System.Guid)(inValues[1]));
             byte[] result = ((byte[])(inValues[2]));
             double percentage = ((double)(inValues[3]));
@@ -522,9 +522,9 @@
         }
         
-        public void StoreFinishedJobResultAsync(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception) {
+        public void StoreFinishedJobResultAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception) {
             this.StoreFinishedJobResultAsync(clientId, jobId, result, percentage, exception, null);
         }
         
-        public void StoreFinishedJobResultAsync(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, object userState) {
+        public void StoreFinishedJobResultAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception, object userState) {
             if ((this.onBeginStoreFinishedJobResultDelegate == null)) {
                 this.onBeginStoreFinishedJobResultDelegate = new BeginOperationDelegate(this.OnBeginStoreFinishedJobResult);
@@ -544,10 +544,10 @@
         }
         
-        public HeuristicLab.Hive.Contracts.ResponseResultReceived ProcessSnapshot(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception) {
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived ProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception) {
             return base.Channel.ProcessSnapshot(clientId, jobId, result, percentage, exception);
         }
         
         [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-        public System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, System.AsyncCallback callback, object asyncState) {
+        public System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception, System.AsyncCallback callback, object asyncState) {
             return base.Channel.BeginProcessSnapshot(clientId, jobId, result, percentage, exception, callback, asyncState);
         }
@@ -560,5 +560,5 @@
         private System.IAsyncResult OnBeginProcessSnapshot(object[] inValues, System.AsyncCallback callback, object asyncState) {
             System.Guid clientId = ((System.Guid)(inValues[0]));
-            long jobId = ((long)(inValues[1]));
+            System.Guid jobId = ((System.Guid)(inValues[1]));
             byte[] result = ((byte[])(inValues[2]));
             double percentage = ((double)(inValues[3]));
@@ -580,9 +580,9 @@
         }
         
-        public void ProcessSnapshotAsync(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception) {
+        public void ProcessSnapshotAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception) {
             this.ProcessSnapshotAsync(clientId, jobId, result, percentage, exception, null);
         }
         
-        public void ProcessSnapshotAsync(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, object userState) {
+        public void ProcessSnapshotAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, System.Exception exception, object userState) {
             if ((this.onBeginProcessSnapshotDelegate == null)) {
                 this.onBeginProcessSnapshotDelegate = new BeginOperationDelegate(this.OnBeginProcessSnapshot);
@@ -652,10 +652,10 @@
         }
         
-        public HeuristicLab.Hive.Contracts.Response IsJobStillNeeded(long jobId) {
+        public HeuristicLab.Hive.Contracts.Response IsJobStillNeeded(System.Guid jobId) {
             return base.Channel.IsJobStillNeeded(jobId);
         }
         
         [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-        public System.IAsyncResult BeginIsJobStillNeeded(long jobId, System.AsyncCallback callback, object asyncState) {
+        public System.IAsyncResult BeginIsJobStillNeeded(System.Guid jobId, System.AsyncCallback callback, object asyncState) {
             return base.Channel.BeginIsJobStillNeeded(jobId, callback, asyncState);
         }
@@ -667,5 +667,5 @@
         
         private System.IAsyncResult OnBeginIsJobStillNeeded(object[] inValues, System.AsyncCallback callback, object asyncState) {
-            long jobId = ((long)(inValues[0]));
+            System.Guid jobId = ((System.Guid)(inValues[0]));
             return this.BeginIsJobStillNeeded(jobId, callback, asyncState);
         }
@@ -684,9 +684,9 @@
         }
         
-        public void IsJobStillNeededAsync(long jobId) {
+        public void IsJobStillNeededAsync(System.Guid jobId) {
             this.IsJobStillNeededAsync(jobId, null);
         }
         
-        public void IsJobStillNeededAsync(long jobId, object userState) {
+        public void IsJobStillNeededAsync(System.Guid jobId, object userState) {
             if ((this.onBeginIsJobStillNeededDelegate == null)) {
                 this.onBeginIsJobStillNeededDelegate = new BeginOperationDelegate(this.OnBeginIsJobStillNeeded);
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.svcmap
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.svcmap	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.svcmap	(revision 1449)
@@ -18,15 +18,15 @@
   </ClientOptions>
   <MetadataSources>
-    <MetadataSource Address="net.tcp://10.20.53.3:9000/HiveServer/mex" Protocol="mex" SourceId="1" />
+    <MetadataSource Address="net.tcp://10.20.53.7:9000/HiveServer/mex" Protocol="mex" SourceId="1" />
   </MetadataSources>
   <Metadata>
-    <MetadataFile FileName="service1.wsdl" MetadataType="Wsdl" ID="9a3a50f8-3779-4e16-9fef-d8a373f7ff94" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
-    <MetadataFile FileName="service2.xsd" MetadataType="Schema" ID="735695ce-6295-4bf1-9d88-11005317d84a" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
-    <MetadataFile FileName="service3.xsd" MetadataType="Schema" ID="bd04471f-a95e-4abf-af17-6292f4dc3482" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
-    <MetadataFile FileName="HeuristicLab.Hive.Contracts.BusinessObjects1.xsd" MetadataType="Schema" ID="092b1a9a-88d0-4e2b-ac02-0e6580be4547" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
-    <MetadataFile FileName="HeuristicLab.DataAccess.xsd" MetadataType="Schema" ID="7a6b32ca-8a1f-4b6a-88e8-8b1aea9167c0" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
-    <MetadataFile FileName="HeuristicLab.Hive.Contracts1.xsd" MetadataType="Schema" ID="a0ecfa49-b2b3-4fa0-822f-720f9111893a" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
-    <MetadataFile FileName="Arrays.xsd" MetadataType="Schema" ID="c38ef568-759d-4e63-902a-2915442cb7ce" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
-    <MetadataFile FileName="System1.xsd" MetadataType="Schema" ID="0eba9d8e-f039-45d9-928b-146e162b1103" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
+    <MetadataFile FileName="service1.wsdl" MetadataType="Wsdl" ID="ceb125d3-f4d3-4af5-8fbf-11cb3a2a2651" SourceId="1" SourceUrl="net.tcp://10.20.53.7:9000/HiveServer/mex" />
+    <MetadataFile FileName="service2.xsd" MetadataType="Schema" ID="b397e011-e88d-4a05-acb2-a7ff59cba729" SourceId="1" SourceUrl="net.tcp://10.20.53.7:9000/HiveServer/mex" />
+    <MetadataFile FileName="service3.xsd" MetadataType="Schema" ID="c410fac9-aa83-4b25-924f-896bbb7e41d9" SourceId="1" SourceUrl="net.tcp://10.20.53.7:9000/HiveServer/mex" />
+    <MetadataFile FileName="HeuristicLab.Hive.Contracts.BusinessObjects1.xsd" MetadataType="Schema" ID="3e897fc0-f222-46e3-a03a-7afd47f6419b" SourceId="1" SourceUrl="net.tcp://10.20.53.7:9000/HiveServer/mex" />
+    <MetadataFile FileName="HeuristicLab.DataAccess1.xsd" MetadataType="Schema" ID="eafbe601-c045-41f4-b2dd-7fcf4ec1feef" SourceId="1" SourceUrl="net.tcp://10.20.53.7:9000/HiveServer/mex" />
+    <MetadataFile FileName="HeuristicLab.Hive.Contracts1.xsd" MetadataType="Schema" ID="679f24c7-bc6c-45b8-a1cc-9339911bddc9" SourceId="1" SourceUrl="net.tcp://10.20.53.7:9000/HiveServer/mex" />
+    <MetadataFile FileName="Arrays1.xsd" MetadataType="Schema" ID="53f47e2f-ca2b-4f21-9457-037e222fefaf" SourceId="1" SourceUrl="net.tcp://10.20.53.7:9000/HiveServer/mex" />
+    <MetadataFile FileName="System1.xsd" MetadataType="Schema" ID="6a87c5f1-b08b-4dea-b2b3-bd10a1f13d52" SourceId="1" SourceUrl="net.tcp://10.20.53.7:9000/HiveServer/mex" />
   </Metadata>
   <Extensions>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration.svcinfo
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration.svcinfo	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration.svcinfo	(revision 1449)
@@ -6,5 +6,5 @@
   </bindings>
   <endpoints>
-    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientCommunicator&quot; contract=&quot;ServerService.IClientCommunicator&quot; name=&quot;NetTcpBinding_IClientCommunicator&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientCommunicator&quot; contract=&quot;ServerService.IClientCommunicator&quot; name=&quot;NetTcpBinding_IClientCommunicator&quot; /&gt;" contractName="ServerService.IClientCommunicator" name="NetTcpBinding_IClientCommunicator" />
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://10.20.53.7:9000/HiveServer/ClientCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientCommunicator&quot; contract=&quot;ServerService.IClientCommunicator&quot; name=&quot;NetTcpBinding_IClientCommunicator&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://10.20.53.7:9000/HiveServer/ClientCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientCommunicator&quot; contract=&quot;ServerService.IClientCommunicator&quot; name=&quot;NetTcpBinding_IClientCommunicator&quot; /&gt;" contractName="ServerService.IClientCommunicator" name="NetTcpBinding_IClientCommunicator" />
   </endpoints>
 </configurationSnapshot>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration91.svcinfo
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration91.svcinfo	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration91.svcinfo	(revision 1449)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
-<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="Nwi0N5LZnU7QQwSvbAcjLVRBz9w=">
+<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="dvRlSnVoK7OKlonsSUHj7d3kYQ4=">
   <bindingConfigurations>
     <bindingConfiguration bindingType="netTcpBinding" name="NetTcpBinding_IClientCommunicator">
@@ -107,8 +107,8 @@
   </bindingConfigurations>
   <endpoints>
-    <endpoint name="NetTcpBinding_IClientCommunicator" contract="ServerService.IClientCommunicator" bindingType="netTcpBinding" address="net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator" bindingConfiguration="NetTcpBinding_IClientCommunicator">
+    <endpoint name="NetTcpBinding_IClientCommunicator" contract="ServerService.IClientCommunicator" bindingType="netTcpBinding" address="net.tcp://10.20.53.7:9000/HiveServer/ClientCommunicator" bindingConfiguration="NetTcpBinding_IClientCommunicator">
       <properties>
         <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-          <serializedValue>net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator</serializedValue>
+          <serializedValue>net.tcp://10.20.53.7:9000/HiveServer/ClientCommunicator</serializedValue>
         </property>
         <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service1.wsdl
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service1.wsdl	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service1.wsdl	(revision 1449)
@@ -189,7 +189,7 @@
   <wsdl:service name="ClientFacade">
     <wsdl:port name="NetTcpBinding_IClientCommunicator" binding="tns:NetTcpBinding_IClientCommunicator">
-      <soap12:address location="net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator" />
+      <soap12:address location="net.tcp://10.20.53.7:9000/HiveServer/ClientCommunicator" />
       <wsa10:EndpointReference>
-        <wsa10:Address>net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator</wsa10:Address>
+        <wsa10:Address>net.tcp://10.20.53.7:9000/HiveServer/ClientCommunicator</wsa10:Address>
       </wsa10:EndpointReference>
     </wsdl:port>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service2.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service2.xsd	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service2.xsd	(revision 1449)
@@ -52,8 +52,8 @@
       <xs:sequence>
         <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q7:guid" />
-        <xs:element minOccurs="0" name="jobId" type="xs:long" />
+        <xs:element xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="jobId" type="q8:guid" />
         <xs:element minOccurs="0" name="result" nillable="true" type="xs:base64Binary" />
         <xs:element minOccurs="0" name="percentage" type="xs:double" />
-        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/System" minOccurs="0" name="exception" nillable="true" type="q8:Exception" />
+        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/System" minOccurs="0" name="exception" nillable="true" type="q9:Exception" />
       </xs:sequence>
     </xs:complexType>
@@ -62,5 +62,5 @@
     <xs:complexType>
       <xs:sequence>
-        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="StoreFinishedJobResultResult" nillable="true" type="q9:ResponseResultReceived" />
+        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="StoreFinishedJobResultResult" nillable="true" type="q10:ResponseResultReceived" />
       </xs:sequence>
     </xs:complexType>
@@ -69,9 +69,9 @@
     <xs:complexType>
       <xs:sequence>
-        <xs:element xmlns:q10="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q10:guid" />
-        <xs:element minOccurs="0" name="jobId" type="xs:long" />
+        <xs:element xmlns:q11="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q11:guid" />
+        <xs:element xmlns:q12="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="jobId" type="q12:guid" />
         <xs:element minOccurs="0" name="result" nillable="true" type="xs:base64Binary" />
         <xs:element minOccurs="0" name="percentage" type="xs:double" />
-        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/System" minOccurs="0" name="exception" nillable="true" type="q11:Exception" />
+        <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/System" minOccurs="0" name="exception" nillable="true" type="q13:Exception" />
       </xs:sequence>
     </xs:complexType>
@@ -80,5 +80,5 @@
     <xs:complexType>
       <xs:sequence>
-        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="ProcessSnapshotResult" nillable="true" type="q12:ResponseResultReceived" />
+        <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="ProcessSnapshotResult" nillable="true" type="q14:ResponseResultReceived" />
       </xs:sequence>
     </xs:complexType>
@@ -87,5 +87,5 @@
     <xs:complexType>
       <xs:sequence>
-        <xs:element xmlns:q13="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q13:guid" />
+        <xs:element xmlns:q15="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q15:guid" />
       </xs:sequence>
     </xs:complexType>
@@ -94,5 +94,5 @@
     <xs:complexType>
       <xs:sequence>
-        <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="LogoutResult" nillable="true" type="q14:Response" />
+        <xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="LogoutResult" nillable="true" type="q16:Response" />
       </xs:sequence>
     </xs:complexType>
@@ -101,5 +101,5 @@
     <xs:complexType>
       <xs:sequence>
-        <xs:element minOccurs="0" name="jobId" type="xs:long" />
+        <xs:element xmlns:q17="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="jobId" type="q17:guid" />
       </xs:sequence>
     </xs:complexType>
@@ -108,5 +108,5 @@
     <xs:complexType>
       <xs:sequence>
-        <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="IsJobStillNeededResult" nillable="true" type="q15:Response" />
+        <xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="IsJobStillNeededResult" nillable="true" type="q18:Response" />
       </xs:sequence>
     </xs:complexType>
@@ -115,5 +115,5 @@
     <xs:complexType>
       <xs:sequence>
-        <xs:element xmlns:q16="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="pluginList" nillable="true" type="q16:ArrayOfstring" />
+        <xs:element xmlns:q19="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="pluginList" nillable="true" type="q19:ArrayOfstring" />
       </xs:sequence>
     </xs:complexType>
@@ -122,5 +122,5 @@
     <xs:complexType>
       <xs:sequence>
-        <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="SendPluginsResult" nillable="true" type="q17:ResponsePlugin" />
+        <xs:element xmlns:q20="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="SendPluginsResult" nillable="true" type="q20:ResponsePlugin" />
       </xs:sequence>
     </xs:complexType>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/WcfService.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/WcfService.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/WcfService.cs	(revision 1449)
@@ -74,5 +74,5 @@
       try {
         proxy = new ClientCommunicatorClient(
-          new NetTcpBinding(),
+          new NetTcpBinding(SecurityMode.None, true),
           new EndpointAddress("net.tcp://" + ServerIP + ":" + ServerPort + "/HiveServer/ClientCommunicator")
         );
@@ -188,5 +188,5 @@
     #region SendJobResults
     public event System.EventHandler<StoreFinishedJobResultCompletedEventArgs> StoreFinishedJobResultCompleted;
-    public void StoreFinishedJobResultAsync(Guid clientId, long jobId, byte[] result, double percentage, Exception exception, bool finished) {
+    public void StoreFinishedJobResultAsync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
       if (ConnState == NetworkEnum.WcfConnState.Loggedin)
         proxy.StoreFinishedJobResultAsync(clientId, jobId, result, percentage, exception, finished);
@@ -203,5 +203,5 @@
     #region Processsnapshots
     public event System.EventHandler<ProcessSnapshotCompletedEventArgs> ProcessSnapshotCompleted;
-    public void ProcessSnapshotAsync(Guid clientId, long jobId, byte[] result, double percentage, Exception exception, bool finished) {
+    public void ProcessSnapshotAsync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
       if(ConnState == NetworkEnum.WcfConnState.Loggedin)
         proxy.ProcessSnapshotAsync(clientId, jobId, result, percentage, exception);
@@ -248,5 +248,5 @@
     #endregion  */
 
-    public ResponseResultReceived SendStoredJobResultsSync(Guid clientId, long jobId, byte[] result, double percentage, Exception exception, bool finished) {
+    public ResponseResultReceived SendStoredJobResultsSync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
       return proxy.StoreFinishedJobResult(clientId, jobId, result, percentage, exception);
     }
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/app.config
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/app.config	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/app.config	(revision 1449)
@@ -22,5 +22,5 @@
         </bindings>
         <client>
-            <endpoint address="net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator"
+            <endpoint address="net.tcp://10.20.53.7:9000/HiveServer/ClientCommunicator"
                 binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IClientCommunicator"
                 contract="ServerService.IClientCommunicator" name="NetTcpBinding_IClientCommunicator" />
Index: /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd	(revision 1449)
@@ -23,5 +23,5 @@
   <xs:complexType name="JobStatus">
     <xs:sequence>
-      <xs:element minOccurs="0" name="JobId" type="xs:long" />
+      <xs:element minOccurs="0" name="JobId" type="ser:guid" />
       <xs:element minOccurs="0" name="Progress" type="xs:double" />
       <xs:element minOccurs="0" name="Since" type="xs:dateTime" />
Index: /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/Reference.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/Reference.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/Reference.cs	(revision 1449)
@@ -167,5 +167,5 @@
         
         [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private long JobIdField;
+        private System.Guid JobIdField;
         
         [System.Runtime.Serialization.OptionalFieldAttribute()]
@@ -186,5 +186,5 @@
         
         [System.Runtime.Serialization.DataMemberAttribute()]
-        public long JobId {
+        public System.Guid JobId {
             get {
                 return this.JobIdField;
Index: /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/configuration.svcinfo
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/configuration.svcinfo	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/configuration.svcinfo	(revision 1449)
@@ -6,5 +6,5 @@
   </bindings>
   <endpoints>
-    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientConsoleCommunicator&quot; contract=&quot;ClientService.IClientConsoleCommunicator&quot; name=&quot;NetTcpBinding_IClientConsoleCommunicator&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;mse08004@fhs-hagenberg.ac.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientConsoleCommunicator&quot; contract=&quot;ClientService.IClientConsoleCommunicator&quot; name=&quot;NetTcpBinding_IClientConsoleCommunicator&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;mse08004@fhs-hagenberg.ac.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="ClientService.IClientConsoleCommunicator" name="NetTcpBinding_IClientConsoleCommunicator" />
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientConsoleCommunicator&quot; contract=&quot;ClientService.IClientConsoleCommunicator&quot; name=&quot;NetTcpBinding_IClientConsoleCommunicator&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;mse08026@fhs-hagenberg.ac.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientConsoleCommunicator&quot; contract=&quot;ClientService.IClientConsoleCommunicator&quot; name=&quot;NetTcpBinding_IClientConsoleCommunicator&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;mse08026@fhs-hagenberg.ac.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="ClientService.IClientConsoleCommunicator" name="NetTcpBinding_IClientConsoleCommunicator" />
   </endpoints>
 </configurationSnapshot>
Index: /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/configuration91.svcinfo
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/configuration91.svcinfo	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/configuration91.svcinfo	(revision 1449)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
-<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="LJHqHAg9UO+arib7mQMPUcNSFqQ=">
+<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="EjIgJ8KL6VTkdtRqvYxdsOZNF7s=">
   <bindingConfigurations>
     <bindingConfiguration bindingType="netTcpBinding" name="NetTcpBinding_IClientConsoleCommunicator">
@@ -137,5 +137,5 @@
         </property>
         <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-          <serializedValue>mse08004@fhs-hagenberg.ac.at</serializedValue>
+          <serializedValue>mse08026@fhs-hagenberg.ac.at</serializedValue>
         </property>
         <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
Index: /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/service.wsdl
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/service.wsdl	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/Service References/ClientService/service.wsdl	(revision 1449)
@@ -150,5 +150,5 @@
         <wsa10:Address>net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator</wsa10:Address>
         <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
-          <Upn>mse08004@fhs-hagenberg.ac.at</Upn>
+          <Upn>mse08026@fhs-hagenberg.ac.at</Upn>
         </Identity>
       </wsa10:EndpointReference>
Index: /trunk/sources/HeuristicLab.Hive.Client.Console/app.config
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/app.config	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/app.config	(revision 1449)
@@ -31,5 +31,5 @@
                 contract="ClientService.IClientConsoleCommunicator" name="NetTcpBinding_IClientConsoleCommunicator">
                 <identity>
-                    <userPrincipalName value="mse08004@fhs-hagenberg.ac.at" />
+                    <userPrincipalName value="mse08026@fhs-hagenberg.ac.at" />
                 </identity>
             </endpoint>
Index: /trunk/sources/HeuristicLab.Hive.Client.Core/ClientConsoleService/TransferObjects/JobStatus.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/ClientConsoleService/TransferObjects/JobStatus.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/ClientConsoleService/TransferObjects/JobStatus.cs	(revision 1449)
@@ -33,5 +33,5 @@
     /// </summary>
     [DataMember]
-    public long JobId { get; set; }
+    public Guid JobId { get; set; }
     /// <summary>
     /// When has the calculation of the Job begun?
Index: /trunk/sources/HeuristicLab.Hive.Client.Core/ConfigurationManager/ConfigManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/ConfigurationManager/ConfigManager.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/ConfigurationManager/ConfigManager.cs	(revision 1449)
@@ -55,9 +55,9 @@
 
       if (Settings.Default.Guid == Guid.Empty) {
-        hardwareInfo.ClientId = Guid.NewGuid();
-        Settings.Default.Guid = hardwareInfo.ClientId;
+        hardwareInfo.Id = Guid.NewGuid();
+        Settings.Default.Guid = hardwareInfo.Id;
         Settings.Default.Save();
       } else
-        hardwareInfo.ClientId = Settings.Default.Guid;
+        hardwareInfo.Id = Settings.Default.Guid;
       
       hardwareInfo.NrOfCores = Environment.ProcessorCount;
@@ -102,5 +102,5 @@
       //Todo: Locking
       StatusCommons st = new StatusCommons();
-      st.ClientGuid = hardwareInfo.ClientId;
+      st.ClientGuid = hardwareInfo.Id;
       
       st.Status = WcfService.Instance.ConnState;
@@ -111,9 +111,9 @@
       st.JobsFetched = ClientStatusInfo.JobsFetched;      
 
-      Dictionary<long, Executor> engines = Core.GetExecutionEngines();
+      Dictionary<Guid, Executor> engines = Core.GetExecutionEngines();
       st.Jobs = new List<JobStatus>();
 
       lock (engines) {
-        foreach (KeyValuePair<long, Executor> kvp in engines) {
+        foreach (KeyValuePair<Guid, Executor> kvp in engines) {
           Executor e = kvp.Value;
           st.Jobs.Add(new JobStatus { JobId = e.JobId, Progress = e.Progress, Since = e.CreationTime });
@@ -123,9 +123,9 @@
     }
 
-    public Dictionary<long, double> GetProgressOfAllJobs() {
-      Dictionary<long,double> prog = new Dictionary<long,double>();
-      Dictionary<long, Executor> engines = Core.GetExecutionEngines();
+    public Dictionary<Guid, double> GetProgressOfAllJobs() {
+      Dictionary<Guid, double> prog = new Dictionary<Guid, double>();
+      Dictionary<Guid, Executor> engines = Core.GetExecutionEngines();
       lock (engines) {
-        foreach (KeyValuePair<long, Executor> kvp in engines) {
+        foreach (KeyValuePair<Guid, Executor> kvp in engines) {
           Executor e = kvp.Value;
           prog[e.JobId] = e.Progress;
Index: /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs	(revision 1449)
@@ -52,8 +52,8 @@
   public class Core: MarshalByRefObject {       
     public static bool abortRequested { get; set; }
-        
-    private Dictionary<long, Executor> engines = new Dictionary<long, Executor>();
-    private Dictionary<long, AppDomain> appDomains = new Dictionary<long, AppDomain>();
-    private Dictionary<long, Job> jobs = new Dictionary<long, Job>();
+
+    private Dictionary<Guid, Executor> engines = new Dictionary<Guid, Executor>();
+    private Dictionary<Guid, AppDomain> appDomains = new Dictionary<Guid, AppDomain>();
+    private Dictionary<Guid, Job> jobs = new Dictionary<Guid, Job>();
 
     private WcfService wcfService;
@@ -129,5 +129,5 @@
         //Pull a Job from the Server
         case MessageContainer.MessageType.FetchJob: 
-          wcfService.SendJobAsync(ConfigManager.Instance.GetClientInfo().ClientId);
+          wcfService.SendJobAsync(ConfigManager.Instance.GetClientInfo().Id);
           break;          
         //A Job has finished and can be sent back to the server
@@ -147,10 +147,10 @@
     
     private void GetFinishedJob(object jobId) {
-      long jId = (long)jobId;      
+      Guid jId = (Guid)jobId;      
       try {
         byte[] sJob = engines[jId].GetFinishedJob();
 
         if (WcfService.Instance.ConnState == NetworkEnum.WcfConnState.Loggedin) {
-          wcfService.StoreFinishedJobResultAsync(ConfigManager.Instance.GetClientInfo().ClientId,
+          wcfService.StoreFinishedJobResultAsync(ConfigManager.Instance.GetClientInfo().Id,
             jId,
             sJob,
@@ -174,7 +174,7 @@
 
     private void GetSnapshot(object jobId) {
-      long jId = (long)jobId;
+      Guid jId = (Guid)jobId;
       byte[] obj = engines[jId].GetSnapshot();
-      wcfService.ProcessSnapshotAsync(ConfigManager.Instance.GetClientInfo().ClientId,
+      wcfService.ProcessSnapshotAsync(ConfigManager.Instance.GetClientInfo().Id,
         jId,
         obj,
@@ -249,8 +249,8 @@
       Logging.Instance.Info(this.ToString(), "ServerChanged has been called");
       lock (engines) {
-        foreach (KeyValuePair<long, AppDomain> entries in appDomains)
+        foreach (KeyValuePair<Guid, AppDomain> entries in appDomains)
           AppDomain.Unload(appDomains[entries.Key]);
-        appDomains = new Dictionary<long, AppDomain>();
-        engines = new Dictionary<long, Executor>();
+        appDomains = new Dictionary<Guid, AppDomain>();
+        engines = new Dictionary<Guid, Executor>();
       }
     }
@@ -265,5 +265,5 @@
       Logging.Instance.Info(this.ToString(), "Reconnected to old server - checking currently running appdomains");                 
 
-      foreach (KeyValuePair<long, Executor> execKVP in engines) {
+      foreach (KeyValuePair<Guid, Executor> execKVP in engines) {
         if (!execKVP.Value.Running && execKVP.Value.CurrentMessage == MessageContainer.MessageType.NoMessage) {
           Logging.Instance.Info(this.ToString(), "Checking for JobId: " + execKVP.Value.JobId);
@@ -276,5 +276,5 @@
     #endregion
 
-    public Dictionary<long, Executor> GetExecutionEngines() {
+    public Dictionary<Guid, Executor> GetExecutionEngines() {
       return engines;
     }
Index: /trunk/sources/HeuristicLab.Hive.Client.Core/Heartbeat.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/Heartbeat.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/Heartbeat.cs	(revision 1449)
@@ -80,5 +80,5 @@
 
         HeartBeatData heartBeatData = new HeartBeatData {
-        ClientId = info.ClientId,
+        ClientId = info.Id,
         FreeCores = info.NrOfCores - (ClientStatusInfo.JobsFetched - ClientStatusInfo.JobsProcessed),
         FreeMemory = mb,
Index: /trunk/sources/HeuristicLab.Hive.Client.Core/JobStorage/JobStorageInfo.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/JobStorage/JobStorageInfo.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/JobStorage/JobStorageInfo.cs	(revision 1449)
@@ -9,5 +9,5 @@
     public long ServerPort { get; set; }
     public DateTime TimeFinished { get; set; }
-    public long JobID { get; set; }
+    public Guid JobID { get; set; }
   }
 }
Index: /trunk/sources/HeuristicLab.Hive.Client.Core/JobStorage/JobStorageManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/JobStorage/JobStorageManager.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/JobStorage/JobStorageManager.cs	(revision 1449)
@@ -17,5 +17,5 @@
     private static String path = "C:\\Program Files\\HeuristicLab 3.0\\plugins\\jobStorrage\\";
     
-    public static void PersistObjectToDisc(String serverIP, long serverPort, long jobId, byte[] job) {
+    public static void PersistObjectToDisc(String serverIP, long serverPort, Guid jobId, byte[] job) {
       String filename = serverIP + "." + serverPort + "." + jobId.ToString();
 
@@ -46,5 +46,5 @@
           
           //Todo: ask server first if he really wants the job...
-          ResponseResultReceived res = WcfService.Instance.SendStoredJobResultsSync(ConfigManager.Instance.GetClientInfo().ClientId, storedJobsList[index-1].JobID, job, 1.00, null, true);
+          ResponseResultReceived res = WcfService.Instance.SendStoredJobResultsSync(ConfigManager.Instance.GetClientInfo().Id, storedJobsList[index-1].JobID, job, 1.00, null, true);
           //TODO: has to be fixed from server side
           //if (res.Success == true) {
Index: /trunk/sources/HeuristicLab.Hive.Client.ExecutionEngine/Executor.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.ExecutionEngine/Executor.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Client.ExecutionEngine/Executor.cs	(revision 1449)
@@ -34,5 +34,5 @@
 namespace HeuristicLab.Hive.Client.ExecutionEngine {
   public class Executor: MarshalByRefObject {
-    public long JobId { get; set; }
+    public Guid JobId { get; set; }
     public IJob Job { get; set; }
     public MessageContainer.MessageType CurrentMessage { get; set; }
Index: /trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Client.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Client.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Client.cs	(revision 1449)
@@ -33,8 +33,4 @@
   public class ClientInfo : Resource {
     [DataMember]
-    public long ClientInfoId { get; set; }
-    [DataMember]
-    public Guid ClientId { get; set; }
-    [DataMember]
     public int NrOfCores { get; set; }
     [DataMember]
Index: /trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/HeartBeatData.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/HeartBeatData.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/HeartBeatData.cs	(revision 1449)
@@ -37,5 +37,5 @@
     public int FreeCores { get; set; }
     [DataMember]
-    public Dictionary<long, double> JobProgress { get; set; } // TODO: define Type 
+    public Dictionary<Guid, double> JobProgress { get; set; } // TODO: define Type 
   }
 }
Index: /trunk/sources/HeuristicLab.Hive.Contracts/HeuristicLab.Hive.Contracts.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/HeuristicLab.Hive.Contracts.csproj	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/HeuristicLab.Hive.Contracts.csproj	(revision 1449)
@@ -86,5 +86,4 @@
     <Compile Include="Interfaces\ILifecycleManager.cs" />
     <Compile Include="Interfaces\IServerConsoleFacade.cs" />
-    <Compile Include="Interfaces\ITransactionManager.cs" />
     <Compile Include="MessageContainer.cs" />
     <Compile Include="ResponseJob.cs" />
Index: /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IClientCommunicator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IClientCommunicator.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IClientCommunicator.cs	(revision 1449)
@@ -42,11 +42,11 @@
     [OperationContract]
     ResponseResultReceived StoreFinishedJobResult(Guid clientId, 
-      long jobId, 
+      Guid jobId, 
       byte[] result, 
       double percentage,
       Exception exception);
     [OperationContract]
-    ResponseResultReceived ProcessSnapshot(Guid clientId, 
-      long jobId, 
+    ResponseResultReceived ProcessSnapshot(Guid clientId,
+      Guid jobId, 
       byte[] result, 
       double percentage, 
@@ -55,5 +55,5 @@
     Response Logout(Guid clientId);
     [OperationContract]
-    Response IsJobStillNeeded(long jobId);
+    Response IsJobStillNeeded(Guid jobId);
     [OperationContract]
     ResponsePlugin SendPlugins(List<PluginInfo> pluginList);
Index: /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IClientManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IClientManager.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IClientManager.cs	(revision 1449)
@@ -43,7 +43,7 @@
     Response AddClientGroup(ClientGroup clientGroup);
     [OperationContract]
-    Response AddResourceToGroup(long clientGroupId, Resource resource);
+    Response AddResourceToGroup(Guid clientGroupId, Resource resource);
     [OperationContract]
-    Response DeleteResourceFromGroup(long clientGroupId, long resourceId);
+    Response DeleteResourceFromGroup(Guid clientGroupId, Guid resourceId);
     [OperationContract]
     ResponseList<UpTimeStatistics> GetAllUpTimeStatistics();
Index: /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IJobManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IJobManager.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IJobManager.cs	(revision 1449)
@@ -38,7 +38,7 @@
     ResponseObject<Job> AddNewJob(Job job);
     [OperationContract]
-    Response RemoveJob(long jobId);
+    Response RemoveJob(Guid jobId);
     [OperationContract]
-    ResponseObject<JobResult> GetLastJobResultOf(long jobId);
+    ResponseObject<JobResult> GetLastJobResultOf(Guid jobId);
   }
 }
Index: unk/sources/HeuristicLab.Hive.Contracts/Interfaces/ITransactionManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/ITransactionManager.cs	(revision 1448)
+++ 	(revision )
@@ -1,53 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace HeuristicLab.Hive.Contracts.Interfaces {
-  /// <summary>
-  /// Transaction manager for the DB access layer
-  /// </summary>
-  public interface ITransactionManager {
-    /// <summary>
-    /// This event is fired when an update occurs
-    /// </summary>
-    event EventHandler OnUpdate; 
-
-    /// <summary>
-    /// Enables the auto update of the DB
-    /// </summary>
-    /// <param name="interval"></param>
-    void EnableAutoUpdate(TimeSpan interval);
-
-    /// <summary>
-    /// Disables the auto update of the DB
-    /// </summary>
-    void DisableAutoUpdate();
-
-    /// <summary>
-    /// Update the DB from the cache
-    /// </summary>
-    void UpdateDB();
-  }
-}
Index: /trunk/sources/HeuristicLab.Hive.Contracts/MessageContainer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/MessageContainer.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/MessageContainer.cs	(revision 1449)
@@ -36,11 +36,11 @@
 
     public MessageType Message { get; set; }
-    public long JobId { get; set; }
+    public Guid JobId { get; set; }
 
     public MessageContainer(MessageType message) {
       Message = message;
-      JobId = 0;
+      JobId = Guid.Empty;
     }
-    public MessageContainer(MessageType message, long jobId) {
+    public MessageContainer(MessageType message, Guid jobId) {
       Message = message;
       JobId = jobId;
Index: /trunk/sources/HeuristicLab.Hive.Contracts/ResponseResultReceived.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/ResponseResultReceived.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/ResponseResultReceived.cs	(revision 1449)
@@ -31,5 +31,5 @@
   public class ResponseResultReceived : Response {
     [DataMember]
-    public long JobId { get; set; }
+    public Guid JobId { get; set; }
     [DataMember]
     public bool finished { get; set; }
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ClientAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ClientAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ClientAdapter.cs	(revision 1449)
@@ -80,11 +80,4 @@
     }
 
-    private void Preprocess(ClientInfo client) {
-      if (client != null && client.Id == default(long)) {
-        ClientInfo found = GetById(client.ClientId);
-        if (found != null)
-          client.Id = found.Id;
-      }
-    }
 
     #region Overrides
@@ -96,10 +89,5 @@
         ResAdapter.GetById(client);
 
-        /*ClientInfo*/
-        if (!row.IsGUIDNull())
-          client.ClientId = row.GUID;
-        else
-          client.ClientId = Guid.Empty;
-       
+        /*ClientInfo*/       
         if (!row.IsCPUSpeedNull())
           client.CpuSpeedPerCore = row.CPUSpeed;
@@ -137,6 +125,6 @@
     protected override dsHiveServer.ClientRow ConvertObj(ClientInfo client,
       dsHiveServer.ClientRow row) {
-      if (client != null && row != null) {      
-        row.GUID = client.ClientId;
+      if (client != null && row != null) {
+        row.ResourceId = client.Id;
         row.CPUSpeed = client.CpuSpeedPerCore;
         row.Memory = client.Memory;
@@ -196,10 +184,10 @@
 
     protected override IEnumerable<dsHiveServer.ClientRow>
-      FindById(long id) {
-      return Adapter.GetDataByResourceId(id);
+      FindById(Guid id) {
+      return Adapter.GetDataById(id);
     }
 
     protected override dsHiveServer.ClientRow
-      FindCachedById(long id) {
+      FindCachedById(Guid id) {
       return cache.FindByResourceId(id);
     }
@@ -217,34 +205,8 @@
     public override void Update(ClientInfo client) {
       if (client != null) {
-        Guid locked = Guid.Empty;
-        if (client.ClientId != Guid.Empty) {
-          LockRow(client.ClientId);
-          locked = client.ClientId;
-        }
-
-        Preprocess(client);
-
         ResAdapter.Update(client);
 
         base.Update(client);
-
-        if (locked != Guid.Empty) {
-          UnlockRow(locked);
-        }
-      }
-    }
-
-    public ClientInfo GetById(Guid clientId) {
-      return base.FindSingle(
-        delegate() {
-          return Adapter.GetDataById(clientId);
-        }, 
-        delegate() {
-          return from c in
-                     cache.AsEnumerable<dsHiveServer.ClientRow>()
-                   where !c.IsGUIDNull() && 
-                          c.GUID == clientId
-                   select c; 
-        });
+      }
     }
 
@@ -262,10 +224,8 @@
       
       if (client != null) {
-        if (client.ClientId != Guid.Empty) {
-          LockRow(client.ClientId);
-          locked = client.ClientId;
-        }
-
-        Preprocess(client);
+        if (client.Id != Guid.Empty) {
+          LockRow(client.Id);
+          locked = client.Id;
+        }
 
         dsHiveServer.ClientRow row =
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ClientGroupAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ClientGroupAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ClientGroupAdapter.cs	(revision 1449)
@@ -222,5 +222,5 @@
 
     protected override IEnumerable<dsHiveServer.ClientGroupRow>
-      FindById(long id) {
+      FindById(Guid id) {
       return Adapter.GetDataById(id);
     }
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/JobAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/JobAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/JobAdapter.cs	(revision 1449)
@@ -81,5 +81,5 @@
           job.Client = null;
 
-        if (!row.IsPermissionOwnerIdNull())
+        if (!row.IsUserIdNull())
           job.UserId = Guid.Empty;
         else
@@ -124,4 +124,6 @@
       dsHiveServer.JobRow row) {
       if (job != null && row != null) {
+        row.JobId = job.Id;
+        
         if (job.Client != null) {
           if (row.IsResourceIdNull() ||
@@ -143,10 +145,10 @@
 
         if (job.UserId != Guid.Empty) {
-          if (row.IsPermissionOwnerIdNull() ||
-           row.PermissionOwnerId != 0) {
-            row.PermissionOwnerId = 0;
+          if (row.IsUserIdNull() ||
+           row.UserId != Guid.Empty) {
+            row.UserId = Guid.Empty;
           }
         } else
-          row.SetPermissionOwnerIdNull();
+          row.SetUserIdNull();
 
         if (job.State != State.nullState)
@@ -185,4 +187,5 @@
 
       dsHiveServer.JobRow row = data.NewJobRow();
+      row.JobId = job.Id;
       data.AddJobRow(row);
 
@@ -193,4 +196,5 @@
       InsertNewRowInCache(Job job) {
       dsHiveServer.JobRow row = cache.NewJobRow();
+      row.JobId = job.Id;
       cache.AddJobRow(row);
 
@@ -213,10 +217,10 @@
 
     protected override IEnumerable<dsHiveServer.JobRow>
-      FindById(long id) {
+      FindById(Guid id) {
       return Adapter.GetDataById(id);
     }
 
     protected override dsHiveServer.JobRow
-      FindCachedById(long id) {
+      FindCachedById(Guid id) {
       return cache.FindByJobId(id);
     }
@@ -237,5 +241,5 @@
           base.FindMultiple(
             delegate() {
-              return Adapter.GetDataBySubjobs(job.Id);
+              return Adapter.GetDataByParentJob(job.Id);
             },
             delegate() {
@@ -313,15 +317,13 @@
           base.FindMultiple(
             delegate() {
-              return Adapter.GetDataByUser(0);
+              return Adapter.GetDataByUser(userId);
             },
             delegate() {
               return from job in
                 cache.AsEnumerable<dsHiveServer.JobRow>()
-              where !job.IsPermissionOwnerIdNull() &&
-                job.PermissionOwnerId == 0
+              where !job.IsUserIdNull() &&
+                job.UserId == Guid.Empty
               select job;
             });
-
-      return null;
     }
 
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/JobResultsAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/JobResultsAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/JobResultsAdapter.cs	(revision 1449)
@@ -53,5 +53,5 @@
         if (result.Client != null)  {
           ClientInfo client = 
-                 ClientAdapter.GetById(result.Client.ClientId);
+                 ClientAdapter.GetById(result.Client.Id);
 
           if (client != null)
@@ -83,4 +83,5 @@
       JobResult result) {
       if (row != null && result != null) {
+        row.JobResultId = result.Id;
         result.Id = row.JobResultId;
 
@@ -126,4 +127,5 @@
 
       dsHiveServer.JobResultRow row = data.NewJobResultRow();
+      row.JobResultId = obj.Id;
       data.AddJobResultRow(row);
 
@@ -131,5 +133,5 @@
     }
 
-    protected override IEnumerable<dsHiveServer.JobResultRow> FindById(long id) {
+    protected override IEnumerable<dsHiveServer.JobResultRow> FindById(Guid id) {
       return Adapter.GetDataById(id);
     }
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ResourceAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ResourceAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ResourceAdapter.cs	(revision 1449)
@@ -71,4 +71,5 @@
       dsHiveServer.ResourceRow row) {
       if (resource != null && row != null) {
+        row.ResourceId = resource.Id;
         row.Name = resource.Name;
 
@@ -88,4 +89,5 @@
 
       dsHiveServer.ResourceRow row = data.NewResourceRow();
+      row.ResourceId = resource.Id;
       data.AddResourceRow(row);
 
@@ -96,4 +98,5 @@
       InsertNewRowInCache(Resource resource) {
       dsHiveServer.ResourceRow row = cache.NewResourceRow();
+      row.ResourceId = resource.Id;
       cache.AddResourceRow(row);
 
@@ -115,10 +118,10 @@
 
     protected override IEnumerable<dsHiveServer.ResourceRow>
-      FindById(long id) {
+      FindById(Guid id) {
       return Adapter.GetDataById(id);
     }
 
     protected override dsHiveServer.ResourceRow
-      FindCachedById(long id) {
+      FindCachedById(Guid id) {
       return cache.FindByResourceId(id);
     }
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/app.config
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/app.config	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/app.config	(revision 1449)
@@ -5,5 +5,5 @@
     <connectionStrings>
         <add name="HeuristicLab.Hive.Server.ADODataAccess.Properties.Settings.HiveServerConnectionString"
-            connectionString="Data Source=10.22.20.84;Initial Catalog=HiveServer;Persist Security Info=True;User ID=hive;Password=hive"
+            connectionString="Data Source=10.20.71.10;Initial Catalog=HeuristicLab.Hive;Persist Security Info=True;User ID=hive;Password=hive"
             providerName="System.Data.SqlClient" />
     </connectionStrings>
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.Designer.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.Designer.cs	(revision 1449)
@@ -26,14 +26,14 @@
     public partial class dsHiveServer : global::System.Data.DataSet {
         
+        private ClientDataTable tableClient;
+        
         private ResourceDataTable tableResource;
         
-        private ClientDataTable tableClient;
-        
         private ClientGroupDataTable tableClientGroup;
         
+        private ClientGroup_ResourceDataTable tableClientGroup_Resource;
+        
         private JobDataTable tableJob;
         
-        private ClientGroup_ResourceDataTable tableClientGroup_Resource;
-        
         private JobResultDataTable tableJobResult;
         
@@ -42,9 +42,7 @@
         private global::System.Data.DataRelation relationClientGroup_is_a_Resource;
         
+        private global::System.Data.DataRelation relationR_52;
+        
         private global::System.Data.DataRelation relationR_21;
-        
-        private global::System.Data.DataRelation relationR_52;
-        
-        private global::System.Data.DataRelation relationR_59;
         
         private global::System.Data.DataRelation relationR_14;
@@ -76,18 +74,18 @@
                 global::System.Data.DataSet ds = new global::System.Data.DataSet();
                 ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));
+                if ((ds.Tables["Client"] != null)) {
+                    base.Tables.Add(new ClientDataTable(ds.Tables["Client"]));
+                }
                 if ((ds.Tables["Resource"] != null)) {
                     base.Tables.Add(new ResourceDataTable(ds.Tables["Resource"]));
                 }
-                if ((ds.Tables["Client"] != null)) {
-                    base.Tables.Add(new ClientDataTable(ds.Tables["Client"]));
-                }
                 if ((ds.Tables["ClientGroup"] != null)) {
                     base.Tables.Add(new ClientGroupDataTable(ds.Tables["ClientGroup"]));
                 }
+                if ((ds.Tables["ClientGroup_Resource"] != null)) {
+                    base.Tables.Add(new ClientGroup_ResourceDataTable(ds.Tables["ClientGroup_Resource"]));
+                }
                 if ((ds.Tables["Job"] != null)) {
                     base.Tables.Add(new JobDataTable(ds.Tables["Job"]));
-                }
-                if ((ds.Tables["ClientGroup_Resource"] != null)) {
-                    base.Tables.Add(new ClientGroup_ResourceDataTable(ds.Tables["ClientGroup_Resource"]));
                 }
                 if ((ds.Tables["JobResult"] != null)) {
@@ -115,16 +113,16 @@
         [global::System.ComponentModel.Browsable(false)]
         [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public ClientDataTable Client {
+            get {
+                return this.tableClient;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
         public ResourceDataTable Resource {
             get {
                 return this.tableResource;
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Browsable(false)]
-        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
-        public ClientDataTable Client {
-            get {
-                return this.tableClient;
             }
         }
@@ -142,16 +140,16 @@
         [global::System.ComponentModel.Browsable(false)]
         [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public ClientGroup_ResourceDataTable ClientGroup_Resource {
+            get {
+                return this.tableClientGroup_Resource;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
         public JobDataTable Job {
             get {
                 return this.tableJob;
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Browsable(false)]
-        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
-        public ClientGroup_ResourceDataTable ClientGroup_Resource {
-            get {
-                return this.tableClientGroup_Resource;
             }
         }
@@ -225,18 +223,18 @@
                 global::System.Data.DataSet ds = new global::System.Data.DataSet();
                 ds.ReadXml(reader);
+                if ((ds.Tables["Client"] != null)) {
+                    base.Tables.Add(new ClientDataTable(ds.Tables["Client"]));
+                }
                 if ((ds.Tables["Resource"] != null)) {
                     base.Tables.Add(new ResourceDataTable(ds.Tables["Resource"]));
                 }
-                if ((ds.Tables["Client"] != null)) {
-                    base.Tables.Add(new ClientDataTable(ds.Tables["Client"]));
-                }
                 if ((ds.Tables["ClientGroup"] != null)) {
                     base.Tables.Add(new ClientGroupDataTable(ds.Tables["ClientGroup"]));
                 }
+                if ((ds.Tables["ClientGroup_Resource"] != null)) {
+                    base.Tables.Add(new ClientGroup_ResourceDataTable(ds.Tables["ClientGroup_Resource"]));
+                }
                 if ((ds.Tables["Job"] != null)) {
                     base.Tables.Add(new JobDataTable(ds.Tables["Job"]));
-                }
-                if ((ds.Tables["ClientGroup_Resource"] != null)) {
-                    base.Tables.Add(new ClientGroup_ResourceDataTable(ds.Tables["ClientGroup_Resource"]));
                 }
                 if ((ds.Tables["JobResult"] != null)) {
@@ -273,4 +271,10 @@
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         internal void InitVars(bool initTable) {
+            this.tableClient = ((ClientDataTable)(base.Tables["Client"]));
+            if ((initTable == true)) {
+                if ((this.tableClient != null)) {
+                    this.tableClient.InitVars();
+                }
+            }
             this.tableResource = ((ResourceDataTable)(base.Tables["Resource"]));
             if ((initTable == true)) {
@@ -279,10 +283,4 @@
                 }
             }
-            this.tableClient = ((ClientDataTable)(base.Tables["Client"]));
-            if ((initTable == true)) {
-                if ((this.tableClient != null)) {
-                    this.tableClient.InitVars();
-                }
-            }
             this.tableClientGroup = ((ClientGroupDataTable)(base.Tables["ClientGroup"]));
             if ((initTable == true)) {
@@ -291,4 +289,10 @@
                 }
             }
+            this.tableClientGroup_Resource = ((ClientGroup_ResourceDataTable)(base.Tables["ClientGroup_Resource"]));
+            if ((initTable == true)) {
+                if ((this.tableClientGroup_Resource != null)) {
+                    this.tableClientGroup_Resource.InitVars();
+                }
+            }
             this.tableJob = ((JobDataTable)(base.Tables["Job"]));
             if ((initTable == true)) {
@@ -297,10 +301,4 @@
                 }
             }
-            this.tableClientGroup_Resource = ((ClientGroup_ResourceDataTable)(base.Tables["ClientGroup_Resource"]));
-            if ((initTable == true)) {
-                if ((this.tableClientGroup_Resource != null)) {
-                    this.tableClientGroup_Resource.InitVars();
-                }
-            }
             this.tableJobResult = ((JobResultDataTable)(base.Tables["JobResult"]));
             if ((initTable == true)) {
@@ -311,7 +309,6 @@
             this.relationClient_is_a_Resource = this.Relations["Client_is_a_Resource"];
             this.relationClientGroup_is_a_Resource = this.Relations["ClientGroup_is_a_Resource"];
+            this.relationR_52 = this.Relations["R_52"];
             this.relationR_21 = this.Relations["R_21"];
-            this.relationR_52 = this.Relations["R_52"];
-            this.relationR_59 = this.Relations["R_59"];
             this.relationR_14 = this.Relations["R_14"];
         }
@@ -324,14 +321,14 @@
             this.EnforceConstraints = true;
             this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
+            this.tableClient = new ClientDataTable();
+            base.Tables.Add(this.tableClient);
             this.tableResource = new ResourceDataTable();
             base.Tables.Add(this.tableResource);
-            this.tableClient = new ClientDataTable();
-            base.Tables.Add(this.tableClient);
             this.tableClientGroup = new ClientGroupDataTable();
             base.Tables.Add(this.tableClientGroup);
+            this.tableClientGroup_Resource = new ClientGroup_ResourceDataTable();
+            base.Tables.Add(this.tableClientGroup_Resource);
             this.tableJob = new JobDataTable();
             base.Tables.Add(this.tableJob);
-            this.tableClientGroup_Resource = new ClientGroup_ResourceDataTable();
-            base.Tables.Add(this.tableClientGroup_Resource);
             this.tableJobResult = new JobResultDataTable();
             base.Tables.Add(this.tableJobResult);
@@ -344,16 +341,12 @@
                         this.tableClientGroup.ResourceIdColumn}, false);
             this.Relations.Add(this.relationClientGroup_is_a_Resource);
+            this.relationR_52 = new global::System.Data.DataRelation("R_52", new global::System.Data.DataColumn[] {
+                        this.tableClientGroup.ResourceIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableClientGroup_Resource.ClientGroupIdColumn}, false);
+            this.Relations.Add(this.relationR_52);
             this.relationR_21 = new global::System.Data.DataRelation("R_21", new global::System.Data.DataColumn[] {
                         this.tableClient.ResourceIdColumn}, new global::System.Data.DataColumn[] {
                         this.tableJob.ResourceIdColumn}, false);
             this.Relations.Add(this.relationR_21);
-            this.relationR_52 = new global::System.Data.DataRelation("R_52", new global::System.Data.DataColumn[] {
-                        this.tableClientGroup.ResourceIdColumn}, new global::System.Data.DataColumn[] {
-                        this.tableClientGroup_Resource.ClientGroupIdColumn}, false);
-            this.Relations.Add(this.relationR_52);
-            this.relationR_59 = new global::System.Data.DataRelation("R_59", new global::System.Data.DataColumn[] {
-                        this.tableResource.ResourceIdColumn}, new global::System.Data.DataColumn[] {
-                        this.tableClientGroup_Resource.ResourceIdColumn}, false);
-            this.Relations.Add(this.relationR_59);
             this.relationR_14 = new global::System.Data.DataRelation("R_14", new global::System.Data.DataColumn[] {
                         this.tableJob.JobIdColumn}, new global::System.Data.DataColumn[] {
@@ -363,4 +356,9 @@
         
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private bool ShouldSerializeClient() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         private bool ShouldSerializeResource() {
             return false;
@@ -368,9 +366,4 @@
         
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        private bool ShouldSerializeClient() {
-            return false;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         private bool ShouldSerializeClientGroup() {
             return false;
@@ -378,10 +371,10 @@
         
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private bool ShouldSerializeClientGroup_Resource() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         private bool ShouldSerializeJob() {
-            return false;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        private bool ShouldSerializeClientGroup_Resource() {
             return false;
         }
@@ -445,15 +438,330 @@
         }
         
+        public delegate void ClientRowChangeEventHandler(object sender, ClientRowChangeEvent e);
+        
         public delegate void ResourceRowChangeEventHandler(object sender, ResourceRowChangeEvent e);
         
-        public delegate void ClientRowChangeEventHandler(object sender, ClientRowChangeEvent e);
-        
         public delegate void ClientGroupRowChangeEventHandler(object sender, ClientGroupRowChangeEvent e);
         
+        public delegate void ClientGroup_ResourceRowChangeEventHandler(object sender, ClientGroup_ResourceRowChangeEvent e);
+        
         public delegate void JobRowChangeEventHandler(object sender, JobRowChangeEvent e);
         
-        public delegate void ClientGroup_ResourceRowChangeEventHandler(object sender, ClientGroup_ResourceRowChangeEvent e);
-        
         public delegate void JobResultRowChangeEventHandler(object sender, JobResultRowChangeEvent e);
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class ClientDataTable : global::System.Data.TypedTableBase<ClientRow> {
+            
+            private global::System.Data.DataColumn columnResourceId;
+            
+            private global::System.Data.DataColumn columnCPUSpeed;
+            
+            private global::System.Data.DataColumn columnMemory;
+            
+            private global::System.Data.DataColumn columnLogin;
+            
+            private global::System.Data.DataColumn columnStatus;
+            
+            private global::System.Data.DataColumn columnClientConfigId;
+            
+            private global::System.Data.DataColumn columnNumberOfCores;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientDataTable() {
+                this.TableName = "Client";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            internal ClientDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected ClientDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn ResourceIdColumn {
+                get {
+                    return this.columnResourceId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn CPUSpeedColumn {
+                get {
+                    return this.columnCPUSpeed;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn MemoryColumn {
+                get {
+                    return this.columnMemory;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn LoginColumn {
+                get {
+                    return this.columnLogin;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn StatusColumn {
+                get {
+                    return this.columnStatus;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn ClientConfigIdColumn {
+                get {
+                    return this.columnClientConfigId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn NumberOfCoresColumn {
+                get {
+                    return this.columnNumberOfCores;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientRow this[int index] {
+                get {
+                    return ((ClientRow)(this.Rows[index]));
+                }
+            }
+            
+            public event ClientRowChangeEventHandler ClientRowChanging;
+            
+            public event ClientRowChangeEventHandler ClientRowChanged;
+            
+            public event ClientRowChangeEventHandler ClientRowDeleting;
+            
+            public event ClientRowChangeEventHandler ClientRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void AddClientRow(ClientRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientRow AddClientRow(ResourceRow parentResourceRowByClient_is_a_Resource, int CPUSpeed, int Memory, System.DateTime Login, string Status, System.Guid ClientConfigId, int NumberOfCores) {
+                ClientRow rowClientRow = ((ClientRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        CPUSpeed,
+                        Memory,
+                        Login,
+                        Status,
+                        ClientConfigId,
+                        NumberOfCores};
+                if ((parentResourceRowByClient_is_a_Resource != null)) {
+                    columnValuesArray[0] = parentResourceRowByClient_is_a_Resource[0];
+                }
+                rowClientRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowClientRow);
+                return rowClientRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientRow FindByResourceId(System.Guid ResourceId) {
+                return ((ClientRow)(this.Rows.Find(new object[] {
+                            ResourceId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public override global::System.Data.DataTable Clone() {
+                ClientDataTable cln = ((ClientDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new ClientDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            internal void InitVars() {
+                this.columnResourceId = base.Columns["ResourceId"];
+                this.columnCPUSpeed = base.Columns["CPUSpeed"];
+                this.columnMemory = base.Columns["Memory"];
+                this.columnLogin = base.Columns["Login"];
+                this.columnStatus = base.Columns["Status"];
+                this.columnClientConfigId = base.Columns["ClientConfigId"];
+                this.columnNumberOfCores = base.Columns["NumberOfCores"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            private void InitClass() {
+                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnResourceId);
+                this.columnCPUSpeed = new global::System.Data.DataColumn("CPUSpeed", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnCPUSpeed);
+                this.columnMemory = new global::System.Data.DataColumn("Memory", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnMemory);
+                this.columnLogin = new global::System.Data.DataColumn("Login", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnLogin);
+                this.columnStatus = new global::System.Data.DataColumn("Status", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnStatus);
+                this.columnClientConfigId = new global::System.Data.DataColumn("ClientConfigId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnClientConfigId);
+                this.columnNumberOfCores = new global::System.Data.DataColumn("NumberOfCores", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnNumberOfCores);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnResourceId}, true));
+                this.columnResourceId.AllowDBNull = false;
+                this.columnResourceId.Unique = true;
+                this.columnStatus.MaxLength = 18;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientRow NewClientRow() {
+                return ((ClientRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new ClientRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override global::System.Type GetRowType() {
+                return typeof(ClientRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.ClientRowChanged != null)) {
+                    this.ClientRowChanged(this, new ClientRowChangeEvent(((ClientRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.ClientRowChanging != null)) {
+                    this.ClientRowChanging(this, new ClientRowChangeEvent(((ClientRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.ClientRowDeleted != null)) {
+                    this.ClientRowDeleted(this, new ClientRowChangeEvent(((ClientRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.ClientRowDeleting != null)) {
+                    this.ClientRowDeleting(this, new ClientRowChangeEvent(((ClientRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void RemoveClientRow(ClientRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                dsHiveServer ds = new dsHiveServer();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "ClientDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
         
         /// <summary>
@@ -542,8 +850,8 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ResourceRow AddResourceRow(string Name) {
+            public ResourceRow AddResourceRow(System.Guid ResourceId, string Name) {
                 ResourceRow rowResourceRow = ((ResourceRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
-                        null,
+                        ResourceId,
                         Name};
                 rowResourceRow.ItemArray = columnValuesArray;
@@ -553,5 +861,5 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ResourceRow FindByResourceId(long ResourceId) {
+            public ResourceRow FindByResourceId(System.Guid ResourceId) {
                 return ((ResourceRow)(this.Rows.Find(new object[] {
                             ResourceId})));
@@ -578,5 +886,5 @@
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             private void InitClass() {
-                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(long), null, global::System.Data.MappingType.Element);
+                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnResourceId);
                 this.columnName = new global::System.Data.DataColumn("Name", typeof(string), null, global::System.Data.MappingType.Element);
@@ -584,9 +892,5 @@
                 this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                 this.columnResourceId}, true));
-                this.columnResourceId.AutoIncrement = true;
-                this.columnResourceId.AutoIncrementSeed = -1;
-                this.columnResourceId.AutoIncrementStep = -1;
                 this.columnResourceId.AllowDBNull = false;
-                this.columnResourceId.ReadOnly = true;
                 this.columnResourceId.Unique = true;
                 this.columnName.MaxLength = 18;
@@ -714,332 +1018,4 @@
         [global::System.Serializable()]
         [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
-        public partial class ClientDataTable : global::System.Data.TypedTableBase<ClientRow> {
-            
-            private global::System.Data.DataColumn columnResourceId;
-            
-            private global::System.Data.DataColumn columnGUID;
-            
-            private global::System.Data.DataColumn columnCPUSpeed;
-            
-            private global::System.Data.DataColumn columnMemory;
-            
-            private global::System.Data.DataColumn columnLogin;
-            
-            private global::System.Data.DataColumn columnStatus;
-            
-            private global::System.Data.DataColumn columnClientConfigId;
-            
-            private global::System.Data.DataColumn columnNumberOfCores;
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientDataTable() {
-                this.TableName = "Client";
-                this.BeginInit();
-                this.InitClass();
-                this.EndInit();
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            internal ClientDataTable(global::System.Data.DataTable table) {
-                this.TableName = table.TableName;
-                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
-                    this.CaseSensitive = table.CaseSensitive;
-                }
-                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
-                    this.Locale = table.Locale;
-                }
-                if ((table.Namespace != table.DataSet.Namespace)) {
-                    this.Namespace = table.Namespace;
-                }
-                this.Prefix = table.Prefix;
-                this.MinimumCapacity = table.MinimumCapacity;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected ClientDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
-                    base(info, context) {
-                this.InitVars();
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn ResourceIdColumn {
-                get {
-                    return this.columnResourceId;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn GUIDColumn {
-                get {
-                    return this.columnGUID;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn CPUSpeedColumn {
-                get {
-                    return this.columnCPUSpeed;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn MemoryColumn {
-                get {
-                    return this.columnMemory;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn LoginColumn {
-                get {
-                    return this.columnLogin;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn StatusColumn {
-                get {
-                    return this.columnStatus;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn ClientConfigIdColumn {
-                get {
-                    return this.columnClientConfigId;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn NumberOfCoresColumn {
-                get {
-                    return this.columnNumberOfCores;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            [global::System.ComponentModel.Browsable(false)]
-            public int Count {
-                get {
-                    return this.Rows.Count;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientRow this[int index] {
-                get {
-                    return ((ClientRow)(this.Rows[index]));
-                }
-            }
-            
-            public event ClientRowChangeEventHandler ClientRowChanging;
-            
-            public event ClientRowChangeEventHandler ClientRowChanged;
-            
-            public event ClientRowChangeEventHandler ClientRowDeleting;
-            
-            public event ClientRowChangeEventHandler ClientRowDeleted;
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void AddClientRow(ClientRow row) {
-                this.Rows.Add(row);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientRow AddClientRow(ResourceRow parentResourceRowByClient_is_a_Resource, System.Guid GUID, int CPUSpeed, int Memory, System.DateTime Login, string Status, long ClientConfigId, int NumberOfCores) {
-                ClientRow rowClientRow = ((ClientRow)(this.NewRow()));
-                object[] columnValuesArray = new object[] {
-                        null,
-                        GUID,
-                        CPUSpeed,
-                        Memory,
-                        Login,
-                        Status,
-                        ClientConfigId,
-                        NumberOfCores};
-                if ((parentResourceRowByClient_is_a_Resource != null)) {
-                    columnValuesArray[0] = parentResourceRowByClient_is_a_Resource[0];
-                }
-                rowClientRow.ItemArray = columnValuesArray;
-                this.Rows.Add(rowClientRow);
-                return rowClientRow;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientRow FindByResourceId(long ResourceId) {
-                return ((ClientRow)(this.Rows.Find(new object[] {
-                            ResourceId})));
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public override global::System.Data.DataTable Clone() {
-                ClientDataTable cln = ((ClientDataTable)(base.Clone()));
-                cln.InitVars();
-                return cln;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override global::System.Data.DataTable CreateInstance() {
-                return new ClientDataTable();
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            internal void InitVars() {
-                this.columnResourceId = base.Columns["ResourceId"];
-                this.columnGUID = base.Columns["GUID"];
-                this.columnCPUSpeed = base.Columns["CPUSpeed"];
-                this.columnMemory = base.Columns["Memory"];
-                this.columnLogin = base.Columns["Login"];
-                this.columnStatus = base.Columns["Status"];
-                this.columnClientConfigId = base.Columns["ClientConfigId"];
-                this.columnNumberOfCores = base.Columns["NumberOfCores"];
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            private void InitClass() {
-                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(long), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnResourceId);
-                this.columnGUID = new global::System.Data.DataColumn("GUID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnGUID);
-                this.columnCPUSpeed = new global::System.Data.DataColumn("CPUSpeed", typeof(int), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnCPUSpeed);
-                this.columnMemory = new global::System.Data.DataColumn("Memory", typeof(int), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnMemory);
-                this.columnLogin = new global::System.Data.DataColumn("Login", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnLogin);
-                this.columnStatus = new global::System.Data.DataColumn("Status", typeof(string), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnStatus);
-                this.columnClientConfigId = new global::System.Data.DataColumn("ClientConfigId", typeof(long), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnClientConfigId);
-                this.columnNumberOfCores = new global::System.Data.DataColumn("NumberOfCores", typeof(int), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnNumberOfCores);
-                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
-                                this.columnResourceId}, true));
-                this.columnResourceId.AllowDBNull = false;
-                this.columnResourceId.Unique = true;
-                this.columnStatus.MaxLength = 18;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientRow NewClientRow() {
-                return ((ClientRow)(this.NewRow()));
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
-                return new ClientRow(builder);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override global::System.Type GetRowType() {
-                return typeof(ClientRow);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
-                base.OnRowChanged(e);
-                if ((this.ClientRowChanged != null)) {
-                    this.ClientRowChanged(this, new ClientRowChangeEvent(((ClientRow)(e.Row)), e.Action));
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
-                base.OnRowChanging(e);
-                if ((this.ClientRowChanging != null)) {
-                    this.ClientRowChanging(this, new ClientRowChangeEvent(((ClientRow)(e.Row)), e.Action));
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
-                base.OnRowDeleted(e);
-                if ((this.ClientRowDeleted != null)) {
-                    this.ClientRowDeleted(this, new ClientRowChangeEvent(((ClientRow)(e.Row)), e.Action));
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
-                base.OnRowDeleting(e);
-                if ((this.ClientRowDeleting != null)) {
-                    this.ClientRowDeleting(this, new ClientRowChangeEvent(((ClientRow)(e.Row)), e.Action));
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void RemoveClientRow(ClientRow row) {
-                this.Rows.Remove(row);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
-                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
-                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
-                dsHiveServer ds = new dsHiveServer();
-                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
-                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
-                any1.MinOccurs = new decimal(0);
-                any1.MaxOccurs = decimal.MaxValue;
-                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
-                sequence.Items.Add(any1);
-                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
-                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
-                any2.MinOccurs = new decimal(1);
-                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
-                sequence.Items.Add(any2);
-                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
-                attribute1.Name = "namespace";
-                attribute1.FixedValue = ds.Namespace;
-                type.Attributes.Add(attribute1);
-                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
-                attribute2.Name = "tableTypeName";
-                attribute2.FixedValue = "ClientDataTable";
-                type.Attributes.Add(attribute2);
-                type.Particle = sequence;
-                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
-                if (xs.Contains(dsSchema.TargetNamespace)) {
-                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
-                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
-                    try {
-                        global::System.Xml.Schema.XmlSchema schema = null;
-                        dsSchema.Write(s1);
-                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
-                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
-                            s2.SetLength(0);
-                            schema.Write(s2);
-                            if ((s1.Length == s2.Length)) {
-                                s1.Position = 0;
-                                s2.Position = 0;
-                                for (; ((s1.Position != s1.Length) 
-                                            && (s1.ReadByte() == s2.ReadByte())); ) {
-                                    ;
-                                }
-                                if ((s1.Position == s1.Length)) {
-                                    return type;
-                                }
-                            }
-                        }
-                    }
-                    finally {
-                        if ((s1 != null)) {
-                            s1.Close();
-                        }
-                        if ((s2 != null)) {
-                            s2.Close();
-                        }
-                    }
-                }
-                xs.Add(dsSchema);
-                return type;
-            }
-        }
-        
-        /// <summary>
-        ///Represents the strongly named DataTable class.
-        ///</summary>
-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
-        [global::System.Serializable()]
-        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
         public partial class ClientGroupDataTable : global::System.Data.TypedTableBase<ClientGroupRow> {
             
@@ -1125,5 +1101,5 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroupRow FindByResourceId(long ResourceId) {
+            public ClientGroupRow FindByResourceId(System.Guid ResourceId) {
                 return ((ClientGroupRow)(this.Rows.Find(new object[] {
                             ResourceId})));
@@ -1149,5 +1125,5 @@
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             private void InitClass() {
-                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(long), null, global::System.Data.MappingType.Element);
+                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnResourceId);
                 this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
@@ -1278,4 +1254,255 @@
         [global::System.Serializable()]
         [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class ClientGroup_ResourceDataTable : global::System.Data.TypedTableBase<ClientGroup_ResourceRow> {
+            
+            private global::System.Data.DataColumn columnClientGroupId;
+            
+            private global::System.Data.DataColumn columnResourceId;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientGroup_ResourceDataTable() {
+                this.TableName = "ClientGroup_Resource";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            internal ClientGroup_ResourceDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected ClientGroup_ResourceDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn ClientGroupIdColumn {
+                get {
+                    return this.columnClientGroupId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn ResourceIdColumn {
+                get {
+                    return this.columnResourceId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientGroup_ResourceRow this[int index] {
+                get {
+                    return ((ClientGroup_ResourceRow)(this.Rows[index]));
+                }
+            }
+            
+            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowChanging;
+            
+            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowChanged;
+            
+            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowDeleting;
+            
+            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void AddClientGroup_ResourceRow(ClientGroup_ResourceRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientGroup_ResourceRow AddClientGroup_ResourceRow(ClientGroupRow parentClientGroupRowByR_52, System.Guid ResourceId) {
+                ClientGroup_ResourceRow rowClientGroup_ResourceRow = ((ClientGroup_ResourceRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        ResourceId};
+                if ((parentClientGroupRowByR_52 != null)) {
+                    columnValuesArray[0] = parentClientGroupRowByR_52[0];
+                }
+                rowClientGroup_ResourceRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowClientGroup_ResourceRow);
+                return rowClientGroup_ResourceRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientGroup_ResourceRow FindByClientGroupIdResourceId(System.Guid ClientGroupId, System.Guid ResourceId) {
+                return ((ClientGroup_ResourceRow)(this.Rows.Find(new object[] {
+                            ClientGroupId,
+                            ResourceId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public override global::System.Data.DataTable Clone() {
+                ClientGroup_ResourceDataTable cln = ((ClientGroup_ResourceDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new ClientGroup_ResourceDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            internal void InitVars() {
+                this.columnClientGroupId = base.Columns["ClientGroupId"];
+                this.columnResourceId = base.Columns["ResourceId"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            private void InitClass() {
+                this.columnClientGroupId = new global::System.Data.DataColumn("ClientGroupId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnClientGroupId);
+                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnResourceId);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnClientGroupId,
+                                this.columnResourceId}, true));
+                this.columnClientGroupId.AllowDBNull = false;
+                this.columnResourceId.AllowDBNull = false;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientGroup_ResourceRow NewClientGroup_ResourceRow() {
+                return ((ClientGroup_ResourceRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new ClientGroup_ResourceRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override global::System.Type GetRowType() {
+                return typeof(ClientGroup_ResourceRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.ClientGroup_ResourceRowChanged != null)) {
+                    this.ClientGroup_ResourceRowChanged(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.ClientGroup_ResourceRowChanging != null)) {
+                    this.ClientGroup_ResourceRowChanging(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.ClientGroup_ResourceRowDeleted != null)) {
+                    this.ClientGroup_ResourceRowDeleted(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.ClientGroup_ResourceRowDeleting != null)) {
+                    this.ClientGroup_ResourceRowDeleting(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void RemoveClientGroup_ResourceRow(ClientGroup_ResourceRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                dsHiveServer ds = new dsHiveServer();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "ClientGroup_ResourceDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
         public partial class JobDataTable : global::System.Data.TypedTableBase<JobRow> {
             
@@ -1284,10 +1511,8 @@
             private global::System.Data.DataColumn columnParentJobId;
             
-            private global::System.Data.DataColumn columnPermissionOwnerId;
+            private global::System.Data.DataColumn columnJobState;
             
             private global::System.Data.DataColumn columnResourceId;
             
-            private global::System.Data.DataColumn columnJobState;
-            
             private global::System.Data.DataColumn columnPercentage;
             
@@ -1299,4 +1524,8 @@
             
             private global::System.Data.DataColumn columnPriority;
+            
+            private global::System.Data.DataColumn columnProjectId;
+            
+            private global::System.Data.DataColumn columnUserId;
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -1345,7 +1574,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn PermissionOwnerIdColumn {
-                get {
-                    return this.columnPermissionOwnerId;
+            public global::System.Data.DataColumn JobStateColumn {
+                get {
+                    return this.columnJobState;
                 }
             }
@@ -1359,11 +1588,4 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn JobStateColumn {
-                get {
-                    return this.columnJobState;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public global::System.Data.DataColumn PercentageColumn {
                 get {
@@ -1397,4 +1619,18 @@
                 get {
                     return this.columnPriority;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn ProjectIdColumn {
+                get {
+                    return this.columnProjectId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn UserIdColumn {
+                get {
+                    return this.columnUserId;
                 }
             }
@@ -1429,17 +1665,18 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public JobRow AddJobRow(long ParentJobId, long PermissionOwnerId, ClientRow parentClientRowByR_21, string JobState, double Percentage, byte[] SerializedJob, System.DateTime DateCreated, System.DateTime DateCalculated, int Priority) {
+            public JobRow AddJobRow(System.Guid JobId, System.Guid ParentJobId, string JobState, ClientRow parentClientRowByR_21, double Percentage, byte[] SerializedJob, System.DateTime DateCreated, System.DateTime DateCalculated, int Priority, System.Guid ProjectId, System.Guid UserId) {
                 JobRow rowJobRow = ((JobRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
+                        JobId,
+                        ParentJobId,
+                        JobState,
                         null,
-                        ParentJobId,
-                        PermissionOwnerId,
-                        null,
-                        JobState,
                         Percentage,
                         SerializedJob,
                         DateCreated,
                         DateCalculated,
-                        Priority};
+                        Priority,
+                        ProjectId,
+                        UserId};
                 if ((parentClientRowByR_21 != null)) {
                     columnValuesArray[3] = parentClientRowByR_21[0];
@@ -1451,5 +1688,5 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public JobRow FindByJobId(long JobId) {
+            public JobRow FindByJobId(System.Guid JobId) {
                 return ((JobRow)(this.Rows.Find(new object[] {
                             JobId})));
@@ -1472,7 +1709,6 @@
                 this.columnJobId = base.Columns["JobId"];
                 this.columnParentJobId = base.Columns["ParentJobId"];
-                this.columnPermissionOwnerId = base.Columns["PermissionOwnerId"];
+                this.columnJobState = base.Columns["JobState"];
                 this.columnResourceId = base.Columns["ResourceId"];
-                this.columnJobState = base.Columns["JobState"];
                 this.columnPercentage = base.Columns["Percentage"];
                 this.columnSerializedJob = base.Columns["SerializedJob"];
@@ -1480,18 +1716,18 @@
                 this.columnDateCalculated = base.Columns["DateCalculated"];
                 this.columnPriority = base.Columns["Priority"];
+                this.columnProjectId = base.Columns["ProjectId"];
+                this.columnUserId = base.Columns["UserId"];
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             private void InitClass() {
-                this.columnJobId = new global::System.Data.DataColumn("JobId", typeof(long), null, global::System.Data.MappingType.Element);
+                this.columnJobId = new global::System.Data.DataColumn("JobId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnJobId);
-                this.columnParentJobId = new global::System.Data.DataColumn("ParentJobId", typeof(long), null, global::System.Data.MappingType.Element);
+                this.columnParentJobId = new global::System.Data.DataColumn("ParentJobId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnParentJobId);
-                this.columnPermissionOwnerId = new global::System.Data.DataColumn("PermissionOwnerId", typeof(long), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnPermissionOwnerId);
-                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(long), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnResourceId);
                 this.columnJobState = new global::System.Data.DataColumn("JobState", typeof(string), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnJobState);
+                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnResourceId);
                 this.columnPercentage = new global::System.Data.DataColumn("Percentage", typeof(double), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnPercentage);
@@ -1504,11 +1740,11 @@
                 this.columnPriority = new global::System.Data.DataColumn("Priority", typeof(int), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnPriority);
+                this.columnProjectId = new global::System.Data.DataColumn("ProjectId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnProjectId);
+                this.columnUserId = new global::System.Data.DataColumn("UserId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnUserId);
                 this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                 this.columnJobId}, true));
-                this.columnJobId.AutoIncrement = true;
-                this.columnJobId.AutoIncrementSeed = -1;
-                this.columnJobId.AutoIncrementStep = -1;
                 this.columnJobId.AllowDBNull = false;
-                this.columnJobId.ReadOnly = true;
                 this.columnJobId.Unique = true;
                 this.columnJobState.MaxLength = 18;
@@ -1636,271 +1872,17 @@
         [global::System.Serializable()]
         [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
-        public partial class ClientGroup_ResourceDataTable : global::System.Data.TypedTableBase<ClientGroup_ResourceRow> {
-            
-            private global::System.Data.DataColumn columnClientGroupId;
+        public partial class JobResultDataTable : global::System.Data.TypedTableBase<JobResultRow> {
+            
+            private global::System.Data.DataColumn columnJobResultId;
+            
+            private global::System.Data.DataColumn columnJobId;
+            
+            private global::System.Data.DataColumn columnJobResult;
+            
+            private global::System.Data.DataColumn columnMessage;
+            
+            private global::System.Data.DataColumn columnPercentage;
             
             private global::System.Data.DataColumn columnResourceId;
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroup_ResourceDataTable() {
-                this.TableName = "ClientGroup_Resource";
-                this.BeginInit();
-                this.InitClass();
-                this.EndInit();
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            internal ClientGroup_ResourceDataTable(global::System.Data.DataTable table) {
-                this.TableName = table.TableName;
-                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
-                    this.CaseSensitive = table.CaseSensitive;
-                }
-                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
-                    this.Locale = table.Locale;
-                }
-                if ((table.Namespace != table.DataSet.Namespace)) {
-                    this.Namespace = table.Namespace;
-                }
-                this.Prefix = table.Prefix;
-                this.MinimumCapacity = table.MinimumCapacity;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected ClientGroup_ResourceDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
-                    base(info, context) {
-                this.InitVars();
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn ClientGroupIdColumn {
-                get {
-                    return this.columnClientGroupId;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn ResourceIdColumn {
-                get {
-                    return this.columnResourceId;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            [global::System.ComponentModel.Browsable(false)]
-            public int Count {
-                get {
-                    return this.Rows.Count;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroup_ResourceRow this[int index] {
-                get {
-                    return ((ClientGroup_ResourceRow)(this.Rows[index]));
-                }
-            }
-            
-            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowChanging;
-            
-            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowChanged;
-            
-            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowDeleting;
-            
-            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowDeleted;
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void AddClientGroup_ResourceRow(ClientGroup_ResourceRow row) {
-                this.Rows.Add(row);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroup_ResourceRow AddClientGroup_ResourceRow(ClientGroupRow parentClientGroupRowByR_52, ResourceRow parentResourceRowByR_59) {
-                ClientGroup_ResourceRow rowClientGroup_ResourceRow = ((ClientGroup_ResourceRow)(this.NewRow()));
-                object[] columnValuesArray = new object[] {
-                        null,
-                        null};
-                if ((parentClientGroupRowByR_52 != null)) {
-                    columnValuesArray[0] = parentClientGroupRowByR_52[0];
-                }
-                if ((parentResourceRowByR_59 != null)) {
-                    columnValuesArray[1] = parentResourceRowByR_59[0];
-                }
-                rowClientGroup_ResourceRow.ItemArray = columnValuesArray;
-                this.Rows.Add(rowClientGroup_ResourceRow);
-                return rowClientGroup_ResourceRow;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroup_ResourceRow FindByClientGroupIdResourceId(long ClientGroupId, long ResourceId) {
-                return ((ClientGroup_ResourceRow)(this.Rows.Find(new object[] {
-                            ClientGroupId,
-                            ResourceId})));
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public override global::System.Data.DataTable Clone() {
-                ClientGroup_ResourceDataTable cln = ((ClientGroup_ResourceDataTable)(base.Clone()));
-                cln.InitVars();
-                return cln;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override global::System.Data.DataTable CreateInstance() {
-                return new ClientGroup_ResourceDataTable();
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            internal void InitVars() {
-                this.columnClientGroupId = base.Columns["ClientGroupId"];
-                this.columnResourceId = base.Columns["ResourceId"];
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            private void InitClass() {
-                this.columnClientGroupId = new global::System.Data.DataColumn("ClientGroupId", typeof(long), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnClientGroupId);
-                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(long), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnResourceId);
-                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
-                                this.columnClientGroupId,
-                                this.columnResourceId}, true));
-                this.columnClientGroupId.AllowDBNull = false;
-                this.columnResourceId.AllowDBNull = false;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroup_ResourceRow NewClientGroup_ResourceRow() {
-                return ((ClientGroup_ResourceRow)(this.NewRow()));
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
-                return new ClientGroup_ResourceRow(builder);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override global::System.Type GetRowType() {
-                return typeof(ClientGroup_ResourceRow);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
-                base.OnRowChanged(e);
-                if ((this.ClientGroup_ResourceRowChanged != null)) {
-                    this.ClientGroup_ResourceRowChanged(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
-                base.OnRowChanging(e);
-                if ((this.ClientGroup_ResourceRowChanging != null)) {
-                    this.ClientGroup_ResourceRowChanging(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
-                base.OnRowDeleted(e);
-                if ((this.ClientGroup_ResourceRowDeleted != null)) {
-                    this.ClientGroup_ResourceRowDeleted(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
-                base.OnRowDeleting(e);
-                if ((this.ClientGroup_ResourceRowDeleting != null)) {
-                    this.ClientGroup_ResourceRowDeleting(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void RemoveClientGroup_ResourceRow(ClientGroup_ResourceRow row) {
-                this.Rows.Remove(row);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
-                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
-                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
-                dsHiveServer ds = new dsHiveServer();
-                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
-                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
-                any1.MinOccurs = new decimal(0);
-                any1.MaxOccurs = decimal.MaxValue;
-                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
-                sequence.Items.Add(any1);
-                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
-                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
-                any2.MinOccurs = new decimal(1);
-                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
-                sequence.Items.Add(any2);
-                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
-                attribute1.Name = "namespace";
-                attribute1.FixedValue = ds.Namespace;
-                type.Attributes.Add(attribute1);
-                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
-                attribute2.Name = "tableTypeName";
-                attribute2.FixedValue = "ClientGroup_ResourceDataTable";
-                type.Attributes.Add(attribute2);
-                type.Particle = sequence;
-                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
-                if (xs.Contains(dsSchema.TargetNamespace)) {
-                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
-                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
-                    try {
-                        global::System.Xml.Schema.XmlSchema schema = null;
-                        dsSchema.Write(s1);
-                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
-                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
-                            s2.SetLength(0);
-                            schema.Write(s2);
-                            if ((s1.Length == s2.Length)) {
-                                s1.Position = 0;
-                                s2.Position = 0;
-                                for (; ((s1.Position != s1.Length) 
-                                            && (s1.ReadByte() == s2.ReadByte())); ) {
-                                    ;
-                                }
-                                if ((s1.Position == s1.Length)) {
-                                    return type;
-                                }
-                            }
-                        }
-                    }
-                    finally {
-                        if ((s1 != null)) {
-                            s1.Close();
-                        }
-                        if ((s2 != null)) {
-                            s2.Close();
-                        }
-                    }
-                }
-                xs.Add(dsSchema);
-                return type;
-            }
-        }
-        
-        /// <summary>
-        ///Represents the strongly named DataTable class.
-        ///</summary>
-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
-        [global::System.Serializable()]
-        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
-        public partial class JobResultDataTable : global::System.Data.TypedTableBase<JobResultRow> {
-            
-            private global::System.Data.DataColumn columnJobResultId;
-            
-            private global::System.Data.DataColumn columnJobId;
-            
-            private global::System.Data.DataColumn columnJobResult;
-            
-            private global::System.Data.DataColumn columnResourceId;
-            
-            private global::System.Data.DataColumn columnMessage;
-            
-            private global::System.Data.DataColumn columnPercentage;
             
             private global::System.Data.DataColumn columnDateFinished;
@@ -1958,21 +1940,21 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn MessageColumn {
+                get {
+                    return this.columnMessage;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn PercentageColumn {
+                get {
+                    return this.columnPercentage;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public global::System.Data.DataColumn ResourceIdColumn {
                 get {
                     return this.columnResourceId;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn MessageColumn {
-                get {
-                    return this.columnMessage;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataColumn PercentageColumn {
-                get {
-                    return this.columnPercentage;
                 }
             }
@@ -2014,13 +1996,13 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public JobResultRow AddJobResultRow(JobRow parentJobRowByR_14, byte[] JobResult, long ResourceId, string Message, double Percentage, System.DateTime DateFinished) {
+            public JobResultRow AddJobResultRow(System.Guid JobResultId, JobRow parentJobRowByR_14, byte[] JobResult, string Message, double Percentage, System.Guid ResourceId, System.DateTime DateFinished) {
                 JobResultRow rowJobResultRow = ((JobResultRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
-                        null,
+                        JobResultId,
                         null,
                         JobResult,
-                        ResourceId,
                         Message,
                         Percentage,
+                        ResourceId,
                         DateFinished};
                 if ((parentJobRowByR_14 != null)) {
@@ -2033,5 +2015,5 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public JobResultRow FindByJobResultId(long JobResultId) {
+            public JobResultRow FindByJobResultId(System.Guid JobResultId) {
                 return ((JobResultRow)(this.Rows.Find(new object[] {
                             JobResultId})));
@@ -2055,7 +2037,7 @@
                 this.columnJobId = base.Columns["JobId"];
                 this.columnJobResult = base.Columns["JobResult"];
-                this.columnResourceId = base.Columns["ResourceId"];
                 this.columnMessage = base.Columns["Message"];
                 this.columnPercentage = base.Columns["Percentage"];
+                this.columnResourceId = base.Columns["ResourceId"];
                 this.columnDateFinished = base.Columns["DateFinished"];
             }
@@ -2063,25 +2045,21 @@
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             private void InitClass() {
-                this.columnJobResultId = new global::System.Data.DataColumn("JobResultId", typeof(long), null, global::System.Data.MappingType.Element);
+                this.columnJobResultId = new global::System.Data.DataColumn("JobResultId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnJobResultId);
-                this.columnJobId = new global::System.Data.DataColumn("JobId", typeof(long), null, global::System.Data.MappingType.Element);
+                this.columnJobId = new global::System.Data.DataColumn("JobId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnJobId);
                 this.columnJobResult = new global::System.Data.DataColumn("JobResult", typeof(byte[]), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnJobResult);
-                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(long), null, global::System.Data.MappingType.Element);
-                base.Columns.Add(this.columnResourceId);
                 this.columnMessage = new global::System.Data.DataColumn("Message", typeof(string), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnMessage);
                 this.columnPercentage = new global::System.Data.DataColumn("Percentage", typeof(double), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnPercentage);
+                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnResourceId);
                 this.columnDateFinished = new global::System.Data.DataColumn("DateFinished", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnDateFinished);
                 this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                 this.columnJobResultId}, true));
-                this.columnJobResultId.AutoIncrement = true;
-                this.columnJobResultId.AutoIncrementSeed = -1;
-                this.columnJobResultId.AutoIncrementStep = -1;
                 this.columnJobResultId.AllowDBNull = false;
-                this.columnJobResultId.ReadOnly = true;
                 this.columnJobResultId.Unique = true;
                 this.columnMessage.MaxLength = 2147483647;
@@ -2207,76 +2185,191 @@
         ///</summary>
         [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
-        public partial class ResourceRow : global::System.Data.DataRow {
-            
-            private ResourceDataTable tableResource;
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            internal ResourceRow(global::System.Data.DataRowBuilder rb) : 
+        public partial class ClientRow : global::System.Data.DataRow {
+            
+            private ClientDataTable tableClient;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            internal ClientRow(global::System.Data.DataRowBuilder rb) : 
                     base(rb) {
-                this.tableResource = ((ResourceDataTable)(this.Table));
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long ResourceId {
-                get {
-                    return ((long)(this[this.tableResource.ResourceIdColumn]));
+                this.tableClient = ((ClientDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.Guid ResourceId {
+                get {
+                    return ((global::System.Guid)(this[this.tableClient.ResourceIdColumn]));
                 }
                 set {
-                    this[this.tableResource.ResourceIdColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public string Name {
+                    this[this.tableClient.ResourceIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public int CPUSpeed {
                 get {
                     try {
-                        return ((string)(this[this.tableResource.NameColumn]));
+                        return ((int)(this[this.tableClient.CPUSpeedColumn]));
                     }
                     catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'Name\' in table \'Resource\' is DBNull.", e);
+                        throw new global::System.Data.StrongTypingException("The value for column \'CPUSpeed\' in table \'Client\' is DBNull.", e);
                     }
                 }
                 set {
-                    this[this.tableResource.NameColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsNameNull() {
-                return this.IsNull(this.tableResource.NameColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetNameNull() {
-                this[this.tableResource.NameColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientRow[] GetClientRows() {
-                if ((this.Table.ChildRelations["Client_is_a_Resource"] == null)) {
-                    return new ClientRow[0];
+                    this[this.tableClient.CPUSpeedColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public int Memory {
+                get {
+                    try {
+                        return ((int)(this[this.tableClient.MemoryColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'Memory\' in table \'Client\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableClient.MemoryColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.DateTime Login {
+                get {
+                    try {
+                        return ((global::System.DateTime)(this[this.tableClient.LoginColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'Login\' in table \'Client\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableClient.LoginColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public string Status {
+                get {
+                    try {
+                        return ((string)(this[this.tableClient.StatusColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'Status\' in table \'Client\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableClient.StatusColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.Guid ClientConfigId {
+                get {
+                    try {
+                        return ((global::System.Guid)(this[this.tableClient.ClientConfigIdColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'ClientConfigId\' in table \'Client\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableClient.ClientConfigIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public int NumberOfCores {
+                get {
+                    try {
+                        return ((int)(this[this.tableClient.NumberOfCoresColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'NumberOfCores\' in table \'Client\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableClient.NumberOfCoresColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ResourceRow ResourceRow {
+                get {
+                    return ((ResourceRow)(this.GetParentRow(this.Table.ParentRelations["Client_is_a_Resource"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["Client_is_a_Resource"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsCPUSpeedNull() {
+                return this.IsNull(this.tableClient.CPUSpeedColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetCPUSpeedNull() {
+                this[this.tableClient.CPUSpeedColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsMemoryNull() {
+                return this.IsNull(this.tableClient.MemoryColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetMemoryNull() {
+                this[this.tableClient.MemoryColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsLoginNull() {
+                return this.IsNull(this.tableClient.LoginColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetLoginNull() {
+                this[this.tableClient.LoginColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsStatusNull() {
+                return this.IsNull(this.tableClient.StatusColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetStatusNull() {
+                this[this.tableClient.StatusColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsClientConfigIdNull() {
+                return this.IsNull(this.tableClient.ClientConfigIdColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetClientConfigIdNull() {
+                this[this.tableClient.ClientConfigIdColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsNumberOfCoresNull() {
+                return this.IsNull(this.tableClient.NumberOfCoresColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetNumberOfCoresNull() {
+                this[this.tableClient.NumberOfCoresColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public JobRow[] GetJobRows() {
+                if ((this.Table.ChildRelations["R_21"] == null)) {
+                    return new JobRow[0];
                 }
                 else {
-                    return ((ClientRow[])(base.GetChildRows(this.Table.ChildRelations["Client_is_a_Resource"])));
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroupRow[] GetClientGroupRows() {
-                if ((this.Table.ChildRelations["ClientGroup_is_a_Resource"] == null)) {
-                    return new ClientGroupRow[0];
-                }
-                else {
-                    return ((ClientGroupRow[])(base.GetChildRows(this.Table.ChildRelations["ClientGroup_is_a_Resource"])));
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroup_ResourceRow[] GetClientGroup_ResourceRows() {
-                if ((this.Table.ChildRelations["R_59"] == null)) {
-                    return new ClientGroup_ResourceRow[0];
-                }
-                else {
-                    return ((ClientGroup_ResourceRow[])(base.GetChildRows(this.Table.ChildRelations["R_59"])));
+                    return ((JobRow[])(base.GetChildRows(this.Table.ChildRelations["R_21"])));
                 }
             }
@@ -2287,216 +2380,66 @@
         ///</summary>
         [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
-        public partial class ClientRow : global::System.Data.DataRow {
-            
-            private ClientDataTable tableClient;
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            internal ClientRow(global::System.Data.DataRowBuilder rb) : 
+        public partial class ResourceRow : global::System.Data.DataRow {
+            
+            private ResourceDataTable tableResource;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            internal ResourceRow(global::System.Data.DataRowBuilder rb) : 
                     base(rb) {
-                this.tableClient = ((ClientDataTable)(this.Table));
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long ResourceId {
-                get {
-                    return ((long)(this[this.tableClient.ResourceIdColumn]));
+                this.tableResource = ((ResourceDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.Guid ResourceId {
+                get {
+                    return ((global::System.Guid)(this[this.tableResource.ResourceIdColumn]));
                 }
                 set {
-                    this[this.tableClient.ResourceIdColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public System.Guid GUID {
+                    this[this.tableResource.ResourceIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public string Name {
                 get {
                     try {
-                        return ((global::System.Guid)(this[this.tableClient.GUIDColumn]));
+                        return ((string)(this[this.tableResource.NameColumn]));
                     }
                     catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'GUID\' in table \'Client\' is DBNull.", e);
+                        throw new global::System.Data.StrongTypingException("The value for column \'Name\' in table \'Resource\' is DBNull.", e);
                     }
                 }
                 set {
-                    this[this.tableClient.GUIDColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public int CPUSpeed {
-                get {
-                    try {
-                        return ((int)(this[this.tableClient.CPUSpeedColumn]));
-                    }
-                    catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'CPUSpeed\' in table \'Client\' is DBNull.", e);
-                    }
-                }
-                set {
-                    this[this.tableClient.CPUSpeedColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public int Memory {
-                get {
-                    try {
-                        return ((int)(this[this.tableClient.MemoryColumn]));
-                    }
-                    catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'Memory\' in table \'Client\' is DBNull.", e);
-                    }
-                }
-                set {
-                    this[this.tableClient.MemoryColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public System.DateTime Login {
-                get {
-                    try {
-                        return ((global::System.DateTime)(this[this.tableClient.LoginColumn]));
-                    }
-                    catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'Login\' in table \'Client\' is DBNull.", e);
-                    }
-                }
-                set {
-                    this[this.tableClient.LoginColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public string Status {
-                get {
-                    try {
-                        return ((string)(this[this.tableClient.StatusColumn]));
-                    }
-                    catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'Status\' in table \'Client\' is DBNull.", e);
-                    }
-                }
-                set {
-                    this[this.tableClient.StatusColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long ClientConfigId {
-                get {
-                    try {
-                        return ((long)(this[this.tableClient.ClientConfigIdColumn]));
-                    }
-                    catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'ClientConfigId\' in table \'Client\' is DBNull.", e);
-                    }
-                }
-                set {
-                    this[this.tableClient.ClientConfigIdColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public int NumberOfCores {
-                get {
-                    try {
-                        return ((int)(this[this.tableClient.NumberOfCoresColumn]));
-                    }
-                    catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'NumberOfCores\' in table \'Client\' is DBNull.", e);
-                    }
-                }
-                set {
-                    this[this.tableClient.NumberOfCoresColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ResourceRow ResourceRow {
-                get {
-                    return ((ResourceRow)(this.GetParentRow(this.Table.ParentRelations["Client_is_a_Resource"])));
-                }
-                set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Client_is_a_Resource"]);
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsGUIDNull() {
-                return this.IsNull(this.tableClient.GUIDColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetGUIDNull() {
-                this[this.tableClient.GUIDColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsCPUSpeedNull() {
-                return this.IsNull(this.tableClient.CPUSpeedColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetCPUSpeedNull() {
-                this[this.tableClient.CPUSpeedColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsMemoryNull() {
-                return this.IsNull(this.tableClient.MemoryColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetMemoryNull() {
-                this[this.tableClient.MemoryColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsLoginNull() {
-                return this.IsNull(this.tableClient.LoginColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetLoginNull() {
-                this[this.tableClient.LoginColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsStatusNull() {
-                return this.IsNull(this.tableClient.StatusColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetStatusNull() {
-                this[this.tableClient.StatusColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsClientConfigIdNull() {
-                return this.IsNull(this.tableClient.ClientConfigIdColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetClientConfigIdNull() {
-                this[this.tableClient.ClientConfigIdColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsNumberOfCoresNull() {
-                return this.IsNull(this.tableClient.NumberOfCoresColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetNumberOfCoresNull() {
-                this[this.tableClient.NumberOfCoresColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public JobRow[] GetJobRows() {
-                if ((this.Table.ChildRelations["R_21"] == null)) {
-                    return new JobRow[0];
+                    this[this.tableResource.NameColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsNameNull() {
+                return this.IsNull(this.tableResource.NameColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetNameNull() {
+                this[this.tableResource.NameColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientRow[] GetClientRows() {
+                if ((this.Table.ChildRelations["Client_is_a_Resource"] == null)) {
+                    return new ClientRow[0];
                 }
                 else {
-                    return ((JobRow[])(base.GetChildRows(this.Table.ChildRelations["R_21"])));
+                    return ((ClientRow[])(base.GetChildRows(this.Table.ChildRelations["Client_is_a_Resource"])));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientGroupRow[] GetClientGroupRows() {
+                if ((this.Table.ChildRelations["ClientGroup_is_a_Resource"] == null)) {
+                    return new ClientGroupRow[0];
+                }
+                else {
+                    return ((ClientGroupRow[])(base.GetChildRows(this.Table.ChildRelations["ClientGroup_is_a_Resource"])));
                 }
             }
@@ -2518,7 +2461,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long ResourceId {
-                get {
-                    return ((long)(this[this.tableClientGroup.ResourceIdColumn]));
+            public System.Guid ResourceId {
+                get {
+                    return ((global::System.Guid)(this[this.tableClientGroup.ResourceIdColumn]));
                 }
                 set {
@@ -2544,4 +2487,49 @@
                 else {
                     return ((ClientGroup_ResourceRow[])(base.GetChildRows(this.Table.ChildRelations["R_52"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+        public partial class ClientGroup_ResourceRow : global::System.Data.DataRow {
+            
+            private ClientGroup_ResourceDataTable tableClientGroup_Resource;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            internal ClientGroup_ResourceRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableClientGroup_Resource = ((ClientGroup_ResourceDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.Guid ClientGroupId {
+                get {
+                    return ((global::System.Guid)(this[this.tableClientGroup_Resource.ClientGroupIdColumn]));
+                }
+                set {
+                    this[this.tableClientGroup_Resource.ClientGroupIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.Guid ResourceId {
+                get {
+                    return ((global::System.Guid)(this[this.tableClientGroup_Resource.ResourceIdColumn]));
+                }
+                set {
+                    this[this.tableClientGroup_Resource.ResourceIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientGroupRow ClientGroupRow {
+                get {
+                    return ((ClientGroupRow)(this.GetParentRow(this.Table.ParentRelations["R_52"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["R_52"]);
                 }
             }
@@ -2563,7 +2551,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long JobId {
-                get {
-                    return ((long)(this[this.tableJob.JobIdColumn]));
+            public System.Guid JobId {
+                get {
+                    return ((global::System.Guid)(this[this.tableJob.JobIdColumn]));
                 }
                 set {
@@ -2573,8 +2561,8 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long ParentJobId {
+            public System.Guid ParentJobId {
                 get {
                     try {
-                        return ((long)(this[this.tableJob.ParentJobIdColumn]));
+                        return ((global::System.Guid)(this[this.tableJob.ParentJobIdColumn]));
                     }
                     catch (global::System.InvalidCastException e) {
@@ -2588,23 +2576,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long PermissionOwnerId {
+            public string JobState {
                 get {
                     try {
-                        return ((long)(this[this.tableJob.PermissionOwnerIdColumn]));
+                        return ((string)(this[this.tableJob.JobStateColumn]));
                     }
                     catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'PermissionOwnerId\' in table \'Job\' is DBNull.", e);
+                        throw new global::System.Data.StrongTypingException("The value for column \'JobState\' in table \'Job\' is DBNull.", e);
                     }
                 }
                 set {
-                    this[this.tableJob.PermissionOwnerIdColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long ResourceId {
+                    this[this.tableJob.JobStateColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.Guid ResourceId {
                 get {
                     try {
-                        return ((long)(this[this.tableJob.ResourceIdColumn]));
+                        return ((global::System.Guid)(this[this.tableJob.ResourceIdColumn]));
                     }
                     catch (global::System.InvalidCastException e) {
@@ -2618,19 +2606,4 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public string JobState {
-                get {
-                    try {
-                        return ((string)(this[this.tableJob.JobStateColumn]));
-                    }
-                    catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'JobState\' in table \'Job\' is DBNull.", e);
-                    }
-                }
-                set {
-                    this[this.tableJob.JobStateColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public double Percentage {
                 get {
@@ -2708,4 +2681,34 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.Guid ProjectId {
+                get {
+                    try {
+                        return ((global::System.Guid)(this[this.tableJob.ProjectIdColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'ProjectId\' in table \'Job\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableJob.ProjectIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.Guid UserId {
+                get {
+                    try {
+                        return ((global::System.Guid)(this[this.tableJob.UserIdColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'UserId\' in table \'Job\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableJob.UserIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public ClientRow ClientRow {
                 get {
@@ -2728,11 +2731,11 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsPermissionOwnerIdNull() {
-                return this.IsNull(this.tableJob.PermissionOwnerIdColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetPermissionOwnerIdNull() {
-                this[this.tableJob.PermissionOwnerIdColumn] = global::System.Convert.DBNull;
+            public bool IsJobStateNull() {
+                return this.IsNull(this.tableJob.JobStateColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetJobStateNull() {
+                this[this.tableJob.JobStateColumn] = global::System.Convert.DBNull;
             }
             
@@ -2748,14 +2751,4 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsJobStateNull() {
-                return this.IsNull(this.tableJob.JobStateColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetJobStateNull() {
-                this[this.tableJob.JobStateColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public bool IsPercentageNull() {
                 return this.IsNull(this.tableJob.PercentageColumn);
@@ -2805,4 +2798,24 @@
             public void SetPriorityNull() {
                 this[this.tableJob.PriorityColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsProjectIdNull() {
+                return this.IsNull(this.tableJob.ProjectIdColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetProjectIdNull() {
+                this[this.tableJob.ProjectIdColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsUserIdNull() {
+                return this.IsNull(this.tableJob.UserIdColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetUserIdNull() {
+                this[this.tableJob.UserIdColumn] = global::System.Convert.DBNull;
             }
             
@@ -2814,59 +2827,4 @@
                 else {
                     return ((JobResultRow[])(base.GetChildRows(this.Table.ChildRelations["R_14"])));
-                }
-            }
-        }
-        
-        /// <summary>
-        ///Represents strongly named DataRow class.
-        ///</summary>
-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
-        public partial class ClientGroup_ResourceRow : global::System.Data.DataRow {
-            
-            private ClientGroup_ResourceDataTable tableClientGroup_Resource;
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            internal ClientGroup_ResourceRow(global::System.Data.DataRowBuilder rb) : 
-                    base(rb) {
-                this.tableClientGroup_Resource = ((ClientGroup_ResourceDataTable)(this.Table));
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long ClientGroupId {
-                get {
-                    return ((long)(this[this.tableClientGroup_Resource.ClientGroupIdColumn]));
-                }
-                set {
-                    this[this.tableClientGroup_Resource.ClientGroupIdColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long ResourceId {
-                get {
-                    return ((long)(this[this.tableClientGroup_Resource.ResourceIdColumn]));
-                }
-                set {
-                    this[this.tableClientGroup_Resource.ResourceIdColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroupRow ClientGroupRow {
-                get {
-                    return ((ClientGroupRow)(this.GetParentRow(this.Table.ParentRelations["R_52"])));
-                }
-                set {
-                    this.SetParentRow(value, this.Table.ParentRelations["R_52"]);
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ResourceRow ResourceRow {
-                get {
-                    return ((ResourceRow)(this.GetParentRow(this.Table.ParentRelations["R_59"])));
-                }
-                set {
-                    this.SetParentRow(value, this.Table.ParentRelations["R_59"]);
                 }
             }
@@ -2888,7 +2846,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long JobResultId {
-                get {
-                    return ((long)(this[this.tableJobResult.JobResultIdColumn]));
+            public System.Guid JobResultId {
+                get {
+                    return ((global::System.Guid)(this[this.tableJobResult.JobResultIdColumn]));
                 }
                 set {
@@ -2898,8 +2856,8 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long JobId {
+            public System.Guid JobId {
                 get {
                     try {
-                        return ((long)(this[this.tableJobResult.JobIdColumn]));
+                        return ((global::System.Guid)(this[this.tableJobResult.JobIdColumn]));
                     }
                     catch (global::System.InvalidCastException e) {
@@ -2928,8 +2886,38 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public long ResourceId {
+            public string Message {
                 get {
                     try {
-                        return ((long)(this[this.tableJobResult.ResourceIdColumn]));
+                        return ((string)(this[this.tableJobResult.MessageColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'Message\' in table \'JobResult\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableJobResult.MessageColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public double Percentage {
+                get {
+                    try {
+                        return ((double)(this[this.tableJobResult.PercentageColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'Percentage\' in table \'JobResult\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableJobResult.PercentageColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.Guid ResourceId {
+                get {
+                    try {
+                        return ((global::System.Guid)(this[this.tableJobResult.ResourceIdColumn]));
                     }
                     catch (global::System.InvalidCastException e) {
@@ -2943,34 +2931,4 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public string Message {
-                get {
-                    try {
-                        return ((string)(this[this.tableJobResult.MessageColumn]));
-                    }
-                    catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'Message\' in table \'JobResult\' is DBNull.", e);
-                    }
-                }
-                set {
-                    this[this.tableJobResult.MessageColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public double Percentage {
-                get {
-                    try {
-                        return ((double)(this[this.tableJobResult.PercentageColumn]));
-                    }
-                    catch (global::System.InvalidCastException e) {
-                        throw new global::System.Data.StrongTypingException("The value for column \'Percentage\' in table \'JobResult\' is DBNull.", e);
-                    }
-                }
-                set {
-                    this[this.tableJobResult.PercentageColumn] = value;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public System.DateTime DateFinished {
                 get {
@@ -3018,4 +2976,24 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsMessageNull() {
+                return this.IsNull(this.tableJobResult.MessageColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetMessageNull() {
+                this[this.tableJobResult.MessageColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsPercentageNull() {
+                return this.IsNull(this.tableJobResult.PercentageColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetPercentageNull() {
+                this[this.tableJobResult.PercentageColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public bool IsResourceIdNull() {
                 return this.IsNull(this.tableJobResult.ResourceIdColumn);
@@ -3028,24 +3006,4 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsMessageNull() {
-                return this.IsNull(this.tableJobResult.MessageColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetMessageNull() {
-                this[this.tableJobResult.MessageColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public bool IsPercentageNull() {
-                return this.IsNull(this.tableJobResult.PercentageColumn);
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public void SetPercentageNull() {
-                this[this.tableJobResult.PercentageColumn] = global::System.Convert.DBNull;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public bool IsDateFinishedNull() {
                 return this.IsNull(this.tableJobResult.DateFinishedColumn);
@@ -3055,4 +3013,35 @@
             public void SetDateFinishedNull() {
                 this[this.tableJobResult.DateFinishedColumn] = global::System.Convert.DBNull;
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+        public class ClientRowChangeEvent : global::System.EventArgs {
+            
+            private ClientRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientRowChangeEvent(ClientRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
             }
         }
@@ -3093,12 +3082,12 @@
         ///</summary>
         [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
-        public class ClientRowChangeEvent : global::System.EventArgs {
-            
-            private ClientRow eventRow;
+        public class ClientGroupRowChangeEvent : global::System.EventArgs {
+            
+            private ClientGroupRow eventRow;
             
             private global::System.Data.DataRowAction eventAction;
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientRowChangeEvent(ClientRow row, global::System.Data.DataRowAction action) {
+            public ClientGroupRowChangeEvent(ClientGroupRow row, global::System.Data.DataRowAction action) {
                 this.eventRow = row;
                 this.eventAction = action;
@@ -3106,5 +3095,5 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientRow Row {
+            public ClientGroupRow Row {
                 get {
                     return this.eventRow;
@@ -3124,12 +3113,12 @@
         ///</summary>
         [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
-        public class ClientGroupRowChangeEvent : global::System.EventArgs {
-            
-            private ClientGroupRow eventRow;
+        public class ClientGroup_ResourceRowChangeEvent : global::System.EventArgs {
+            
+            private ClientGroup_ResourceRow eventRow;
             
             private global::System.Data.DataRowAction eventAction;
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroupRowChangeEvent(ClientGroupRow row, global::System.Data.DataRowAction action) {
+            public ClientGroup_ResourceRowChangeEvent(ClientGroup_ResourceRow row, global::System.Data.DataRowAction action) {
                 this.eventRow = row;
                 this.eventAction = action;
@@ -3137,5 +3126,5 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroupRow Row {
+            public ClientGroup_ResourceRow Row {
                 get {
                     return this.eventRow;
@@ -3169,35 +3158,4 @@
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public JobRow Row {
-                get {
-                    return this.eventRow;
-                }
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public global::System.Data.DataRowAction Action {
-                get {
-                    return this.eventAction;
-                }
-            }
-        }
-        
-        /// <summary>
-        ///Row event argument class
-        ///</summary>
-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
-        public class ClientGroup_ResourceRowChangeEvent : global::System.EventArgs {
-            
-            private ClientGroup_ResourceRow eventRow;
-            
-            private global::System.Data.DataRowAction eventAction;
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroup_ResourceRowChangeEvent(ClientGroup_ResourceRow row, global::System.Data.DataRowAction action) {
-                this.eventRow = row;
-                this.eventAction = action;
-            }
-            
-            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientGroup_ResourceRow Row {
                 get {
                     return this.eventRow;
@@ -3258,4 +3216,542 @@
         ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
     [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class ClientTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        public ClientTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "Client";
+            tableMapping.ColumnMappings.Add("ResourceId", "ResourceId");
+            tableMapping.ColumnMappings.Add("CPUSpeed", "CPUSpeed");
+            tableMapping.ColumnMappings.Add("Memory", "Memory");
+            tableMapping.ColumnMappings.Add("Login", "Login");
+            tableMapping.ColumnMappings.Add("Status", "Status");
+            tableMapping.ColumnMappings.Add("ClientConfigId", "ClientConfigId");
+            tableMapping.ColumnMappings.Add("NumberOfCores", "NumberOfCores");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = @"DELETE FROM [dbo].[Client] WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_CPUSpeed = 1 AND [CPUSpeed] IS NULL) OR ([CPUSpeed] = @Original_CPUSpeed)) AND ((@IsNull_Memory = 1 AND [Memory] IS NULL) OR ([Memory] = @Original_Memory)) AND ((@IsNull_Login = 1 AND [Login] IS NULL) OR ([Login] = @Original_Login)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_ClientConfigId = 1 AND [ClientConfigId] IS NULL) OR ([ClientConfigId] = @Original_ClientConfigId)) AND ((@IsNull_NumberOfCores = 1 AND [NumberOfCores] IS NULL) OR ([NumberOfCores] = @Original_NumberOfCores)))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Login", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Login", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Status", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Status", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ClientConfigId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientConfigId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[Client] ([ResourceId], [CPUSpeed], [Memory], [Login], [Status], [ClientConfigId], [NumberOfCores]) VALUES (@ResourceId, @CPUSpeed, @Memory, @Login, @Status, @ClientConfigId, @NumberOfCores);
+SELECT ResourceId, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores FROM Client WHERE (ResourceId = @ResourceId)";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Login", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Status", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientConfigId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[Client] SET [ResourceId] = @ResourceId, [CPUSpeed] = @CPUSpeed, [Memory] = @Memory, [Login] = @Login, [Status] = @Status, [ClientConfigId] = @ClientConfigId, [NumberOfCores] = @NumberOfCores WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_CPUSpeed = 1 AND [CPUSpeed] IS NULL) OR ([CPUSpeed] = @Original_CPUSpeed)) AND ((@IsNull_Memory = 1 AND [Memory] IS NULL) OR ([Memory] = @Original_Memory)) AND ((@IsNull_Login = 1 AND [Login] IS NULL) OR ([Login] = @Original_Login)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_ClientConfigId = 1 AND [ClientConfigId] IS NULL) OR ([ClientConfigId] = @Original_ClientConfigId)) AND ((@IsNull_NumberOfCores = 1 AND [NumberOfCores] IS NULL) OR ([NumberOfCores] = @Original_NumberOfCores)));
+SELECT ResourceId, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores FROM Client WHERE (ResourceId = @ResourceId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Login", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Status", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientConfigId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Login", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Login", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Status", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Status", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ClientConfigId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientConfigId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::HeuristicLab.Hive.Server.ADODataAccess.Properties.Settings.Default.HiveServerConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[3];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT * FROM dbo.Client";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+            this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[1].Connection = this.Connection;
+            this._commandCollection[1].CommandText = "SELECT CPUSpeed, ClientConfigId, Login, Memory, NumberOfCores, ResourceId, Status" +
+                " FROM Client WHERE (Status <> \'offline\')";
+            this._commandCollection[1].CommandType = global::System.Data.CommandType.Text;
+            this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[2].Connection = this.Connection;
+            this._commandCollection[2].CommandText = "SELECT CPUSpeed, ClientConfigId, Login, Memory, NumberOfCores, ResourceId, Status" +
+                " FROM Client WHERE (ResourceId = @Id)";
+            this._commandCollection[2].CommandType = global::System.Data.CommandType.Text;
+            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(dsHiveServer.ClientDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual dsHiveServer.ClientDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            dsHiveServer.ClientDataTable dataTable = new dsHiveServer.ClientDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
+        public virtual int FillByActive(dsHiveServer.ClientDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[1];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
+        public virtual dsHiveServer.ClientDataTable GetDataByActive() {
+            this.Adapter.SelectCommand = this.CommandCollection[1];
+            dsHiveServer.ClientDataTable dataTable = new dsHiveServer.ClientDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
+        public virtual int FillById(dsHiveServer.ClientDataTable dataTable, System.Guid Id) {
+            this.Adapter.SelectCommand = this.CommandCollection[2];
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
+        public virtual dsHiveServer.ClientDataTable GetDataById(System.Guid Id) {
+            this.Adapter.SelectCommand = this.CommandCollection[2];
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
+            dsHiveServer.ClientDataTable dataTable = new dsHiveServer.ClientDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(dsHiveServer.ClientDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(dsHiveServer dataSet) {
+            return this.Adapter.Update(dataSet, "Client");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(System.Guid Original_ResourceId, global::System.Nullable<int> Original_CPUSpeed, global::System.Nullable<int> Original_Memory, global::System.Nullable<global::System.DateTime> Original_Login, string Original_Status, global::System.Nullable<global::System.Guid> Original_ClientConfigId, global::System.Nullable<int> Original_NumberOfCores) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((System.Guid)(Original_ResourceId));
+            if ((Original_CPUSpeed.HasValue == true)) {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[2].Value = ((int)(Original_CPUSpeed.Value));
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            if ((Original_Memory.HasValue == true)) {
+                this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[4].Value = ((int)(Original_Memory.Value));
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
+            if ((Original_Login.HasValue == true)) {
+                this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[6].Value = ((System.DateTime)(Original_Login.Value));
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[6].Value = global::System.DBNull.Value;
+            }
+            if ((Original_Status == null)) {
+                this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[8].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[8].Value = ((string)(Original_Status));
+            }
+            if ((Original_ClientConfigId.HasValue == true)) {
+                this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[10].Value = ((System.Guid)(Original_ClientConfigId.Value));
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[10].Value = global::System.DBNull.Value;
+            }
+            if ((Original_NumberOfCores.HasValue == true)) {
+                this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[12].Value = ((int)(Original_NumberOfCores.Value));
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[12].Value = global::System.DBNull.Value;
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(System.Guid ResourceId, global::System.Nullable<int> CPUSpeed, global::System.Nullable<int> Memory, global::System.Nullable<global::System.DateTime> Login, string Status, global::System.Nullable<global::System.Guid> ClientConfigId, global::System.Nullable<int> NumberOfCores) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((System.Guid)(ResourceId));
+            if ((CPUSpeed.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[1].Value = ((int)(CPUSpeed.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value;
+            }
+            if ((Memory.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[2].Value = ((int)(Memory.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            if ((Login.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[3].Value = ((System.DateTime)(Login.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[3].Value = global::System.DBNull.Value;
+            }
+            if ((Status == null)) {
+                this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[4].Value = ((string)(Status));
+            }
+            if ((ClientConfigId.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[5].Value = ((System.Guid)(ClientConfigId.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value;
+            }
+            if ((NumberOfCores.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[6].Value = ((int)(NumberOfCores.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[6].Value = global::System.DBNull.Value;
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(System.Guid ResourceId, global::System.Nullable<int> CPUSpeed, global::System.Nullable<int> Memory, global::System.Nullable<global::System.DateTime> Login, string Status, global::System.Nullable<global::System.Guid> ClientConfigId, global::System.Nullable<int> NumberOfCores, System.Guid Original_ResourceId, global::System.Nullable<int> Original_CPUSpeed, global::System.Nullable<int> Original_Memory, global::System.Nullable<global::System.DateTime> Original_Login, string Original_Status, global::System.Nullable<global::System.Guid> Original_ClientConfigId, global::System.Nullable<int> Original_NumberOfCores) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((System.Guid)(ResourceId));
+            if ((CPUSpeed.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(CPUSpeed.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value;
+            }
+            if ((Memory.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((int)(Memory.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            if ((Login.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[3].Value = ((System.DateTime)(Login.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value;
+            }
+            if ((Status == null)) {
+                this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[4].Value = ((string)(Status));
+            }
+            if ((ClientConfigId.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[5].Value = ((System.Guid)(ClientConfigId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value;
+            }
+            if ((NumberOfCores.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[6].Value = ((int)(NumberOfCores.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[6].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.UpdateCommand.Parameters[7].Value = ((System.Guid)(Original_ResourceId));
+            if ((Original_CPUSpeed.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[8].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[9].Value = ((int)(Original_CPUSpeed.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[8].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[9].Value = global::System.DBNull.Value;
+            }
+            if ((Original_Memory.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[11].Value = ((int)(Original_Memory.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[11].Value = global::System.DBNull.Value;
+            }
+            if ((Original_Login.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[13].Value = ((System.DateTime)(Original_Login.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[13].Value = global::System.DBNull.Value;
+            }
+            if ((Original_Status == null)) {
+                this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[15].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[15].Value = ((string)(Original_Status));
+            }
+            if ((Original_ClientConfigId.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[17].Value = ((System.Guid)(Original_ClientConfigId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[17].Value = global::System.DBNull.Value;
+            }
+            if ((Original_NumberOfCores.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[18].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[19].Value = ((int)(Original_NumberOfCores.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[18].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[19].Value = global::System.DBNull.Value;
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(global::System.Nullable<int> CPUSpeed, global::System.Nullable<int> Memory, global::System.Nullable<global::System.DateTime> Login, string Status, global::System.Nullable<global::System.Guid> ClientConfigId, global::System.Nullable<int> NumberOfCores, System.Guid Original_ResourceId, global::System.Nullable<int> Original_CPUSpeed, global::System.Nullable<int> Original_Memory, global::System.Nullable<global::System.DateTime> Original_Login, string Original_Status, global::System.Nullable<global::System.Guid> Original_ClientConfigId, global::System.Nullable<int> Original_NumberOfCores) {
+            return this.Update(Original_ResourceId, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores, Original_ResourceId, Original_CPUSpeed, Original_Memory, Original_Login, Original_Status, Original_ClientConfigId, Original_NumberOfCores);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     public partial class ResourceTableAdapter : global::System.ComponentModel.Component {
         
@@ -3371,24 +3867,24 @@
                 "IsNull_Name = 1 AND [Name] IS NULL) OR ([Name] = @Original_Name)))";
             this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Name", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Name", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Name", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Name", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.InsertCommand.Connection = this.Connection;
-            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[Resource] ([Name]) VALUES (@Name);\r\nSELECT ResourceId, Name FR" +
-                "OM Resource WHERE (ResourceId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[Resource] ([ResourceId], [Name]) VALUES (@ResourceId, @Name);\r" +
+                "\nSELECT ResourceId, Name FROM Resource WHERE (ResourceId = @ResourceId)";
             this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Name", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Name", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.UpdateCommand.Connection = this.Connection;
-            this._adapter.UpdateCommand.CommandText = "UPDATE [dbo].[Resource] SET [Name] = @Name WHERE (([ResourceId] = @Original_Resou" +
-                "rceId) AND ((@IsNull_Name = 1 AND [Name] IS NULL) OR ([Name] = @Original_Name)))" +
-                ";\r\nSELECT ResourceId, Name FROM Resource WHERE (ResourceId = @ResourceId)";
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[Resource] SET [ResourceId] = @ResourceId, [Name] = @Name WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_Name = 1 AND [Name] IS NULL) OR ([Name] = @Original_Name)));
+SELECT ResourceId, Name FROM Resource WHERE (ResourceId = @ResourceId)";
             this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Name", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Name", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Name", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Name", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Name", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Name", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
         }
         
@@ -3404,5 +3900,5 @@
             this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[0].Connection = this.Connection;
-            this._commandCollection[0].CommandText = "SELECT ResourceId, Name FROM dbo.Resource";
+            this._commandCollection[0].CommandText = "SELECT * FROM dbo.Resource";
             this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
@@ -3415,5 +3911,5 @@
             this._commandCollection[2].CommandText = "SELECT * FROM dbo.Resource WHERE ResourceId = @ID";
             this._commandCollection[2].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ID", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ID", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[3] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[3].Connection = this.Connection;
@@ -3470,7 +3966,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillById(dsHiveServer.ResourceDataTable dataTable, long ID) {
+        public virtual int FillById(dsHiveServer.ResourceDataTable dataTable, System.Guid ID) {
             this.Adapter.SelectCommand = this.CommandCollection[2];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(ID));
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ID));
             if ((this.ClearBeforeFill == true)) {
                 dataTable.Clear();
@@ -3483,7 +3979,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.ResourceDataTable GetDataById(long ID) {
+        public virtual dsHiveServer.ResourceDataTable GetDataById(System.Guid ID) {
             this.Adapter.SelectCommand = this.CommandCollection[2];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(ID));
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ID));
             dsHiveServer.ResourceDataTable dataTable = new dsHiveServer.ResourceDataTable();
             this.Adapter.Fill(dataTable);
@@ -3553,6 +4049,6 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
-        public virtual int Delete(long Original_ResourceId, string Original_Name) {
-            this.Adapter.DeleteCommand.Parameters[0].Value = ((long)(Original_ResourceId));
+        public virtual int Delete(System.Guid Original_ResourceId, string Original_Name) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((System.Guid)(Original_ResourceId));
             if ((Original_Name == null)) {
                 this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(1));
@@ -3582,10 +4078,11 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
-        public virtual int Insert(string Name) {
+        public virtual int Insert(System.Guid ResourceId, string Name) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((System.Guid)(ResourceId));
             if ((Name == null)) {
-                this.Adapter.InsertCommand.Parameters[0].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[0].Value = ((string)(Name));
+                this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[1].Value = ((string)(Name));
             }
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
@@ -3608,21 +4105,21 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(string Name, long Original_ResourceId, string Original_Name, long ResourceId) {
+        public virtual int Update(System.Guid ResourceId, string Name, System.Guid Original_ResourceId, string Original_Name) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((System.Guid)(ResourceId));
             if ((Name == null)) {
-                this.Adapter.UpdateCommand.Parameters[0].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(Name));
-            }
-            this.Adapter.UpdateCommand.Parameters[1].Value = ((long)(Original_ResourceId));
+                this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(Name));
+            }
+            this.Adapter.UpdateCommand.Parameters[2].Value = ((System.Guid)(Original_ResourceId));
             if ((Original_Name == null)) {
-                this.Adapter.UpdateCommand.Parameters[2].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[2].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[3].Value = ((string)(Original_Name));
-            }
-            this.Adapter.UpdateCommand.Parameters[4].Value = ((long)(ResourceId));
+                this.Adapter.UpdateCommand.Parameters[3].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[3].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[4].Value = ((string)(Original_Name));
+            }
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
             if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
@@ -3644,633 +4141,6 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(string Name, long Original_ResourceId, string Original_Name) {
-            return this.Update(Name, Original_ResourceId, Original_Name, Original_ResourceId);
-        }
-    }
-    
-    /// <summary>
-    ///Represents the connection and commands used to retrieve and save data.
-    ///</summary>
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
-    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
-    [global::System.ComponentModel.ToolboxItem(true)]
-    [global::System.ComponentModel.DataObjectAttribute(true)]
-    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
-        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
-    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-    public partial class ClientTableAdapter : global::System.ComponentModel.Component {
-        
-        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
-        
-        private global::System.Data.SqlClient.SqlConnection _connection;
-        
-        private global::System.Data.SqlClient.SqlTransaction _transaction;
-        
-        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
-        
-        private bool _clearBeforeFill;
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        public ClientTableAdapter() {
-            this.ClearBeforeFill = true;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
-            get {
-                if ((this._adapter == null)) {
-                    this.InitAdapter();
-                }
-                return this._adapter;
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        internal global::System.Data.SqlClient.SqlConnection Connection {
-            get {
-                if ((this._connection == null)) {
-                    this.InitConnection();
-                }
-                return this._connection;
-            }
-            set {
-                this._connection = value;
-                if ((this.Adapter.InsertCommand != null)) {
-                    this.Adapter.InsertCommand.Connection = value;
-                }
-                if ((this.Adapter.DeleteCommand != null)) {
-                    this.Adapter.DeleteCommand.Connection = value;
-                }
-                if ((this.Adapter.UpdateCommand != null)) {
-                    this.Adapter.UpdateCommand.Connection = value;
-                }
-                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
-                    if ((this.CommandCollection[i] != null)) {
-                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
-                    }
-                }
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        internal global::System.Data.SqlClient.SqlTransaction Transaction {
-            get {
-                return this._transaction;
-            }
-            set {
-                this._transaction = value;
-                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
-                    this.CommandCollection[i].Transaction = this._transaction;
-                }
-                if (((this.Adapter != null) 
-                            && (this.Adapter.DeleteCommand != null))) {
-                    this.Adapter.DeleteCommand.Transaction = this._transaction;
-                }
-                if (((this.Adapter != null) 
-                            && (this.Adapter.InsertCommand != null))) {
-                    this.Adapter.InsertCommand.Transaction = this._transaction;
-                }
-                if (((this.Adapter != null) 
-                            && (this.Adapter.UpdateCommand != null))) {
-                    this.Adapter.UpdateCommand.Transaction = this._transaction;
-                }
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
-            get {
-                if ((this._commandCollection == null)) {
-                    this.InitCommandCollection();
-                }
-                return this._commandCollection;
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        public bool ClearBeforeFill {
-            get {
-                return this._clearBeforeFill;
-            }
-            set {
-                this._clearBeforeFill = value;
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        private void InitAdapter() {
-            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
-            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
-            tableMapping.SourceTable = "Table";
-            tableMapping.DataSetTable = "Client";
-            tableMapping.ColumnMappings.Add("ResourceId", "ResourceId");
-            tableMapping.ColumnMappings.Add("GUID", "GUID");
-            tableMapping.ColumnMappings.Add("CPUSpeed", "CPUSpeed");
-            tableMapping.ColumnMappings.Add("Memory", "Memory");
-            tableMapping.ColumnMappings.Add("Login", "Login");
-            tableMapping.ColumnMappings.Add("Status", "Status");
-            tableMapping.ColumnMappings.Add("ClientConfigId", "ClientConfigId");
-            tableMapping.ColumnMappings.Add("NumberOfCores", "NumberOfCores");
-            this._adapter.TableMappings.Add(tableMapping);
-            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
-            this._adapter.DeleteCommand.Connection = this.Connection;
-            this._adapter.DeleteCommand.CommandText = @"DELETE FROM [dbo].[Client] WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_GUID = 1 AND [GUID] IS NULL) OR ([GUID] = @Original_GUID)) AND ((@IsNull_CPUSpeed = 1 AND [CPUSpeed] IS NULL) OR ([CPUSpeed] = @Original_CPUSpeed)) AND ((@IsNull_Memory = 1 AND [Memory] IS NULL) OR ([Memory] = @Original_Memory)) AND ((@IsNull_Login = 1 AND [Login] IS NULL) OR ([Login] = @Original_Login)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_ClientConfigId = 1 AND [ClientConfigId] IS NULL) OR ([ClientConfigId] = @Original_ClientConfigId)) AND ((@IsNull_NumberOfCores = 1 AND [NumberOfCores] IS NULL) OR ([NumberOfCores] = @Original_NumberOfCores)))";
-            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_GUID", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "GUID", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_GUID", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "GUID", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Login", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Login", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Status", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Status", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ClientConfigId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientConfigId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
-            this._adapter.InsertCommand.Connection = this.Connection;
-            this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[Client] ([ResourceId], [GUID], [CPUSpeed], [Memory], [Login], [Status], [ClientConfigId], [NumberOfCores]) VALUES (@ResourceId, @GUID, @CPUSpeed, @Memory, @Login, @Status, @ClientConfigId, @NumberOfCores);
-SELECT ResourceId, GUID, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores FROM Client WHERE (ResourceId = @ResourceId)";
-            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@GUID", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "GUID", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Login", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Status", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientConfigId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
-            this._adapter.UpdateCommand.Connection = this.Connection;
-            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[Client] SET [ResourceId] = @ResourceId, [GUID] = @GUID, [CPUSpeed] = @CPUSpeed, [Memory] = @Memory, [Login] = @Login, [Status] = @Status, [ClientConfigId] = @ClientConfigId, [NumberOfCores] = @NumberOfCores WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_GUID = 1 AND [GUID] IS NULL) OR ([GUID] = @Original_GUID)) AND ((@IsNull_CPUSpeed = 1 AND [CPUSpeed] IS NULL) OR ([CPUSpeed] = @Original_CPUSpeed)) AND ((@IsNull_Memory = 1 AND [Memory] IS NULL) OR ([Memory] = @Original_Memory)) AND ((@IsNull_Login = 1 AND [Login] IS NULL) OR ([Login] = @Original_Login)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_ClientConfigId = 1 AND [ClientConfigId] IS NULL) OR ([ClientConfigId] = @Original_ClientConfigId)) AND ((@IsNull_NumberOfCores = 1 AND [NumberOfCores] IS NULL) OR ([NumberOfCores] = @Original_NumberOfCores)));
-SELECT ResourceId, GUID, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores FROM Client WHERE (ResourceId = @ResourceId)";
-            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@GUID", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "GUID", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Login", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Status", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientConfigId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_GUID", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "GUID", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_GUID", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "GUID", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CPUSpeed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CPUSpeed", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Memory", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Memory", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Login", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Login", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Status", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Status", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Status", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ClientConfigId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientConfigId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_NumberOfCores", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "NumberOfCores", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        private void InitConnection() {
-            this._connection = new global::System.Data.SqlClient.SqlConnection();
-            this._connection.ConnectionString = global::HeuristicLab.Hive.Server.ADODataAccess.Properties.Settings.Default.HiveServerConnectionString;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        private void InitCommandCollection() {
-            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[4];
-            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
-            this._commandCollection[0].Connection = this.Connection;
-            this._commandCollection[0].CommandText = "SELECT ResourceId, GUID, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberO" +
-                "fCores FROM dbo.Client";
-            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
-            this._commandCollection[1].Connection = this.Connection;
-            this._commandCollection[1].CommandText = "SELECT * FROM dbo.Client WHERE Status <> \'offline\'";
-            this._commandCollection[1].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand();
-            this._commandCollection[2].Connection = this.Connection;
-            this._commandCollection[2].CommandText = "SELECT * FROM dbo.Client WHERE GUID = @ID";
-            this._commandCollection[2].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ID", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "GUID", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._commandCollection[3] = new global::System.Data.SqlClient.SqlCommand();
-            this._commandCollection[3].Connection = this.Connection;
-            this._commandCollection[3].CommandText = "SELECT * FROM dbo.Client WHERE ResourceId = @Id";
-            this._commandCollection[3].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
-        public virtual int Fill(dsHiveServer.ClientDataTable dataTable) {
-            this.Adapter.SelectCommand = this.CommandCollection[0];
-            if ((this.ClearBeforeFill == true)) {
-                dataTable.Clear();
-            }
-            int returnValue = this.Adapter.Fill(dataTable);
-            return returnValue;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
-        public virtual dsHiveServer.ClientDataTable GetData() {
-            this.Adapter.SelectCommand = this.CommandCollection[0];
-            dsHiveServer.ClientDataTable dataTable = new dsHiveServer.ClientDataTable();
-            this.Adapter.Fill(dataTable);
-            return dataTable;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillByActive(dsHiveServer.ClientDataTable dataTable) {
-            this.Adapter.SelectCommand = this.CommandCollection[1];
-            if ((this.ClearBeforeFill == true)) {
-                dataTable.Clear();
-            }
-            int returnValue = this.Adapter.Fill(dataTable);
-            return returnValue;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.ClientDataTable GetDataByActive() {
-            this.Adapter.SelectCommand = this.CommandCollection[1];
-            dsHiveServer.ClientDataTable dataTable = new dsHiveServer.ClientDataTable();
-            this.Adapter.Fill(dataTable);
-            return dataTable;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillById(dsHiveServer.ClientDataTable dataTable, global::System.Nullable<global::System.Guid> ID) {
-            this.Adapter.SelectCommand = this.CommandCollection[2];
-            if ((ID.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ID.Value));
-            }
-            else {
-                this.Adapter.SelectCommand.Parameters[0].Value = global::System.DBNull.Value;
-            }
-            if ((this.ClearBeforeFill == true)) {
-                dataTable.Clear();
-            }
-            int returnValue = this.Adapter.Fill(dataTable);
-            return returnValue;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.ClientDataTable GetDataById(global::System.Nullable<global::System.Guid> ID) {
-            this.Adapter.SelectCommand = this.CommandCollection[2];
-            if ((ID.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ID.Value));
-            }
-            else {
-                this.Adapter.SelectCommand.Parameters[0].Value = global::System.DBNull.Value;
-            }
-            dsHiveServer.ClientDataTable dataTable = new dsHiveServer.ClientDataTable();
-            this.Adapter.Fill(dataTable);
-            return dataTable;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillByResourceId(dsHiveServer.ClientDataTable dataTable, long Id) {
-            this.Adapter.SelectCommand = this.CommandCollection[3];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
-            if ((this.ClearBeforeFill == true)) {
-                dataTable.Clear();
-            }
-            int returnValue = this.Adapter.Fill(dataTable);
-            return returnValue;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.ClientDataTable GetDataByResourceId(long Id) {
-            this.Adapter.SelectCommand = this.CommandCollection[3];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
-            dsHiveServer.ClientDataTable dataTable = new dsHiveServer.ClientDataTable();
-            this.Adapter.Fill(dataTable);
-            return dataTable;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        public virtual int Update(dsHiveServer.ClientDataTable dataTable) {
-            return this.Adapter.Update(dataTable);
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        public virtual int Update(dsHiveServer dataSet) {
-            return this.Adapter.Update(dataSet, "Client");
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        public virtual int Update(global::System.Data.DataRow dataRow) {
-            return this.Adapter.Update(new global::System.Data.DataRow[] {
-                        dataRow});
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        public virtual int Update(global::System.Data.DataRow[] dataRows) {
-            return this.Adapter.Update(dataRows);
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
-        public virtual int Delete(long Original_ResourceId, global::System.Nullable<global::System.Guid> Original_GUID, global::System.Nullable<int> Original_CPUSpeed, global::System.Nullable<int> Original_Memory, global::System.Nullable<global::System.DateTime> Original_Login, string Original_Status, global::System.Nullable<long> Original_ClientConfigId, global::System.Nullable<int> Original_NumberOfCores) {
-            this.Adapter.DeleteCommand.Parameters[0].Value = ((long)(Original_ResourceId));
-            if ((Original_GUID.HasValue == true)) {
-                this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[2].Value = ((System.Guid)(Original_GUID.Value));
-            }
-            else {
-                this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(1));
-                this.Adapter.DeleteCommand.Parameters[2].Value = global::System.DBNull.Value;
-            }
-            if ((Original_CPUSpeed.HasValue == true)) {
-                this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[4].Value = ((int)(Original_CPUSpeed.Value));
-            }
-            else {
-                this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(1));
-                this.Adapter.DeleteCommand.Parameters[4].Value = global::System.DBNull.Value;
-            }
-            if ((Original_Memory.HasValue == true)) {
-                this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[6].Value = ((int)(Original_Memory.Value));
-            }
-            else {
-                this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(1));
-                this.Adapter.DeleteCommand.Parameters[6].Value = global::System.DBNull.Value;
-            }
-            if ((Original_Login.HasValue == true)) {
-                this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[8].Value = ((System.DateTime)(Original_Login.Value));
-            }
-            else {
-                this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(1));
-                this.Adapter.DeleteCommand.Parameters[8].Value = global::System.DBNull.Value;
-            }
-            if ((Original_Status == null)) {
-                this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(1));
-                this.Adapter.DeleteCommand.Parameters[10].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[10].Value = ((string)(Original_Status));
-            }
-            if ((Original_ClientConfigId.HasValue == true)) {
-                this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[12].Value = ((long)(Original_ClientConfigId.Value));
-            }
-            else {
-                this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(1));
-                this.Adapter.DeleteCommand.Parameters[12].Value = global::System.DBNull.Value;
-            }
-            if ((Original_NumberOfCores.HasValue == true)) {
-                this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[14].Value = ((int)(Original_NumberOfCores.Value));
-            }
-            else {
-                this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(1));
-                this.Adapter.DeleteCommand.Parameters[14].Value = global::System.DBNull.Value;
-            }
-            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
-            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
-                        != global::System.Data.ConnectionState.Open)) {
-                this.Adapter.DeleteCommand.Connection.Open();
-            }
-            try {
-                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
-                return returnValue;
-            }
-            finally {
-                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
-                    this.Adapter.DeleteCommand.Connection.Close();
-                }
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
-        public virtual int Insert(long ResourceId, global::System.Nullable<global::System.Guid> GUID, global::System.Nullable<int> CPUSpeed, global::System.Nullable<int> Memory, global::System.Nullable<global::System.DateTime> Login, string Status, global::System.Nullable<long> ClientConfigId, global::System.Nullable<int> NumberOfCores) {
-            this.Adapter.InsertCommand.Parameters[0].Value = ((long)(ResourceId));
-            if ((GUID.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[1].Value = ((System.Guid)(GUID.Value));
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value;
-            }
-            if ((CPUSpeed.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[2].Value = ((int)(CPUSpeed.Value));
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value;
-            }
-            if ((Memory.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[3].Value = ((int)(Memory.Value));
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[3].Value = global::System.DBNull.Value;
-            }
-            if ((Login.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[4].Value = ((System.DateTime)(Login.Value));
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value;
-            }
-            if ((Status == null)) {
-                this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[5].Value = ((string)(Status));
-            }
-            if ((ClientConfigId.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[6].Value = ((long)(ClientConfigId.Value));
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[6].Value = global::System.DBNull.Value;
-            }
-            if ((NumberOfCores.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[7].Value = ((int)(NumberOfCores.Value));
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[7].Value = global::System.DBNull.Value;
-            }
-            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
-            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
-                        != global::System.Data.ConnectionState.Open)) {
-                this.Adapter.InsertCommand.Connection.Open();
-            }
-            try {
-                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
-                return returnValue;
-            }
-            finally {
-                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
-                    this.Adapter.InsertCommand.Connection.Close();
-                }
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(
-                    long ResourceId, 
-                    global::System.Nullable<global::System.Guid> GUID, 
-                    global::System.Nullable<int> CPUSpeed, 
-                    global::System.Nullable<int> Memory, 
-                    global::System.Nullable<global::System.DateTime> Login, 
-                    string Status, 
-                    global::System.Nullable<long> ClientConfigId, 
-                    global::System.Nullable<int> NumberOfCores, 
-                    long Original_ResourceId, 
-                    global::System.Nullable<global::System.Guid> Original_GUID, 
-                    global::System.Nullable<int> Original_CPUSpeed, 
-                    global::System.Nullable<int> Original_Memory, 
-                    global::System.Nullable<global::System.DateTime> Original_Login, 
-                    string Original_Status, 
-                    global::System.Nullable<long> Original_ClientConfigId, 
-                    global::System.Nullable<int> Original_NumberOfCores) {
-            this.Adapter.UpdateCommand.Parameters[0].Value = ((long)(ResourceId));
-            if ((GUID.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[1].Value = ((System.Guid)(GUID.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value;
-            }
-            if ((CPUSpeed.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[2].Value = ((int)(CPUSpeed.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value;
-            }
-            if ((Memory.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(Memory.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value;
-            }
-            if ((Login.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[4].Value = ((System.DateTime)(Login.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value;
-            }
-            if ((Status == null)) {
-                this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[5].Value = ((string)(Status));
-            }
-            if ((ClientConfigId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[6].Value = ((long)(ClientConfigId.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[6].Value = global::System.DBNull.Value;
-            }
-            if ((NumberOfCores.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[7].Value = ((int)(NumberOfCores.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[7].Value = global::System.DBNull.Value;
-            }
-            this.Adapter.UpdateCommand.Parameters[8].Value = ((long)(Original_ResourceId));
-            if ((Original_GUID.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[9].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[10].Value = ((System.Guid)(Original_GUID.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[9].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[10].Value = global::System.DBNull.Value;
-            }
-            if ((Original_CPUSpeed.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[11].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[12].Value = ((int)(Original_CPUSpeed.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[11].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[12].Value = global::System.DBNull.Value;
-            }
-            if ((Original_Memory.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[13].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[14].Value = ((int)(Original_Memory.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[13].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[14].Value = global::System.DBNull.Value;
-            }
-            if ((Original_Login.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[15].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[16].Value = ((System.DateTime)(Original_Login.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[15].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[16].Value = global::System.DBNull.Value;
-            }
-            if ((Original_Status == null)) {
-                this.Adapter.UpdateCommand.Parameters[17].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[18].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[17].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[18].Value = ((string)(Original_Status));
-            }
-            if ((Original_ClientConfigId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[19].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[20].Value = ((long)(Original_ClientConfigId.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[19].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[20].Value = global::System.DBNull.Value;
-            }
-            if ((Original_NumberOfCores.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[21].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[22].Value = ((int)(Original_NumberOfCores.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[21].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[22].Value = global::System.DBNull.Value;
-            }
-            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
-            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
-                        != global::System.Data.ConnectionState.Open)) {
-                this.Adapter.UpdateCommand.Connection.Open();
-            }
-            try {
-                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
-                return returnValue;
-            }
-            finally {
-                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
-                    this.Adapter.UpdateCommand.Connection.Close();
-                }
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(global::System.Nullable<global::System.Guid> GUID, global::System.Nullable<int> CPUSpeed, global::System.Nullable<int> Memory, global::System.Nullable<global::System.DateTime> Login, string Status, global::System.Nullable<long> ClientConfigId, global::System.Nullable<int> NumberOfCores, long Original_ResourceId, global::System.Nullable<global::System.Guid> Original_GUID, global::System.Nullable<int> Original_CPUSpeed, global::System.Nullable<int> Original_Memory, global::System.Nullable<global::System.DateTime> Original_Login, string Original_Status, global::System.Nullable<long> Original_ClientConfigId, global::System.Nullable<int> Original_NumberOfCores) {
-            return this.Update(Original_ResourceId, GUID, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores, Original_ResourceId, Original_GUID, Original_CPUSpeed, Original_Memory, Original_Login, Original_Status, Original_ClientConfigId, Original_NumberOfCores);
+        public virtual int Update(string Name, System.Guid Original_ResourceId, string Original_Name) {
+            return this.Update(Original_ResourceId, Name, Original_ResourceId, Original_Name);
         }
     }
@@ -4397,5 +4267,5 @@
             this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[ClientGroup] WHERE (([ResourceId] = @Original_ResourceId))";
             this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.InsertCommand.Connection = this.Connection;
@@ -4403,5 +4273,5 @@
                 "urceId FROM ClientGroup WHERE (ResourceId = @ResourceId)";
             this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.UpdateCommand.Connection = this.Connection;
@@ -4410,6 +4280,6 @@
                 "@ResourceId)";
             this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
         }
         
@@ -4425,5 +4295,5 @@
             this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[0].Connection = this.Connection;
-            this._commandCollection[0].CommandText = "SELECT ResourceId FROM dbo.ClientGroup";
+            this._commandCollection[0].CommandText = "SELECT * FROM dbo.ClientGroup";
             this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
@@ -4431,5 +4301,5 @@
             this._commandCollection[1].CommandText = "SELECT * FROM dbo.ClientGroup WHERE ResourceId = @Id";
             this._commandCollection[1].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
         }
         
@@ -4459,7 +4329,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillById(dsHiveServer.ClientGroupDataTable dataTable, long Id) {
+        public virtual int FillById(dsHiveServer.ClientGroupDataTable dataTable, System.Guid Id) {
             this.Adapter.SelectCommand = this.CommandCollection[1];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
             if ((this.ClearBeforeFill == true)) {
                 dataTable.Clear();
@@ -4472,7 +4342,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.ClientGroupDataTable GetDataById(long Id) {
+        public virtual dsHiveServer.ClientGroupDataTable GetDataById(System.Guid Id) {
             this.Adapter.SelectCommand = this.CommandCollection[1];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
             dsHiveServer.ClientGroupDataTable dataTable = new dsHiveServer.ClientGroupDataTable();
             this.Adapter.Fill(dataTable);
@@ -4508,6 +4378,6 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
-        public virtual int Delete(long Original_ResourceId) {
-            this.Adapter.DeleteCommand.Parameters[0].Value = ((long)(Original_ResourceId));
+        public virtual int Delete(System.Guid Original_ResourceId) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((System.Guid)(Original_ResourceId));
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
             if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
@@ -4529,6 +4399,6 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
-        public virtual int Insert(long ResourceId) {
-            this.Adapter.InsertCommand.Parameters[0].Value = ((long)(ResourceId));
+        public virtual int Insert(System.Guid ResourceId) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((System.Guid)(ResourceId));
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
             if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
@@ -4550,7 +4420,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(long ResourceId, long Original_ResourceId) {
-            this.Adapter.UpdateCommand.Parameters[0].Value = ((long)(ResourceId));
-            this.Adapter.UpdateCommand.Parameters[1].Value = ((long)(Original_ResourceId));
+        public virtual int Update(System.Guid ResourceId, System.Guid Original_ResourceId) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((System.Guid)(ResourceId));
+            this.Adapter.UpdateCommand.Parameters[1].Value = ((System.Guid)(Original_ResourceId));
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
             if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
@@ -4572,6 +4442,379 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(long Original_ResourceId) {
+        public virtual int Update(System.Guid Original_ResourceId) {
             return this.Update(Original_ResourceId, Original_ResourceId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class ClientGroup_ResourceTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        public ClientGroup_ResourceTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "ClientGroup_Resource";
+            tableMapping.ColumnMappings.Add("ClientGroupId", "ClientGroupId");
+            tableMapping.ColumnMappings.Add("ResourceId", "ResourceId");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[ClientGroup_Resource] WHERE (([ClientGroupId] = @Original_Clie" +
+                "ntGroupId) AND ([ResourceId] = @Original_ResourceId))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientGroupId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[ClientGroup_Resource] ([ClientGroupId], [ResourceId]) VALUES (" +
+                "@ClientGroupId, @ResourceId);\r\nSELECT ClientGroupId, ResourceId FROM ClientGroup" +
+                "_Resource WHERE (ClientGroupId = @ClientGroupId) AND (ResourceId = @ResourceId)";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientGroupId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[ClientGroup_Resource] SET [ClientGroupId] = @ClientGroupId, [ResourceId] = @ResourceId WHERE (([ClientGroupId] = @Original_ClientGroupId) AND ([ResourceId] = @Original_ResourceId));
+SELECT ClientGroupId, ResourceId FROM ClientGroup_Resource WHERE (ClientGroupId = @ClientGroupId) AND (ResourceId = @ResourceId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientGroupId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientGroupId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::HeuristicLab.Hive.Server.ADODataAccess.Properties.Settings.Default.HiveServerConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[4];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT * FROM dbo.ClientGroup_Resource";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+            this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[1].Connection = this.Connection;
+            this._commandCollection[1].CommandText = "SELECT * FROM dbo.ClientGroup_Resource WHERE ClientGroupId = @Id";
+            this._commandCollection[1].CommandType = global::System.Data.CommandType.Text;
+            this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[2].Connection = this.Connection;
+            this._commandCollection[2].CommandText = "SELECT * FROM dbo.ClientGroup_Resource WHERE ClientGroupId = @ClientGroupId AND  " +
+                "ResourceId = @ResourceId";
+            this._commandCollection[2].CommandType = global::System.Data.CommandType.Text;
+            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientGroupId", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[3] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[3].Connection = this.Connection;
+            this._commandCollection[3].CommandText = "SELECT * FROM dbo.ClientGroup_Resource WHERE  ResourceId = @ResourceId";
+            this._commandCollection[3].CommandType = global::System.Data.CommandType.Text;
+            this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(dsHiveServer.ClientGroup_ResourceDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual dsHiveServer.ClientGroup_ResourceDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            dsHiveServer.ClientGroup_ResourceDataTable dataTable = new dsHiveServer.ClientGroup_ResourceDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
+        public virtual int FillByClientGroupId(dsHiveServer.ClientGroup_ResourceDataTable dataTable, System.Guid Id) {
+            this.Adapter.SelectCommand = this.CommandCollection[1];
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
+        public virtual dsHiveServer.ClientGroup_ResourceDataTable GetDataByClientGroupId(System.Guid Id) {
+            this.Adapter.SelectCommand = this.CommandCollection[1];
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
+            dsHiveServer.ClientGroup_ResourceDataTable dataTable = new dsHiveServer.ClientGroup_ResourceDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
+        public virtual int FillByClientGroupResourceId(dsHiveServer.ClientGroup_ResourceDataTable dataTable, System.Guid ClientGroupId, System.Guid ResourceId) {
+            this.Adapter.SelectCommand = this.CommandCollection[2];
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ClientGroupId));
+            this.Adapter.SelectCommand.Parameters[1].Value = ((System.Guid)(ResourceId));
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
+        public virtual dsHiveServer.ClientGroup_ResourceDataTable GetDataByClientGroupResourceId(System.Guid ClientGroupId, System.Guid ResourceId) {
+            this.Adapter.SelectCommand = this.CommandCollection[2];
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ClientGroupId));
+            this.Adapter.SelectCommand.Parameters[1].Value = ((System.Guid)(ResourceId));
+            dsHiveServer.ClientGroup_ResourceDataTable dataTable = new dsHiveServer.ClientGroup_ResourceDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
+        public virtual int FillByResourceId(dsHiveServer.ClientGroup_ResourceDataTable dataTable, System.Guid ResourceId) {
+            this.Adapter.SelectCommand = this.CommandCollection[3];
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ResourceId));
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
+        public virtual dsHiveServer.ClientGroup_ResourceDataTable GetDataByResourceId(System.Guid ResourceId) {
+            this.Adapter.SelectCommand = this.CommandCollection[3];
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ResourceId));
+            dsHiveServer.ClientGroup_ResourceDataTable dataTable = new dsHiveServer.ClientGroup_ResourceDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(dsHiveServer.ClientGroup_ResourceDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(dsHiveServer dataSet) {
+            return this.Adapter.Update(dataSet, "ClientGroup_Resource");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(System.Guid Original_ClientGroupId, System.Guid Original_ResourceId) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((System.Guid)(Original_ClientGroupId));
+            this.Adapter.DeleteCommand.Parameters[1].Value = ((System.Guid)(Original_ResourceId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(System.Guid ClientGroupId, System.Guid ResourceId) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((System.Guid)(ClientGroupId));
+            this.Adapter.InsertCommand.Parameters[1].Value = ((System.Guid)(ResourceId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(System.Guid ClientGroupId, System.Guid ResourceId, System.Guid Original_ClientGroupId, System.Guid Original_ResourceId) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((System.Guid)(ClientGroupId));
+            this.Adapter.UpdateCommand.Parameters[1].Value = ((System.Guid)(ResourceId));
+            this.Adapter.UpdateCommand.Parameters[2].Value = ((System.Guid)(Original_ClientGroupId));
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((System.Guid)(Original_ResourceId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(System.Guid Original_ClientGroupId, System.Guid Original_ResourceId) {
+            return this.Update(Original_ClientGroupId, Original_ResourceId, Original_ClientGroupId, Original_ResourceId);
         }
     }
@@ -4694,7 +4937,6 @@
             tableMapping.ColumnMappings.Add("JobId", "JobId");
             tableMapping.ColumnMappings.Add("ParentJobId", "ParentJobId");
-            tableMapping.ColumnMappings.Add("PermissionOwnerId", "PermissionOwnerId");
+            tableMapping.ColumnMappings.Add("JobState", "JobState");
             tableMapping.ColumnMappings.Add("ResourceId", "ResourceId");
-            tableMapping.ColumnMappings.Add("JobState", "JobState");
             tableMapping.ColumnMappings.Add("Percentage", "Percentage");
             tableMapping.ColumnMappings.Add("SerializedJob", "SerializedJob");
@@ -4702,18 +4944,18 @@
             tableMapping.ColumnMappings.Add("DateCalculated", "DateCalculated");
             tableMapping.ColumnMappings.Add("Priority", "Priority");
+            tableMapping.ColumnMappings.Add("ProjectId", "ProjectId");
+            tableMapping.ColumnMappings.Add("UserId", "UserId");
             this._adapter.TableMappings.Add(tableMapping);
             this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.DeleteCommand.Connection = this.Connection;
-            this._adapter.DeleteCommand.CommandText = @"DELETE FROM [Job] WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_PermissionOwnerId = 1 AND [PermissionOwnerId] IS NULL) OR ([PermissionOwnerId] = @Original_PermissionOwnerId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateCreated = 1 AND [DateCreated] IS NULL) OR ([DateCreated] = @Original_DateCreated)) AND ((@IsNull_DateCalculated = 1 AND [DateCalculated] IS NULL) OR ([DateCalculated] = @Original_DateCalculated)) AND ((@IsNull_Priority = 1 AND [Priority] IS NULL) OR ([Priority] = @Original_Priority)))";
+            this._adapter.DeleteCommand.CommandText = @"DELETE FROM [dbo].[Job] WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateCreated = 1 AND [DateCreated] IS NULL) OR ([DateCreated] = @Original_DateCreated)) AND ((@IsNull_DateCalculated = 1 AND [DateCalculated] IS NULL) OR ([DateCalculated] = @Original_DateCalculated)) AND ((@IsNull_Priority = 1 AND [Priority] IS NULL) OR ([Priority] = @Original_Priority)) AND ((@IsNull_ProjectId = 1 AND [ProjectId] IS NULL) OR ([ProjectId] = @Original_ProjectId)) AND ((@IsNull_UserId = 1 AND [UserId] IS NULL) OR ([UserId] = @Original_UserId)))";
             this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ParentJobId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ParentJobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ParentJobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_JobState", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobState", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobState", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobState", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_PermissionOwnerId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PermissionOwnerId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_PermissionOwnerId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PermissionOwnerId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ResourceId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Percentage", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Percentage", global::System.Data.SqlDbType.Float, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
@@ -4724,41 +4966,47 @@
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Priority", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Priority", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Priority", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Priority", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ProjectId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ProjectId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ProjectId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ProjectId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_UserId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UserId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_UserId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UserId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.InsertCommand.Connection = this.Connection;
-            this._adapter.InsertCommand.CommandText = @"INSERT INTO [Job] ([ParentJobId], [JobState], [PermissionOwnerId], [ResourceId], [SerializedJob], [Percentage], [DateCreated], [DateCalculated], [Priority]) VALUES (@ParentJobId, @JobState, @PermissionOwnerId, @ResourceId, @SerializedJob, @Percentage, @DateCreated, @DateCalculated, @Priority);
-SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob, Percentage, DateCreated, DateCalculated, Priority FROM Job WHERE (JobId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[Job] ([JobId], [ParentJobId], [JobState], [ResourceId], [Percentage], [SerializedJob], [DateCreated], [DateCalculated], [Priority], [ProjectId], [UserId]) VALUES (@JobId, @ParentJobId, @JobState, @ResourceId, @Percentage, @SerializedJob, @DateCreated, @DateCalculated, @Priority, @ProjectId, @UserId);
+SELECT JobId, ParentJobId, JobState, ResourceId, Percentage, SerializedJob, DateCreated, DateCalculated, Priority, ProjectId, UserId FROM Job WHERE (JobId = @JobId)";
             this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ParentJobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ParentJobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobState", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobState", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PermissionOwnerId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PermissionOwnerId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Percentage", global::System.Data.SqlDbType.Float, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@SerializedJob", global::System.Data.SqlDbType.VarBinary, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SerializedJob", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Percentage", global::System.Data.SqlDbType.Float, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DateCreated", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DateCreated", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DateCalculated", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DateCalculated", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Priority", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Priority", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ProjectId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ProjectId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UserId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UserId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.UpdateCommand.Connection = this.Connection;
-            this._adapter.UpdateCommand.CommandText = @"UPDATE [Job] SET [ParentJobId] = @ParentJobId, [JobState] = @JobState, [PermissionOwnerId] = @PermissionOwnerId, [ResourceId] = @ResourceId, [SerializedJob] = @SerializedJob, [Percentage] = @Percentage, [DateCreated] = @DateCreated, [DateCalculated] = @DateCalculated, [Priority] = @Priority WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_PermissionOwnerId = 1 AND [PermissionOwnerId] IS NULL) OR ([PermissionOwnerId] = @Original_PermissionOwnerId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateCreated = 1 AND [DateCreated] IS NULL) OR ([DateCreated] = @Original_DateCreated)) AND ((@IsNull_DateCalculated = 1 AND [DateCalculated] IS NULL) OR ([DateCalculated] = @Original_DateCalculated)) AND ((@IsNull_Priority = 1 AND [Priority] IS NULL) OR ([Priority] = @Original_Priority)));
-SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob, Percentage, DateCreated, DateCalculated, Priority FROM Job WHERE (JobId = @JobId)";
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[Job] SET [JobId] = @JobId, [ParentJobId] = @ParentJobId, [JobState] = @JobState, [ResourceId] = @ResourceId, [Percentage] = @Percentage, [SerializedJob] = @SerializedJob, [DateCreated] = @DateCreated, [DateCalculated] = @DateCalculated, [Priority] = @Priority, [ProjectId] = @ProjectId, [UserId] = @UserId WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateCreated = 1 AND [DateCreated] IS NULL) OR ([DateCreated] = @Original_DateCreated)) AND ((@IsNull_DateCalculated = 1 AND [DateCalculated] IS NULL) OR ([DateCalculated] = @Original_DateCalculated)) AND ((@IsNull_Priority = 1 AND [Priority] IS NULL) OR ([Priority] = @Original_Priority)) AND ((@IsNull_ProjectId = 1 AND [ProjectId] IS NULL) OR ([ProjectId] = @Original_ProjectId)) AND ((@IsNull_UserId = 1 AND [UserId] IS NULL) OR ([UserId] = @Original_UserId)));
+SELECT JobId, ParentJobId, JobState, ResourceId, Percentage, SerializedJob, DateCreated, DateCalculated, Priority, ProjectId, UserId FROM Job WHERE (JobId = @JobId)";
             this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ParentJobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ParentJobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobState", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobState", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PermissionOwnerId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PermissionOwnerId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Percentage", global::System.Data.SqlDbType.Float, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@SerializedJob", global::System.Data.SqlDbType.VarBinary, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SerializedJob", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Percentage", global::System.Data.SqlDbType.Float, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DateCreated", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DateCreated", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DateCalculated", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DateCalculated", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Priority", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Priority", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ProjectId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ProjectId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UserId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UserId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ParentJobId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ParentJobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ParentJobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_JobState", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobState", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobState", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobState", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_PermissionOwnerId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PermissionOwnerId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_PermissionOwnerId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PermissionOwnerId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ResourceId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Percentage", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Percentage", global::System.Data.SqlDbType.Float, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
@@ -4769,5 +5017,8 @@
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Priority", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Priority", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Priority", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Priority", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ProjectId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ProjectId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ProjectId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ProjectId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_UserId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UserId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_UserId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UserId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
         }
         
@@ -4780,58 +5031,60 @@
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         private void InitCommandCollection() {
-            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[8];
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[9];
             this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[0].Connection = this.Connection;
-            this._commandCollection[0].CommandText = "SELECT     JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, Serialize" +
-                "dJob, Percentage, DateCreated, DateCalculated, Priority\r\nFROM         Job";
+            this._commandCollection[0].CommandText = "SELECT * FROM dbo.Job";
             this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[1].Connection = this.Connection;
-            this._commandCollection[1].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Per" +
-                "missionOwnerId, Priority, ResourceId, SerializedJob FROM Job WHERE (JobState = \'" +
+            this._commandCollection[1].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Pri" +
+                "ority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (JobState = \'" +
                 "calculating\') OR (JobState = \'idle\')";
             this._commandCollection[1].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[2].Connection = this.Connection;
-            this._commandCollection[2].CommandText = "SELECT     JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, Serialize" +
-                "dJob, Percentage, DateCreated, DateCalculated, Priority\r\nFROM         Job\r\nWHERE" +
-                "     (JobState = \'calculating\') AND (ResourceId = @ResourceId)";
+            this._commandCollection[2].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Pri" +
+                "ority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (JobState = \'" +
+                "calculating\') AND (ResourceId = @ResourceId)";
             this._commandCollection[2].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[3] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[3].Connection = this.Connection;
-            this._commandCollection[3].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Per" +
-                "missionOwnerId, Priority, ResourceId, SerializedJob FROM Job WHERE (ResourceId =" +
+            this._commandCollection[3].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Pri" +
+                "ority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (ResourceId =" +
                 " @ResourceId)";
             this._commandCollection[3].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[4] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[4].Connection = this.Connection;
-            this._commandCollection[4].CommandText = "SELECT     DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage," +
-                " PermissionOwnerId, Priority, ResourceId, SerializedJob\r\nFROM         Job\r\nWHERE" +
-                "     (JobId = @Id)";
+            this._commandCollection[4].CommandText = "SELECT * FROM dbo.Job WHERE JobId = @Id";
             this._commandCollection[4].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[4].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[4].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[5] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[5].Connection = this.Connection;
-            this._commandCollection[5].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Per" +
-                "missionOwnerId, Priority, ResourceId, SerializedJob FROM Job WHERE (JobState = @" +
-                "State)";
+            this._commandCollection[5].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Pri" +
+                "ority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (JobId = @Id)" +
+                "";
             this._commandCollection[5].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@State", global::System.Data.SqlDbType.VarChar, 18, global::System.Data.ParameterDirection.Input, 0, 0, "JobState", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[6] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[6].Connection = this.Connection;
-            this._commandCollection[6].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Per" +
-                "missionOwnerId, Priority, ResourceId, SerializedJob FROM Job WHERE (ParentJobId " +
+            this._commandCollection[6].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Pri" +
+                "ority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (ParentJobId " +
                 "= @Id)";
             this._commandCollection[6].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[7] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[7].Connection = this.Connection;
-            this._commandCollection[7].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Per" +
-                "missionOwnerId, Priority, ResourceId, SerializedJob FROM Job WHERE (PermissionOw" +
-                "nerId = @PermissionOwnerId)";
+            this._commandCollection[7].CommandText = "SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Pri" +
+                "ority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (JobState = @" +
+                "State)";
             this._commandCollection[7].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PermissionOwnerId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "PermissionOwnerId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@State", global::System.Data.SqlDbType.VarChar, 18, global::System.Data.ParameterDirection.Input, 0, 0, "JobState", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[8] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[8].Connection = this.Connection;
+            this._commandCollection[8].CommandText = "SELECT * FROM dbo.Job WHERE UserId = @UserId";
+            this._commandCollection[8].CommandType = global::System.Data.CommandType.Text;
+            this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UserId", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "UserId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
         }
         
@@ -4883,8 +5136,8 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillByCalculatingClient(dsHiveServer.JobDataTable dataTable, global::System.Nullable<long> ResourceId) {
+        public virtual int FillByCalculatingClient(dsHiveServer.JobDataTable dataTable, global::System.Nullable<global::System.Guid> ResourceId) {
             this.Adapter.SelectCommand = this.CommandCollection[2];
             if ((ResourceId.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((long)(ResourceId.Value));
+                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ResourceId.Value));
             }
             else {
@@ -4901,8 +5154,8 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.JobDataTable GetDataByCalculatingClient(global::System.Nullable<long> ResourceId) {
+        public virtual dsHiveServer.JobDataTable GetDataByCalculatingClient(global::System.Nullable<global::System.Guid> ResourceId) {
             this.Adapter.SelectCommand = this.CommandCollection[2];
             if ((ResourceId.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((long)(ResourceId.Value));
+                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ResourceId.Value));
             }
             else {
@@ -4917,8 +5170,8 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillByClient(dsHiveServer.JobDataTable dataTable, global::System.Nullable<long> ResourceId) {
+        public virtual int FillByClient(dsHiveServer.JobDataTable dataTable, global::System.Nullable<global::System.Guid> ResourceId) {
             this.Adapter.SelectCommand = this.CommandCollection[3];
             if ((ResourceId.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((long)(ResourceId.Value));
+                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ResourceId.Value));
             }
             else {
@@ -4935,8 +5188,8 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.JobDataTable GetDataByClient(global::System.Nullable<long> ResourceId) {
+        public virtual dsHiveServer.JobDataTable GetDataByClient(global::System.Nullable<global::System.Guid> ResourceId) {
             this.Adapter.SelectCommand = this.CommandCollection[3];
             if ((ResourceId.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((long)(ResourceId.Value));
+                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(ResourceId.Value));
             }
             else {
@@ -4951,7 +5204,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillById(dsHiveServer.JobDataTable dataTable, long Id) {
+        public virtual int FillById(dsHiveServer.JobDataTable dataTable, System.Guid Id) {
             this.Adapter.SelectCommand = this.CommandCollection[4];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
             if ((this.ClearBeforeFill == true)) {
                 dataTable.Clear();
@@ -4964,7 +5217,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.JobDataTable GetDataById(long Id) {
+        public virtual dsHiveServer.JobDataTable GetDataById(System.Guid Id) {
             this.Adapter.SelectCommand = this.CommandCollection[4];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
             dsHiveServer.JobDataTable dataTable = new dsHiveServer.JobDataTable();
             this.Adapter.Fill(dataTable);
@@ -4975,12 +5228,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillByState(dsHiveServer.JobDataTable dataTable, string State) {
+        public virtual int FillByJob(dsHiveServer.JobDataTable dataTable, System.Guid Id) {
             this.Adapter.SelectCommand = this.CommandCollection[5];
-            if ((State == null)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((string)(State));
-            }
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
             if ((this.ClearBeforeFill == true)) {
                 dataTable.Clear();
@@ -4993,12 +5241,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.JobDataTable GetDataByState(string State) {
+        public virtual dsHiveServer.JobDataTable GetDataByJob(System.Guid Id) {
             this.Adapter.SelectCommand = this.CommandCollection[5];
-            if ((State == null)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((string)(State));
-            }
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
             dsHiveServer.JobDataTable dataTable = new dsHiveServer.JobDataTable();
             this.Adapter.Fill(dataTable);
@@ -5009,8 +5252,8 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillBySubjobs(dsHiveServer.JobDataTable dataTable, global::System.Nullable<long> Id) {
+        public virtual int FillByParentJob(dsHiveServer.JobDataTable dataTable, global::System.Nullable<global::System.Guid> Id) {
             this.Adapter.SelectCommand = this.CommandCollection[6];
             if ((Id.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id.Value));
+                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id.Value));
             }
             else {
@@ -5027,8 +5270,8 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.JobDataTable GetDataBySubjobs(global::System.Nullable<long> Id) {
+        public virtual dsHiveServer.JobDataTable GetDataByParentJob(global::System.Nullable<global::System.Guid> Id) {
             this.Adapter.SelectCommand = this.CommandCollection[6];
             if ((Id.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id.Value));
+                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id.Value));
             }
             else {
@@ -5043,11 +5286,11 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillByUser(dsHiveServer.JobDataTable dataTable, global::System.Nullable<long> PermissionOwnerId) {
+        public virtual int FillByState(dsHiveServer.JobDataTable dataTable, string State) {
             this.Adapter.SelectCommand = this.CommandCollection[7];
-            if ((PermissionOwnerId.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((long)(PermissionOwnerId.Value));
-            }
-            else {
+            if ((State == null)) {
                 this.Adapter.SelectCommand.Parameters[0].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.SelectCommand.Parameters[0].Value = ((string)(State));
             }
             if ((this.ClearBeforeFill == true)) {
@@ -5061,11 +5304,11 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.JobDataTable GetDataByUser(global::System.Nullable<long> PermissionOwnerId) {
+        public virtual dsHiveServer.JobDataTable GetDataByState(string State) {
             this.Adapter.SelectCommand = this.CommandCollection[7];
-            if ((PermissionOwnerId.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((long)(PermissionOwnerId.Value));
-            }
-            else {
+            if ((State == null)) {
                 this.Adapter.SelectCommand.Parameters[0].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.SelectCommand.Parameters[0].Value = ((string)(State));
             }
             dsHiveServer.JobDataTable dataTable = new dsHiveServer.JobDataTable();
@@ -5076,4 +5319,38 @@
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
+        public virtual int FillByUser(dsHiveServer.JobDataTable dataTable, global::System.Nullable<global::System.Guid> UserId) {
+            this.Adapter.SelectCommand = this.CommandCollection[8];
+            if ((UserId.HasValue == true)) {
+                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(UserId.Value));
+            }
+            else {
+                this.Adapter.SelectCommand.Parameters[0].Value = global::System.DBNull.Value;
+            }
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
+        public virtual dsHiveServer.JobDataTable GetDataByUser(global::System.Nullable<global::System.Guid> UserId) {
+            this.Adapter.SelectCommand = this.CommandCollection[8];
+            if ((UserId.HasValue == true)) {
+                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(UserId.Value));
+            }
+            else {
+                this.Adapter.SelectCommand.Parameters[0].Value = global::System.DBNull.Value;
+            }
+            dsHiveServer.JobDataTable dataTable = new dsHiveServer.JobDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         public virtual int Update(dsHiveServer.JobDataTable dataTable) {
             return this.Adapter.Update(dataTable);
@@ -5102,9 +5379,9 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
-        public virtual int Delete(long Original_JobId, global::System.Nullable<long> Original_ParentJobId, string Original_JobState, global::System.Nullable<long> Original_PermissionOwnerId, global::System.Nullable<long> Original_ResourceId, global::System.Nullable<double> Original_Percentage, global::System.Nullable<global::System.DateTime> Original_DateCreated, global::System.Nullable<global::System.DateTime> Original_DateCalculated, global::System.Nullable<int> Original_Priority) {
-            this.Adapter.DeleteCommand.Parameters[0].Value = ((long)(Original_JobId));
+        public virtual int Delete(System.Guid Original_JobId, global::System.Nullable<global::System.Guid> Original_ParentJobId, string Original_JobState, global::System.Nullable<global::System.Guid> Original_ResourceId, global::System.Nullable<double> Original_Percentage, global::System.Nullable<global::System.DateTime> Original_DateCreated, global::System.Nullable<global::System.DateTime> Original_DateCalculated, global::System.Nullable<int> Original_Priority, global::System.Nullable<global::System.Guid> Original_ProjectId, System.Guid Original_UserId) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((System.Guid)(Original_JobId));
             if ((Original_ParentJobId.HasValue == true)) {
                 this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[2].Value = ((long)(Original_ParentJobId.Value));
+                this.Adapter.DeleteCommand.Parameters[2].Value = ((System.Guid)(Original_ParentJobId.Value));
             }
             else {
@@ -5120,7 +5397,7 @@
                 this.Adapter.DeleteCommand.Parameters[4].Value = ((string)(Original_JobState));
             }
-            if ((Original_PermissionOwnerId.HasValue == true)) {
+            if ((Original_ResourceId.HasValue == true)) {
                 this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[6].Value = ((long)(Original_PermissionOwnerId.Value));
+                this.Adapter.DeleteCommand.Parameters[6].Value = ((System.Guid)(Original_ResourceId.Value));
             }
             else {
@@ -5128,7 +5405,7 @@
                 this.Adapter.DeleteCommand.Parameters[6].Value = global::System.DBNull.Value;
             }
-            if ((Original_ResourceId.HasValue == true)) {
+            if ((Original_Percentage.HasValue == true)) {
                 this.Adapter.DeleteCommand.Parameters[7].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[8].Value = ((long)(Original_ResourceId.Value));
+                this.Adapter.DeleteCommand.Parameters[8].Value = ((double)(Original_Percentage.Value));
             }
             else {
@@ -5136,7 +5413,7 @@
                 this.Adapter.DeleteCommand.Parameters[8].Value = global::System.DBNull.Value;
             }
-            if ((Original_Percentage.HasValue == true)) {
+            if ((Original_DateCreated.HasValue == true)) {
                 this.Adapter.DeleteCommand.Parameters[9].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[10].Value = ((double)(Original_Percentage.Value));
+                this.Adapter.DeleteCommand.Parameters[10].Value = ((System.DateTime)(Original_DateCreated.Value));
             }
             else {
@@ -5144,7 +5421,7 @@
                 this.Adapter.DeleteCommand.Parameters[10].Value = global::System.DBNull.Value;
             }
-            if ((Original_DateCreated.HasValue == true)) {
+            if ((Original_DateCalculated.HasValue == true)) {
                 this.Adapter.DeleteCommand.Parameters[11].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[12].Value = ((System.DateTime)(Original_DateCreated.Value));
+                this.Adapter.DeleteCommand.Parameters[12].Value = ((System.DateTime)(Original_DateCalculated.Value));
             }
             else {
@@ -5152,7 +5429,7 @@
                 this.Adapter.DeleteCommand.Parameters[12].Value = global::System.DBNull.Value;
             }
-            if ((Original_DateCalculated.HasValue == true)) {
+            if ((Original_Priority.HasValue == true)) {
                 this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[14].Value = ((System.DateTime)(Original_DateCalculated.Value));
+                this.Adapter.DeleteCommand.Parameters[14].Value = ((int)(Original_Priority.Value));
             }
             else {
@@ -5160,7 +5437,7 @@
                 this.Adapter.DeleteCommand.Parameters[14].Value = global::System.DBNull.Value;
             }
-            if ((Original_Priority.HasValue == true)) {
+            if ((Original_ProjectId.HasValue == true)) {
                 this.Adapter.DeleteCommand.Parameters[15].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[16].Value = ((int)(Original_Priority.Value));
+                this.Adapter.DeleteCommand.Parameters[16].Value = ((System.Guid)(Original_ProjectId.Value));
             }
             else {
@@ -5168,4 +5445,6 @@
                 this.Adapter.DeleteCommand.Parameters[16].Value = global::System.DBNull.Value;
             }
+            this.Adapter.DeleteCommand.Parameters[17].Value = ((object)(0));
+            this.Adapter.DeleteCommand.Parameters[18].Value = ((System.Guid)(Original_UserId));
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
             if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
@@ -5187,40 +5466,35 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
-        public virtual int Insert(global::System.Nullable<long> ParentJobId, string JobState, global::System.Nullable<long> PermissionOwnerId, global::System.Nullable<long> ResourceId, byte[] SerializedJob, global::System.Nullable<double> Percentage, global::System.Nullable<global::System.DateTime> DateCreated, global::System.Nullable<global::System.DateTime> DateCalculated, global::System.Nullable<int> Priority) {
+        public virtual int Insert(System.Guid JobId, global::System.Nullable<global::System.Guid> ParentJobId, string JobState, global::System.Nullable<global::System.Guid> ResourceId, global::System.Nullable<double> Percentage, byte[] SerializedJob, global::System.Nullable<global::System.DateTime> DateCreated, global::System.Nullable<global::System.DateTime> DateCalculated, global::System.Nullable<int> Priority, global::System.Nullable<global::System.Guid> ProjectId, System.Guid UserId) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((System.Guid)(JobId));
             if ((ParentJobId.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[0].Value = ((long)(ParentJobId.Value));
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[0].Value = global::System.DBNull.Value;
+                this.Adapter.InsertCommand.Parameters[1].Value = ((System.Guid)(ParentJobId.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value;
             }
             if ((JobState == null)) {
-                this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[1].Value = ((string)(JobState));
-            }
-            if ((PermissionOwnerId.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[2].Value = ((long)(PermissionOwnerId.Value));
-            }
-            else {
                 this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value;
             }
+            else {
+                this.Adapter.InsertCommand.Parameters[2].Value = ((string)(JobState));
+            }
             if ((ResourceId.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[3].Value = ((long)(ResourceId.Value));
+                this.Adapter.InsertCommand.Parameters[3].Value = ((System.Guid)(ResourceId.Value));
             }
             else {
                 this.Adapter.InsertCommand.Parameters[3].Value = global::System.DBNull.Value;
             }
+            if ((Percentage.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[4].Value = ((double)(Percentage.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
             if ((SerializedJob == null)) {
-                this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[4].Value = ((byte[])(SerializedJob));
-            }
-            if ((Percentage.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[5].Value = ((double)(Percentage.Value));
-            }
-            else {
                 this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[5].Value = ((byte[])(SerializedJob));
             }
             if ((DateCreated.HasValue == true)) {
@@ -5242,4 +5516,11 @@
                 this.Adapter.InsertCommand.Parameters[8].Value = global::System.DBNull.Value;
             }
+            if ((ProjectId.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[9].Value = ((System.Guid)(ProjectId.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[9].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.InsertCommand.Parameters[10].Value = ((System.Guid)(UserId));
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
             if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
@@ -5262,58 +5543,55 @@
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
         public virtual int Update(
-                    global::System.Nullable<long> ParentJobId, 
+                    System.Guid JobId, 
+                    global::System.Nullable<global::System.Guid> ParentJobId, 
                     string JobState, 
-                    global::System.Nullable<long> PermissionOwnerId, 
-                    global::System.Nullable<long> ResourceId, 
+                    global::System.Nullable<global::System.Guid> ResourceId, 
+                    global::System.Nullable<double> Percentage, 
                     byte[] SerializedJob, 
-                    global::System.Nullable<double> Percentage, 
                     global::System.Nullable<global::System.DateTime> DateCreated, 
                     global::System.Nullable<global::System.DateTime> DateCalculated, 
                     global::System.Nullable<int> Priority, 
-                    long Original_JobId, 
-                    global::System.Nullable<long> Original_ParentJobId, 
+                    global::System.Nullable<global::System.Guid> ProjectId, 
+                    System.Guid UserId, 
+                    System.Guid Original_JobId, 
+                    global::System.Nullable<global::System.Guid> Original_ParentJobId, 
                     string Original_JobState, 
-                    global::System.Nullable<long> Original_PermissionOwnerId, 
-                    global::System.Nullable<long> Original_ResourceId, 
+                    global::System.Nullable<global::System.Guid> Original_ResourceId, 
                     global::System.Nullable<double> Original_Percentage, 
                     global::System.Nullable<global::System.DateTime> Original_DateCreated, 
                     global::System.Nullable<global::System.DateTime> Original_DateCalculated, 
                     global::System.Nullable<int> Original_Priority, 
-                    long JobId) {
+                    global::System.Nullable<global::System.Guid> Original_ProjectId, 
+                    System.Guid Original_UserId) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((System.Guid)(JobId));
             if ((ParentJobId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[0].Value = ((long)(ParentJobId.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[0].Value = global::System.DBNull.Value;
+                this.Adapter.UpdateCommand.Parameters[1].Value = ((System.Guid)(ParentJobId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value;
             }
             if ((JobState == null)) {
-                this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(JobState));
-            }
-            if ((PermissionOwnerId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[2].Value = ((long)(PermissionOwnerId.Value));
-            }
-            else {
                 this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value;
             }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(JobState));
+            }
             if ((ResourceId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[3].Value = ((long)(ResourceId.Value));
+                this.Adapter.UpdateCommand.Parameters[3].Value = ((System.Guid)(ResourceId.Value));
             }
             else {
                 this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value;
             }
+            if ((Percentage.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[4].Value = ((double)(Percentage.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
             if ((SerializedJob == null)) {
-                this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[4].Value = ((byte[])(SerializedJob));
-            }
-            if ((Percentage.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[5].Value = ((double)(Percentage.Value));
-            }
-            else {
                 this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[5].Value = ((byte[])(SerializedJob));
             }
             if ((DateCreated.HasValue == true)) {
@@ -5335,32 +5613,31 @@
                 this.Adapter.UpdateCommand.Parameters[8].Value = global::System.DBNull.Value;
             }
-            this.Adapter.UpdateCommand.Parameters[9].Value = ((long)(Original_JobId));
+            if ((ProjectId.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[9].Value = ((System.Guid)(ProjectId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[9].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.UpdateCommand.Parameters[10].Value = ((System.Guid)(UserId));
+            this.Adapter.UpdateCommand.Parameters[11].Value = ((System.Guid)(Original_JobId));
             if ((Original_ParentJobId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[11].Value = ((long)(Original_ParentJobId.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[11].Value = global::System.DBNull.Value;
-            }
-            if ((Original_JobState == null)) {
+                this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[13].Value = ((System.Guid)(Original_ParentJobId.Value));
+            }
+            else {
                 this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(1));
                 this.Adapter.UpdateCommand.Parameters[13].Value = global::System.DBNull.Value;
             }
-            else {
-                this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[13].Value = ((string)(Original_JobState));
-            }
-            if ((Original_PermissionOwnerId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[15].Value = ((long)(Original_PermissionOwnerId.Value));
-            }
-            else {
+            if ((Original_JobState == null)) {
                 this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(1));
                 this.Adapter.UpdateCommand.Parameters[15].Value = global::System.DBNull.Value;
             }
+            else {
+                this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[15].Value = ((string)(Original_JobState));
+            }
             if ((Original_ResourceId.HasValue == true)) {
                 this.Adapter.UpdateCommand.Parameters[16].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[17].Value = ((long)(Original_ResourceId.Value));
+                this.Adapter.UpdateCommand.Parameters[17].Value = ((System.Guid)(Original_ResourceId.Value));
             }
             else {
@@ -5400,5 +5677,14 @@
                 this.Adapter.UpdateCommand.Parameters[25].Value = global::System.DBNull.Value;
             }
-            this.Adapter.UpdateCommand.Parameters[26].Value = ((long)(JobId));
+            if ((Original_ProjectId.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[26].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[27].Value = ((System.Guid)(Original_ProjectId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[26].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[27].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.UpdateCommand.Parameters[28].Value = ((object)(0));
+            this.Adapter.UpdateCommand.Parameters[29].Value = ((System.Guid)(Original_UserId));
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
             if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
@@ -5421,396 +5707,25 @@
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
         public virtual int Update(
-                    global::System.Nullable<long> ParentJobId, 
+                    global::System.Nullable<global::System.Guid> ParentJobId, 
                     string JobState, 
-                    global::System.Nullable<long> PermissionOwnerId, 
-                    global::System.Nullable<long> ResourceId, 
+                    global::System.Nullable<global::System.Guid> ResourceId, 
+                    global::System.Nullable<double> Percentage, 
                     byte[] SerializedJob, 
-                    global::System.Nullable<double> Percentage, 
                     global::System.Nullable<global::System.DateTime> DateCreated, 
                     global::System.Nullable<global::System.DateTime> DateCalculated, 
                     global::System.Nullable<int> Priority, 
-                    long Original_JobId, 
-                    global::System.Nullable<long> Original_ParentJobId, 
+                    global::System.Nullable<global::System.Guid> ProjectId, 
+                    System.Guid UserId, 
+                    System.Guid Original_JobId, 
+                    global::System.Nullable<global::System.Guid> Original_ParentJobId, 
                     string Original_JobState, 
-                    global::System.Nullable<long> Original_PermissionOwnerId, 
-                    global::System.Nullable<long> Original_ResourceId, 
+                    global::System.Nullable<global::System.Guid> Original_ResourceId, 
                     global::System.Nullable<double> Original_Percentage, 
                     global::System.Nullable<global::System.DateTime> Original_DateCreated, 
                     global::System.Nullable<global::System.DateTime> Original_DateCalculated, 
-                    global::System.Nullable<int> Original_Priority) {
-            return this.Update(ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob, Percentage, DateCreated, DateCalculated, Priority, Original_JobId, Original_ParentJobId, Original_JobState, Original_PermissionOwnerId, Original_ResourceId, Original_Percentage, Original_DateCreated, Original_DateCalculated, Original_Priority, Original_JobId);
-        }
-    }
-    
-    /// <summary>
-    ///Represents the connection and commands used to retrieve and save data.
-    ///</summary>
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
-    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
-    [global::System.ComponentModel.ToolboxItem(true)]
-    [global::System.ComponentModel.DataObjectAttribute(true)]
-    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
-        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
-    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-    public partial class ClientGroup_ResourceTableAdapter : global::System.ComponentModel.Component {
-        
-        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
-        
-        private global::System.Data.SqlClient.SqlConnection _connection;
-        
-        private global::System.Data.SqlClient.SqlTransaction _transaction;
-        
-        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
-        
-        private bool _clearBeforeFill;
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        public ClientGroup_ResourceTableAdapter() {
-            this.ClearBeforeFill = true;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
-            get {
-                if ((this._adapter == null)) {
-                    this.InitAdapter();
-                }
-                return this._adapter;
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        internal global::System.Data.SqlClient.SqlConnection Connection {
-            get {
-                if ((this._connection == null)) {
-                    this.InitConnection();
-                }
-                return this._connection;
-            }
-            set {
-                this._connection = value;
-                if ((this.Adapter.InsertCommand != null)) {
-                    this.Adapter.InsertCommand.Connection = value;
-                }
-                if ((this.Adapter.DeleteCommand != null)) {
-                    this.Adapter.DeleteCommand.Connection = value;
-                }
-                if ((this.Adapter.UpdateCommand != null)) {
-                    this.Adapter.UpdateCommand.Connection = value;
-                }
-                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
-                    if ((this.CommandCollection[i] != null)) {
-                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
-                    }
-                }
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        internal global::System.Data.SqlClient.SqlTransaction Transaction {
-            get {
-                return this._transaction;
-            }
-            set {
-                this._transaction = value;
-                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
-                    this.CommandCollection[i].Transaction = this._transaction;
-                }
-                if (((this.Adapter != null) 
-                            && (this.Adapter.DeleteCommand != null))) {
-                    this.Adapter.DeleteCommand.Transaction = this._transaction;
-                }
-                if (((this.Adapter != null) 
-                            && (this.Adapter.InsertCommand != null))) {
-                    this.Adapter.InsertCommand.Transaction = this._transaction;
-                }
-                if (((this.Adapter != null) 
-                            && (this.Adapter.UpdateCommand != null))) {
-                    this.Adapter.UpdateCommand.Transaction = this._transaction;
-                }
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
-            get {
-                if ((this._commandCollection == null)) {
-                    this.InitCommandCollection();
-                }
-                return this._commandCollection;
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        public bool ClearBeforeFill {
-            get {
-                return this._clearBeforeFill;
-            }
-            set {
-                this._clearBeforeFill = value;
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        private void InitAdapter() {
-            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
-            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
-            tableMapping.SourceTable = "Table";
-            tableMapping.DataSetTable = "ClientGroup_Resource";
-            tableMapping.ColumnMappings.Add("ClientGroupId", "ClientGroupId");
-            tableMapping.ColumnMappings.Add("ResourceId", "ResourceId");
-            this._adapter.TableMappings.Add(tableMapping);
-            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
-            this._adapter.DeleteCommand.Connection = this.Connection;
-            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[ClientGroup_Resource] WHERE (([ClientGroupId] = @Original_Clie" +
-                "ntGroupId) AND ([ResourceId] = @Original_ResourceId))";
-            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientGroupId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
-            this._adapter.InsertCommand.Connection = this.Connection;
-            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[ClientGroup_Resource] ([ClientGroupId], [ResourceId]) VALUES (" +
-                "@ClientGroupId, @ResourceId);\r\nSELECT ClientGroupId, ResourceId FROM ClientGroup" +
-                "_Resource WHERE (ClientGroupId = @ClientGroupId) AND (ResourceId = @ResourceId)";
-            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientGroupId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
-            this._adapter.UpdateCommand.Connection = this.Connection;
-            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[ClientGroup_Resource] SET [ClientGroupId] = @ClientGroupId, [ResourceId] = @ResourceId WHERE (([ClientGroupId] = @Original_ClientGroupId) AND ([ResourceId] = @Original_ResourceId));
-SELECT ClientGroupId, ResourceId FROM ClientGroup_Resource WHERE (ClientGroupId = @ClientGroupId) AND (ResourceId = @ResourceId)";
-            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientGroupId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientGroupId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        private void InitConnection() {
-            this._connection = new global::System.Data.SqlClient.SqlConnection();
-            this._connection.ConnectionString = global::HeuristicLab.Hive.Server.ADODataAccess.Properties.Settings.Default.HiveServerConnectionString;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        private void InitCommandCollection() {
-            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[4];
-            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
-            this._commandCollection[0].Connection = this.Connection;
-            this._commandCollection[0].CommandText = "SELECT ClientGroupId, ResourceId FROM dbo.ClientGroup_Resource";
-            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
-            this._commandCollection[1].Connection = this.Connection;
-            this._commandCollection[1].CommandText = "SELECT * FROM dbo.ClientGroup_Resource WHERE ClientGroupId = @Id";
-            this._commandCollection[1].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand();
-            this._commandCollection[2].Connection = this.Connection;
-            this._commandCollection[2].CommandText = "SELECT * FROM dbo.ClientGroup_Resource WHERE ClientGroupId = @ClientGroupId AND  " +
-                "ResourceId = @ResourceId";
-            this._commandCollection[2].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientGroupId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._commandCollection[3] = new global::System.Data.SqlClient.SqlCommand();
-            this._commandCollection[3].Connection = this.Connection;
-            this._commandCollection[3].CommandText = "SELECT * FROM dbo.ClientGroup_Resource WHERE ResourceId = @Id";
-            this._commandCollection[3].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
-        public virtual int Fill(dsHiveServer.ClientGroup_ResourceDataTable dataTable) {
-            this.Adapter.SelectCommand = this.CommandCollection[0];
-            if ((this.ClearBeforeFill == true)) {
-                dataTable.Clear();
-            }
-            int returnValue = this.Adapter.Fill(dataTable);
-            return returnValue;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
-        public virtual dsHiveServer.ClientGroup_ResourceDataTable GetData() {
-            this.Adapter.SelectCommand = this.CommandCollection[0];
-            dsHiveServer.ClientGroup_ResourceDataTable dataTable = new dsHiveServer.ClientGroup_ResourceDataTable();
-            this.Adapter.Fill(dataTable);
-            return dataTable;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillByClientGroupId(dsHiveServer.ClientGroup_ResourceDataTable dataTable, long Id) {
-            this.Adapter.SelectCommand = this.CommandCollection[1];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
-            if ((this.ClearBeforeFill == true)) {
-                dataTable.Clear();
-            }
-            int returnValue = this.Adapter.Fill(dataTable);
-            return returnValue;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.ClientGroup_ResourceDataTable GetDataByClientGroupId(long Id) {
-            this.Adapter.SelectCommand = this.CommandCollection[1];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
-            dsHiveServer.ClientGroup_ResourceDataTable dataTable = new dsHiveServer.ClientGroup_ResourceDataTable();
-            this.Adapter.Fill(dataTable);
-            return dataTable;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillByClientGroupResourceId(dsHiveServer.ClientGroup_ResourceDataTable dataTable, long ClientGroupId, long ResourceId) {
-            this.Adapter.SelectCommand = this.CommandCollection[2];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(ClientGroupId));
-            this.Adapter.SelectCommand.Parameters[1].Value = ((long)(ResourceId));
-            if ((this.ClearBeforeFill == true)) {
-                dataTable.Clear();
-            }
-            int returnValue = this.Adapter.Fill(dataTable);
-            return returnValue;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.ClientGroup_ResourceDataTable GetDataByClientGroupResourceId(long ClientGroupId, long ResourceId) {
-            this.Adapter.SelectCommand = this.CommandCollection[2];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(ClientGroupId));
-            this.Adapter.SelectCommand.Parameters[1].Value = ((long)(ResourceId));
-            dsHiveServer.ClientGroup_ResourceDataTable dataTable = new dsHiveServer.ClientGroup_ResourceDataTable();
-            this.Adapter.Fill(dataTable);
-            return dataTable;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillByResourceId(dsHiveServer.ClientGroup_ResourceDataTable dataTable, long Id) {
-            this.Adapter.SelectCommand = this.CommandCollection[3];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
-            if ((this.ClearBeforeFill == true)) {
-                dataTable.Clear();
-            }
-            int returnValue = this.Adapter.Fill(dataTable);
-            return returnValue;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.ClientGroup_ResourceDataTable GetDataByResourceId(long Id) {
-            this.Adapter.SelectCommand = this.CommandCollection[3];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
-            dsHiveServer.ClientGroup_ResourceDataTable dataTable = new dsHiveServer.ClientGroup_ResourceDataTable();
-            this.Adapter.Fill(dataTable);
-            return dataTable;
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        public virtual int Update(dsHiveServer.ClientGroup_ResourceDataTable dataTable) {
-            return this.Adapter.Update(dataTable);
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        public virtual int Update(dsHiveServer dataSet) {
-            return this.Adapter.Update(dataSet, "ClientGroup_Resource");
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        public virtual int Update(global::System.Data.DataRow dataRow) {
-            return this.Adapter.Update(new global::System.Data.DataRow[] {
-                        dataRow});
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        public virtual int Update(global::System.Data.DataRow[] dataRows) {
-            return this.Adapter.Update(dataRows);
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
-        public virtual int Delete(long Original_ClientGroupId, long Original_ResourceId) {
-            this.Adapter.DeleteCommand.Parameters[0].Value = ((long)(Original_ClientGroupId));
-            this.Adapter.DeleteCommand.Parameters[1].Value = ((long)(Original_ResourceId));
-            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
-            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
-                        != global::System.Data.ConnectionState.Open)) {
-                this.Adapter.DeleteCommand.Connection.Open();
-            }
-            try {
-                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
-                return returnValue;
-            }
-            finally {
-                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
-                    this.Adapter.DeleteCommand.Connection.Close();
-                }
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
-        public virtual int Insert(long ClientGroupId, long ResourceId) {
-            this.Adapter.InsertCommand.Parameters[0].Value = ((long)(ClientGroupId));
-            this.Adapter.InsertCommand.Parameters[1].Value = ((long)(ResourceId));
-            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
-            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
-                        != global::System.Data.ConnectionState.Open)) {
-                this.Adapter.InsertCommand.Connection.Open();
-            }
-            try {
-                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
-                return returnValue;
-            }
-            finally {
-                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
-                    this.Adapter.InsertCommand.Connection.Close();
-                }
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(long ClientGroupId, long ResourceId, long Original_ClientGroupId, long Original_ResourceId) {
-            this.Adapter.UpdateCommand.Parameters[0].Value = ((long)(ClientGroupId));
-            this.Adapter.UpdateCommand.Parameters[1].Value = ((long)(ResourceId));
-            this.Adapter.UpdateCommand.Parameters[2].Value = ((long)(Original_ClientGroupId));
-            this.Adapter.UpdateCommand.Parameters[3].Value = ((long)(Original_ResourceId));
-            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
-            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
-                        != global::System.Data.ConnectionState.Open)) {
-                this.Adapter.UpdateCommand.Connection.Open();
-            }
-            try {
-                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
-                return returnValue;
-            }
-            finally {
-                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
-                    this.Adapter.UpdateCommand.Connection.Close();
-                }
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
-        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(long Original_ClientGroupId, long Original_ResourceId) {
-            return this.Update(Original_ClientGroupId, Original_ResourceId, Original_ClientGroupId, Original_ResourceId);
+                    global::System.Nullable<int> Original_Priority, 
+                    global::System.Nullable<global::System.Guid> Original_ProjectId, 
+                    System.Guid Original_UserId) {
+            return this.Update(Original_JobId, ParentJobId, JobState, ResourceId, Percentage, SerializedJob, DateCreated, DateCalculated, Priority, ProjectId, UserId, Original_JobId, Original_ParentJobId, Original_JobState, Original_ResourceId, Original_Percentage, Original_DateCreated, Original_DateCalculated, Original_Priority, Original_ProjectId, Original_UserId);
         }
     }
@@ -5934,54 +5849,55 @@
             tableMapping.ColumnMappings.Add("JobId", "JobId");
             tableMapping.ColumnMappings.Add("JobResult", "JobResult");
-            tableMapping.ColumnMappings.Add("ResourceId", "ResourceId");
             tableMapping.ColumnMappings.Add("Message", "Message");
             tableMapping.ColumnMappings.Add("Percentage", "Percentage");
+            tableMapping.ColumnMappings.Add("ResourceId", "ResourceId");
             tableMapping.ColumnMappings.Add("DateFinished", "DateFinished");
             this._adapter.TableMappings.Add(tableMapping);
             this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.DeleteCommand.Connection = this.Connection;
-            this._adapter.DeleteCommand.CommandText = @"DELETE FROM [JobResult] WHERE (([JobResultId] = @Original_JobResultId) AND ((@IsNull_JobId = 1 AND [JobId] IS NULL) OR ([JobId] = @Original_JobId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateFinished = 1 AND [DateFinished] IS NULL) OR ([DateFinished] = @Original_DateFinished)))";
+            this._adapter.DeleteCommand.CommandText = @"DELETE FROM [dbo].[JobResult] WHERE (([JobResultId] = @Original_JobResultId) AND ((@IsNull_JobId = 1 AND [JobId] IS NULL) OR ([JobId] = @Original_JobId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_DateFinished = 1 AND [DateFinished] IS NULL) OR ([DateFinished] = @Original_DateFinished)))";
             this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobResultId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobResultId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobResultId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobResultId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_JobId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ResourceId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Percentage", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Percentage", global::System.Data.SqlDbType.Float, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ResourceId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_DateFinished", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DateFinished", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_DateFinished", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DateFinished", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.InsertCommand.Connection = this.Connection;
-            this._adapter.InsertCommand.CommandText = @"INSERT INTO [JobResult] ([JobId], [JobResult], [ResourceId], [Message], [Percentage], [DateFinished]) VALUES (@JobId, @JobResult, @ResourceId, @Message, @Percentage, @DateFinished);
-SELECT JobResultId, JobId, JobResult, ResourceId, Message, Percentage, DateFinished FROM JobResult WHERE (JobResultId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[JobResult] ([JobResultId], [JobId], [JobResult], [Message], [Percentage], [ResourceId], [DateFinished]) VALUES (@JobResultId, @JobId, @JobResult, @Message, @Percentage, @ResourceId, @DateFinished);
+SELECT JobResultId, JobId, JobResult, Message, Percentage, ResourceId, DateFinished FROM JobResult WHERE (JobResultId = @JobResultId)";
             this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobResultId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobResultId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobResult", global::System.Data.SqlDbType.VarBinary, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobResult", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Message", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Message", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Percentage", global::System.Data.SqlDbType.Float, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DateFinished", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DateFinished", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.UpdateCommand.Connection = this.Connection;
-            this._adapter.UpdateCommand.CommandText = @"UPDATE [JobResult] SET [JobId] = @JobId, [JobResult] = @JobResult, [ResourceId] = @ResourceId, [Message] = @Message, [Percentage] = @Percentage, [DateFinished] = @DateFinished WHERE (([JobResultId] = @Original_JobResultId) AND ((@IsNull_JobId = 1 AND [JobId] IS NULL) OR ([JobId] = @Original_JobId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateFinished = 1 AND [DateFinished] IS NULL) OR ([DateFinished] = @Original_DateFinished)));
-SELECT JobResultId, JobId, JobResult, ResourceId, Message, Percentage, DateFinished FROM JobResult WHERE (JobResultId = @JobResultId)";
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[JobResult] SET [JobResultId] = @JobResultId, [JobId] = @JobId, [JobResult] = @JobResult, [Message] = @Message, [Percentage] = @Percentage, [ResourceId] = @ResourceId, [DateFinished] = @DateFinished WHERE (([JobResultId] = @Original_JobResultId) AND ((@IsNull_JobId = 1 AND [JobId] IS NULL) OR ([JobId] = @Original_JobId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_DateFinished = 1 AND [DateFinished] IS NULL) OR ([DateFinished] = @Original_DateFinished)));
+SELECT JobResultId, JobId, JobResult, Message, Percentage, ResourceId, DateFinished FROM JobResult WHERE (JobResultId = @JobResultId)";
             this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobResultId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobResultId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobResult", global::System.Data.SqlDbType.VarBinary, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobResult", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Message", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Message", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Percentage", global::System.Data.SqlDbType.Float, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DateFinished", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DateFinished", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobResultId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobResultId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobResultId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobResultId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_JobId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ResourceId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Percentage", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Percentage", global::System.Data.SqlDbType.Float, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Percentage", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ResourceId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_DateFinished", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DateFinished", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_DateFinished", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DateFinished", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
-            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobResultId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "JobResultId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
         }
         
@@ -5997,19 +5913,16 @@
             this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[0].Connection = this.Connection;
-            this._commandCollection[0].CommandText = "SELECT     JobResultId, JobId, JobResult, ResourceId, Message, Percentage, DateFi" +
-                "nished\r\nFROM         JobResult";
+            this._commandCollection[0].CommandText = "SELECT * FROM dbo.JobResult";
             this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[1].Connection = this.Connection;
-            this._commandCollection[1].CommandText = "SELECT     JobId, JobResult, JobResultId, Message, ResourceId, Percentage, DateFi" +
-                "nished\r\nFROM         JobResult\r\nWHERE     (JobResultId = @Id)";
+            this._commandCollection[1].CommandText = "SELECT * FROM dbo.JobResult WHERE JobResultId = @Id";
             this._commandCollection[1].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "JobResultId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "JobResultId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[2].Connection = this.Connection;
-            this._commandCollection[2].CommandText = "SELECT     JobId, JobResult, JobResultId, Message, ResourceId, Percentage, DateFi" +
-                "nished\r\nFROM         JobResult\r\nWHERE     (JobId = @JobId)";
+            this._commandCollection[2].CommandText = "SELECT * FROM dbo.JobResult WHERE JobId = @JobId";
             this._commandCollection[2].CommandType = global::System.Data.CommandType.Text;
-            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@JobId", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
         }
         
@@ -6039,7 +5952,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillById(dsHiveServer.JobResultDataTable dataTable, long Id) {
+        public virtual int FillById(dsHiveServer.JobResultDataTable dataTable, System.Guid Id) {
             this.Adapter.SelectCommand = this.CommandCollection[1];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
             if ((this.ClearBeforeFill == true)) {
                 dataTable.Clear();
@@ -6052,7 +5965,7 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.JobResultDataTable GetDataById(long Id) {
+        public virtual dsHiveServer.JobResultDataTable GetDataById(System.Guid Id) {
             this.Adapter.SelectCommand = this.CommandCollection[1];
-            this.Adapter.SelectCommand.Parameters[0].Value = ((long)(Id));
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
             dsHiveServer.JobResultDataTable dataTable = new dsHiveServer.JobResultDataTable();
             this.Adapter.Fill(dataTable);
@@ -6063,8 +5976,8 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
-        public virtual int FillByJob(dsHiveServer.JobResultDataTable dataTable, global::System.Nullable<long> JobId) {
+        public virtual int FillByJob(dsHiveServer.JobResultDataTable dataTable, global::System.Nullable<global::System.Guid> JobId) {
             this.Adapter.SelectCommand = this.CommandCollection[2];
             if ((JobId.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((long)(JobId.Value));
+                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(JobId.Value));
             }
             else {
@@ -6081,8 +5994,8 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
-        public virtual dsHiveServer.JobResultDataTable GetDataByJob(global::System.Nullable<long> JobId) {
+        public virtual dsHiveServer.JobResultDataTable GetDataByJob(global::System.Nullable<global::System.Guid> JobId) {
             this.Adapter.SelectCommand = this.CommandCollection[2];
             if ((JobId.HasValue == true)) {
-                this.Adapter.SelectCommand.Parameters[0].Value = ((long)(JobId.Value));
+                this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(JobId.Value));
             }
             else {
@@ -6122,9 +6035,9 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
-        public virtual int Delete(long Original_JobResultId, global::System.Nullable<long> Original_JobId, global::System.Nullable<long> Original_ResourceId, global::System.Nullable<double> Original_Percentage, global::System.Nullable<global::System.DateTime> Original_DateFinished) {
-            this.Adapter.DeleteCommand.Parameters[0].Value = ((long)(Original_JobResultId));
+        public virtual int Delete(System.Guid Original_JobResultId, global::System.Nullable<global::System.Guid> Original_JobId, global::System.Nullable<double> Original_Percentage, global::System.Nullable<global::System.Guid> Original_ResourceId, global::System.Nullable<global::System.DateTime> Original_DateFinished) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((System.Guid)(Original_JobResultId));
             if ((Original_JobId.HasValue == true)) {
                 this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[2].Value = ((long)(Original_JobId.Value));
+                this.Adapter.DeleteCommand.Parameters[2].Value = ((System.Guid)(Original_JobId.Value));
             }
             else {
@@ -6132,7 +6045,7 @@
                 this.Adapter.DeleteCommand.Parameters[2].Value = global::System.DBNull.Value;
             }
-            if ((Original_ResourceId.HasValue == true)) {
+            if ((Original_Percentage.HasValue == true)) {
                 this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[4].Value = ((long)(Original_ResourceId.Value));
+                this.Adapter.DeleteCommand.Parameters[4].Value = ((double)(Original_Percentage.Value));
             }
             else {
@@ -6140,7 +6053,7 @@
                 this.Adapter.DeleteCommand.Parameters[4].Value = global::System.DBNull.Value;
             }
-            if ((Original_Percentage.HasValue == true)) {
+            if ((Original_ResourceId.HasValue == true)) {
                 this.Adapter.DeleteCommand.Parameters[5].Value = ((object)(0));
-                this.Adapter.DeleteCommand.Parameters[6].Value = ((double)(Original_Percentage.Value));
+                this.Adapter.DeleteCommand.Parameters[6].Value = ((System.Guid)(Original_ResourceId.Value));
             }
             else {
@@ -6175,22 +6088,17 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
-        public virtual int Insert(global::System.Nullable<long> JobId, byte[] JobResult, global::System.Nullable<long> ResourceId, string Message, global::System.Nullable<double> Percentage, global::System.Nullable<global::System.DateTime> DateFinished) {
+        public virtual int Insert(System.Guid JobResultId, global::System.Nullable<global::System.Guid> JobId, byte[] JobResult, string Message, global::System.Nullable<double> Percentage, global::System.Nullable<global::System.Guid> ResourceId, global::System.Nullable<global::System.DateTime> DateFinished) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((System.Guid)(JobResultId));
             if ((JobId.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[0].Value = ((long)(JobId.Value));
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[0].Value = global::System.DBNull.Value;
+                this.Adapter.InsertCommand.Parameters[1].Value = ((System.Guid)(JobId.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value;
             }
             if ((JobResult == null)) {
-                this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[1].Value = ((byte[])(JobResult));
-            }
-            if ((ResourceId.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[2].Value = ((long)(ResourceId.Value));
-            }
-            else {
                 this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[2].Value = ((byte[])(JobResult));
             }
             if ((Message == null)) {
@@ -6206,9 +6114,15 @@
                 this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value;
             }
+            if ((ResourceId.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[5].Value = ((System.Guid)(ResourceId.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value;
+            }
             if ((DateFinished.HasValue == true)) {
-                this.Adapter.InsertCommand.Parameters[5].Value = ((System.DateTime)(DateFinished.Value));
-            }
-            else {
-                this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value;
+                this.Adapter.InsertCommand.Parameters[6].Value = ((System.DateTime)(DateFinished.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[6].Value = global::System.DBNull.Value;
             }
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
@@ -6231,22 +6145,17 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(global::System.Nullable<long> JobId, byte[] JobResult, global::System.Nullable<long> ResourceId, string Message, global::System.Nullable<double> Percentage, global::System.Nullable<global::System.DateTime> DateFinished, long Original_JobResultId, global::System.Nullable<long> Original_JobId, global::System.Nullable<long> Original_ResourceId, global::System.Nullable<double> Original_Percentage, global::System.Nullable<global::System.DateTime> Original_DateFinished, long JobResultId) {
+        public virtual int Update(System.Guid JobResultId, global::System.Nullable<global::System.Guid> JobId, byte[] JobResult, string Message, global::System.Nullable<double> Percentage, global::System.Nullable<global::System.Guid> ResourceId, global::System.Nullable<global::System.DateTime> DateFinished, System.Guid Original_JobResultId, global::System.Nullable<global::System.Guid> Original_JobId, global::System.Nullable<double> Original_Percentage, global::System.Nullable<global::System.Guid> Original_ResourceId, global::System.Nullable<global::System.DateTime> Original_DateFinished) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((System.Guid)(JobResultId));
             if ((JobId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[0].Value = ((long)(JobId.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[0].Value = global::System.DBNull.Value;
+                this.Adapter.UpdateCommand.Parameters[1].Value = ((System.Guid)(JobId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value;
             }
             if ((JobResult == null)) {
-                this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value;
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[1].Value = ((byte[])(JobResult));
-            }
-            if ((ResourceId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[2].Value = ((long)(ResourceId.Value));
-            }
-            else {
                 this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((byte[])(JobResult));
             }
             if ((Message == null)) {
@@ -6262,44 +6171,49 @@
                 this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value;
             }
+            if ((ResourceId.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[5].Value = ((System.Guid)(ResourceId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value;
+            }
             if ((DateFinished.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[5].Value = ((System.DateTime)(DateFinished.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value;
-            }
-            this.Adapter.UpdateCommand.Parameters[6].Value = ((long)(Original_JobResultId));
+                this.Adapter.UpdateCommand.Parameters[6].Value = ((System.DateTime)(DateFinished.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[6].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.UpdateCommand.Parameters[7].Value = ((System.Guid)(Original_JobResultId));
             if ((Original_JobId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[7].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[8].Value = ((long)(Original_JobId.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[7].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[8].Value = global::System.DBNull.Value;
+                this.Adapter.UpdateCommand.Parameters[8].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[9].Value = ((System.Guid)(Original_JobId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[8].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[9].Value = global::System.DBNull.Value;
+            }
+            if ((Original_Percentage.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[11].Value = ((double)(Original_Percentage.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[11].Value = global::System.DBNull.Value;
             }
             if ((Original_ResourceId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[9].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[10].Value = ((long)(Original_ResourceId.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[9].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[10].Value = global::System.DBNull.Value;
-            }
-            if ((Original_Percentage.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[11].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[12].Value = ((double)(Original_Percentage.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[11].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[12].Value = global::System.DBNull.Value;
+                this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[13].Value = ((System.Guid)(Original_ResourceId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[13].Value = global::System.DBNull.Value;
             }
             if ((Original_DateFinished.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[13].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[14].Value = ((System.DateTime)(Original_DateFinished.Value));
-            }
-            else {
-                this.Adapter.UpdateCommand.Parameters[13].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[14].Value = global::System.DBNull.Value;
-            }
-            this.Adapter.UpdateCommand.Parameters[15].Value = ((long)(JobResultId));
+                this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[15].Value = ((System.DateTime)(Original_DateFinished.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[14].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[15].Value = global::System.DBNull.Value;
+            }
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
             if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
@@ -6321,6 +6235,6 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(global::System.Nullable<long> JobId, byte[] JobResult, global::System.Nullable<long> ResourceId, string Message, global::System.Nullable<double> Percentage, global::System.Nullable<global::System.DateTime> DateFinished, long Original_JobResultId, global::System.Nullable<long> Original_JobId, global::System.Nullable<long> Original_ResourceId, global::System.Nullable<double> Original_Percentage, global::System.Nullable<global::System.DateTime> Original_DateFinished) {
-            return this.Update(JobId, JobResult, ResourceId, Message, Percentage, DateFinished, Original_JobResultId, Original_JobId, Original_ResourceId, Original_Percentage, Original_DateFinished, Original_JobResultId);
+        public virtual int Update(global::System.Nullable<global::System.Guid> JobId, byte[] JobResult, string Message, global::System.Nullable<double> Percentage, global::System.Nullable<global::System.Guid> ResourceId, global::System.Nullable<global::System.DateTime> DateFinished, System.Guid Original_JobResultId, global::System.Nullable<global::System.Guid> Original_JobId, global::System.Nullable<double> Original_Percentage, global::System.Nullable<global::System.Guid> Original_ResourceId, global::System.Nullable<global::System.DateTime> Original_DateFinished) {
+            return this.Update(Original_JobResultId, JobId, JobResult, Message, Percentage, ResourceId, DateFinished, Original_JobResultId, Original_JobId, Original_Percentage, Original_ResourceId, Original_DateFinished);
         }
     }
@@ -6339,13 +6253,13 @@
         private UpdateOrderOption _updateOrder;
         
+        private ClientTableAdapter _clientTableAdapter;
+        
         private ResourceTableAdapter _resourceTableAdapter;
         
-        private ClientTableAdapter _clientTableAdapter;
-        
         private ClientGroupTableAdapter _clientGroupTableAdapter;
         
+        private ClientGroup_ResourceTableAdapter _clientGroup_ResourceTableAdapter;
+        
         private JobTableAdapter _jobTableAdapter;
-        
-        private ClientGroup_ResourceTableAdapter _clientGroup_ResourceTableAdapter;
         
         private JobResultTableAdapter _jobResultTableAdapter;
@@ -6362,4 +6276,17 @@
             set {
                 this._updateOrder = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" +
+            "", "System.Drawing.Design.UITypeEditor")]
+        public ClientTableAdapter ClientTableAdapter {
+            get {
+                return this._clientTableAdapter;
+            }
+            set {
+                this._clientTableAdapter = value;
             }
         }
@@ -6382,10 +6309,10 @@
             "ft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" +
             "", "System.Drawing.Design.UITypeEditor")]
-        public ClientTableAdapter ClientTableAdapter {
+        public ClientGroupTableAdapter ClientGroupTableAdapter {
             get {
-                return this._clientTableAdapter;
+                return this._clientGroupTableAdapter;
             }
             set {
-                this._clientTableAdapter = value;
+                this._clientGroupTableAdapter = value;
             }
         }
@@ -6395,10 +6322,10 @@
             "ft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" +
             "", "System.Drawing.Design.UITypeEditor")]
-        public ClientGroupTableAdapter ClientGroupTableAdapter {
+        public ClientGroup_ResourceTableAdapter ClientGroup_ResourceTableAdapter {
             get {
-                return this._clientGroupTableAdapter;
+                return this._clientGroup_ResourceTableAdapter;
             }
             set {
-                this._clientGroupTableAdapter = value;
+                this._clientGroup_ResourceTableAdapter = value;
             }
         }
@@ -6421,17 +6348,4 @@
             "ft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" +
             "", "System.Drawing.Design.UITypeEditor")]
-        public ClientGroup_ResourceTableAdapter ClientGroup_ResourceTableAdapter {
-            get {
-                return this._clientGroup_ResourceTableAdapter;
-            }
-            set {
-                this._clientGroup_ResourceTableAdapter = value;
-            }
-        }
-        
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
-            "ft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" +
-            "", "System.Drawing.Design.UITypeEditor")]
         public JobResultTableAdapter JobResultTableAdapter {
             get {
@@ -6460,23 +6374,23 @@
                     return this._connection;
                 }
+                if (((this._clientTableAdapter != null) 
+                            && (this._clientTableAdapter.Connection != null))) {
+                    return this._clientTableAdapter.Connection;
+                }
                 if (((this._resourceTableAdapter != null) 
                             && (this._resourceTableAdapter.Connection != null))) {
                     return this._resourceTableAdapter.Connection;
                 }
-                if (((this._clientTableAdapter != null) 
-                            && (this._clientTableAdapter.Connection != null))) {
-                    return this._clientTableAdapter.Connection;
-                }
                 if (((this._clientGroupTableAdapter != null) 
                             && (this._clientGroupTableAdapter.Connection != null))) {
                     return this._clientGroupTableAdapter.Connection;
                 }
+                if (((this._clientGroup_ResourceTableAdapter != null) 
+                            && (this._clientGroup_ResourceTableAdapter.Connection != null))) {
+                    return this._clientGroup_ResourceTableAdapter.Connection;
+                }
                 if (((this._jobTableAdapter != null) 
                             && (this._jobTableAdapter.Connection != null))) {
                     return this._jobTableAdapter.Connection;
-                }
-                if (((this._clientGroup_ResourceTableAdapter != null) 
-                            && (this._clientGroup_ResourceTableAdapter.Connection != null))) {
-                    return this._clientGroup_ResourceTableAdapter.Connection;
                 }
                 if (((this._jobResultTableAdapter != null) 
@@ -6496,17 +6410,17 @@
             get {
                 int count = 0;
+                if ((this._clientTableAdapter != null)) {
+                    count = (count + 1);
+                }
                 if ((this._resourceTableAdapter != null)) {
                     count = (count + 1);
                 }
-                if ((this._clientTableAdapter != null)) {
-                    count = (count + 1);
-                }
                 if ((this._clientGroupTableAdapter != null)) {
                     count = (count + 1);
                 }
+                if ((this._clientGroup_ResourceTableAdapter != null)) {
+                    count = (count + 1);
+                }
                 if ((this._jobTableAdapter != null)) {
-                    count = (count + 1);
-                }
-                if ((this._clientGroup_ResourceTableAdapter != null)) {
                     count = (count + 1);
                 }
@@ -6729,4 +6643,9 @@
                 return 0;
             }
+            if (((this._clientTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._clientTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" +
+                        "tring.");
+            }
             if (((this._resourceTableAdapter != null) 
                         && (this.MatchTableAdapterConnection(this._resourceTableAdapter.Connection) == false))) {
@@ -6734,9 +6653,4 @@
                         "tring.");
             }
-            if (((this._clientTableAdapter != null) 
-                        && (this.MatchTableAdapterConnection(this._clientTableAdapter.Connection) == false))) {
-                throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" +
-                        "tring.");
-            }
             if (((this._clientGroupTableAdapter != null) 
                         && (this.MatchTableAdapterConnection(this._clientGroupTableAdapter.Connection) == false))) {
@@ -6744,11 +6658,11 @@
                         "tring.");
             }
+            if (((this._clientGroup_ResourceTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._clientGroup_ResourceTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" +
+                        "tring.");
+            }
             if (((this._jobTableAdapter != null) 
                         && (this.MatchTableAdapterConnection(this._jobTableAdapter.Connection) == false))) {
-                throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" +
-                        "tring.");
-            }
-            if (((this._clientGroup_ResourceTableAdapter != null) 
-                        && (this.MatchTableAdapterConnection(this._clientGroup_ResourceTableAdapter.Connection) == false))) {
                 throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" +
                         "tring.");
@@ -6791,4 +6705,13 @@
                 // ---- Prepare for update -----------
                 //
+                if ((this._clientTableAdapter != null)) {
+                    revertConnections.Add(this._clientTableAdapter, this._clientTableAdapter.Connection);
+                    this._clientTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._clientTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._clientTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._clientTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._clientTableAdapter.Adapter);
+                    }
+                }
                 if ((this._resourceTableAdapter != null)) {
                     revertConnections.Add(this._resourceTableAdapter, this._resourceTableAdapter.Connection);
@@ -6800,13 +6723,4 @@
                     }
                 }
-                if ((this._clientTableAdapter != null)) {
-                    revertConnections.Add(this._clientTableAdapter, this._clientTableAdapter.Connection);
-                    this._clientTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
-                    this._clientTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
-                    if (this._clientTableAdapter.Adapter.AcceptChangesDuringUpdate) {
-                        this._clientTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
-                        adaptersWithAcceptChangesDuringUpdate.Add(this._clientTableAdapter.Adapter);
-                    }
-                }
                 if ((this._clientGroupTableAdapter != null)) {
                     revertConnections.Add(this._clientGroupTableAdapter, this._clientGroupTableAdapter.Connection);
@@ -6818,4 +6732,13 @@
                     }
                 }
+                if ((this._clientGroup_ResourceTableAdapter != null)) {
+                    revertConnections.Add(this._clientGroup_ResourceTableAdapter, this._clientGroup_ResourceTableAdapter.Connection);
+                    this._clientGroup_ResourceTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._clientGroup_ResourceTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._clientGroup_ResourceTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._clientGroup_ResourceTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._clientGroup_ResourceTableAdapter.Adapter);
+                    }
+                }
                 if ((this._jobTableAdapter != null)) {
                     revertConnections.Add(this._jobTableAdapter, this._jobTableAdapter.Connection);
@@ -6825,13 +6748,4 @@
                         this._jobTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
                         adaptersWithAcceptChangesDuringUpdate.Add(this._jobTableAdapter.Adapter);
-                    }
-                }
-                if ((this._clientGroup_ResourceTableAdapter != null)) {
-                    revertConnections.Add(this._clientGroup_ResourceTableAdapter, this._clientGroup_ResourceTableAdapter.Connection);
-                    this._clientGroup_ResourceTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
-                    this._clientGroup_ResourceTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
-                    if (this._clientGroup_ResourceTableAdapter.Adapter.AcceptChangesDuringUpdate) {
-                        this._clientGroup_ResourceTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
-                        adaptersWithAcceptChangesDuringUpdate.Add(this._clientGroup_ResourceTableAdapter.Adapter);
                     }
                 }
@@ -6903,23 +6817,23 @@
                     workConnection.Close();
                 }
+                if ((this._clientTableAdapter != null)) {
+                    this._clientTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._clientTableAdapter]));
+                    this._clientTableAdapter.Transaction = null;
+                }
                 if ((this._resourceTableAdapter != null)) {
                     this._resourceTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._resourceTableAdapter]));
                     this._resourceTableAdapter.Transaction = null;
                 }
-                if ((this._clientTableAdapter != null)) {
-                    this._clientTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._clientTableAdapter]));
-                    this._clientTableAdapter.Transaction = null;
-                }
                 if ((this._clientGroupTableAdapter != null)) {
                     this._clientGroupTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._clientGroupTableAdapter]));
                     this._clientGroupTableAdapter.Transaction = null;
                 }
+                if ((this._clientGroup_ResourceTableAdapter != null)) {
+                    this._clientGroup_ResourceTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._clientGroup_ResourceTableAdapter]));
+                    this._clientGroup_ResourceTableAdapter.Transaction = null;
+                }
                 if ((this._jobTableAdapter != null)) {
                     this._jobTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._jobTableAdapter]));
                     this._jobTableAdapter.Transaction = null;
-                }
-                if ((this._clientGroup_ResourceTableAdapter != null)) {
-                    this._clientGroup_ResourceTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._clientGroup_ResourceTableAdapter]));
-                    this._clientGroup_ResourceTableAdapter.Transaction = null;
                 }
                 if ((this._jobResultTableAdapter != null)) {
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xsd	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xsd	(revision 1449)
@@ -8,94 +8,12 @@
         </Connections>
         <Tables>
-          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ResourceTableAdapter" GeneratorDataComponentClassName="ResourceTableAdapter" Name="Resource" UserDataComponentName="ResourceTableAdapter">
-            <MainSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
-                <DeleteCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>DELETE FROM [dbo].[Resource] WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_Name = 1 AND [Name] IS NULL) OR ([Name] = @Original_Name)))</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Name" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Name" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Original" />
-                    </Parameters>
-                  </DbCommand>
-                </DeleteCommand>
-                <InsertCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>INSERT INTO [dbo].[Resource] ([Name]) VALUES (@Name);
-SELECT ResourceId, Name FROM Resource WHERE (ResourceId = SCOPE_IDENTITY())</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </InsertCommand>
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>SELECT ResourceId, Name FROM dbo.Resource</CommandText>
-                    <Parameters />
-                  </DbCommand>
-                </SelectCommand>
-                <UpdateCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>UPDATE [dbo].[Resource] SET [Name] = @Name WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_Name = 1 AND [Name] IS NULL) OR ([Name] = @Original_Name)));
-SELECT ResourceId, Name FROM Resource WHERE (ResourceId = @ResourceId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Name" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Name" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="ResourceId" ColumnName="ResourceId" DataSourceName="" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </UpdateCommand>
-              </DbSource>
-            </MainSource>
-            <Mappings>
-              <Mapping SourceColumn="ResourceId" DataSetColumn="ResourceId" />
-              <Mapping SourceColumn="Name" DataSetColumn="Name" />
-            </Mappings>
-            <Sources>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByActive" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByActive" GeneratorSourceName="FillByActive" GetMethodModifier="Public" GetMethodName="GetDataByActive" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByActive" UserSourceName="FillByActive">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT Resource.* FROM 
-  Resource INNER JOIN Client ON Resource.ResourceId = Client.ResourceId
-  WHERE Client.Status &lt;&gt; 'offline'</CommandText>
-                    <Parameters />
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT * FROM dbo.Resource WHERE ResourceId = @ID</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="ID" ColumnName="ResourceId" DataSourceName="HiveServer.dbo.Resource" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@ID" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByName" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByName" GeneratorSourceName="FillByName" GetMethodModifier="Public" GetMethodName="GetDataByName" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByName" UserSourceName="FillByName">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT * FROM dbo.Resource WHERE Name = @Name</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="Name" ColumnName="Name" DataSourceName="HiveServer.dbo.Resource" DataTypeServer="varchar(18)" DbType="AnsiString" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="VarChar" Scale="0" Size="18" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-            </Sources>
-          </TableAdapter>
           <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ClientTableAdapter" GeneratorDataComponentClassName="ClientTableAdapter" Name="Client" UserDataComponentName="ClientTableAdapter">
             <MainSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.Client" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Client" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
                 <DeleteCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>DELETE FROM [dbo].[Client] WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_GUID = 1 AND [GUID] IS NULL) OR ([GUID] = @Original_GUID)) AND ((@IsNull_CPUSpeed = 1 AND [CPUSpeed] IS NULL) OR ([CPUSpeed] = @Original_CPUSpeed)) AND ((@IsNull_Memory = 1 AND [Memory] IS NULL) OR ([Memory] = @Original_Memory)) AND ((@IsNull_Login = 1 AND [Login] IS NULL) OR ([Login] = @Original_Login)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_ClientConfigId = 1 AND [ClientConfigId] IS NULL) OR ([ClientConfigId] = @Original_ClientConfigId)) AND ((@IsNull_NumberOfCores = 1 AND [NumberOfCores] IS NULL) OR ([NumberOfCores] = @Original_NumberOfCores)))</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_GUID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="GUID" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    <CommandText>DELETE FROM [dbo].[Client] WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_CPUSpeed = 1 AND [CPUSpeed] IS NULL) OR ([CPUSpeed] = @Original_CPUSpeed)) AND ((@IsNull_Memory = 1 AND [Memory] IS NULL) OR ([Memory] = @Original_Memory)) AND ((@IsNull_Login = 1 AND [Login] IS NULL) OR ([Login] = @Original_Login)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_ClientConfigId = 1 AND [ClientConfigId] IS NULL) OR ([ClientConfigId] = @Original_ClientConfigId)) AND ((@IsNull_NumberOfCores = 1 AND [NumberOfCores] IS NULL) OR ([NumberOfCores] = @Original_NumberOfCores)))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CPUSpeed" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CPUSpeed" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CPUSpeed" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CPUSpeed" SourceColumnNullMapping="false" SourceVersion="Original" />
@@ -107,5 +25,5 @@
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ClientConfigId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ClientConfigId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ClientConfigId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_NumberOfCores" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumberOfCores" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_NumberOfCores" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumberOfCores" SourceColumnNullMapping="false" SourceVersion="Original" />
@@ -115,14 +33,13 @@
                 <InsertCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>INSERT INTO [dbo].[Client] ([ResourceId], [GUID], [CPUSpeed], [Memory], [Login], [Status], [ClientConfigId], [NumberOfCores]) VALUES (@ResourceId, @GUID, @CPUSpeed, @Memory, @Login, @Status, @ClientConfigId, @NumberOfCores);
-SELECT ResourceId, GUID, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores FROM Client WHERE (ResourceId = @ResourceId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    <CommandText>INSERT INTO [dbo].[Client] ([ResourceId], [CPUSpeed], [Memory], [Login], [Status], [ClientConfigId], [NumberOfCores]) VALUES (@ResourceId, @CPUSpeed, @Memory, @Login, @Status, @ClientConfigId, @NumberOfCores);
+SELECT ResourceId, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores FROM Client WHERE (ResourceId = @ResourceId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@CPUSpeed" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CPUSpeed" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Memory" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Memory" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Login" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="Login" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ClientConfigId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ClientConfigId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumberOfCores" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumberOfCores" SourceColumnNullMapping="false" SourceVersion="Current" />
                     </Parameters>
@@ -130,6 +47,6 @@
                 </InsertCommand>
                 <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>SELECT ResourceId, GUID, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores FROM dbo.Client</CommandText>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.Client</CommandText>
                     <Parameters />
                   </DbCommand>
@@ -137,18 +54,15 @@
                 <UpdateCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>UPDATE [dbo].[Client] SET [ResourceId] = @ResourceId, [GUID] = @GUID, [CPUSpeed] = @CPUSpeed, [Memory] = @Memory, [Login] = @Login, [Status] = @Status, [ClientConfigId] = @ClientConfigId, [NumberOfCores] = @NumberOfCores WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_GUID = 1 AND [GUID] IS NULL) OR ([GUID] = @Original_GUID)) AND ((@IsNull_CPUSpeed = 1 AND [CPUSpeed] IS NULL) OR ([CPUSpeed] = @Original_CPUSpeed)) AND ((@IsNull_Memory = 1 AND [Memory] IS NULL) OR ([Memory] = @Original_Memory)) AND ((@IsNull_Login = 1 AND [Login] IS NULL) OR ([Login] = @Original_Login)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_ClientConfigId = 1 AND [ClientConfigId] IS NULL) OR ([ClientConfigId] = @Original_ClientConfigId)) AND ((@IsNull_NumberOfCores = 1 AND [NumberOfCores] IS NULL) OR ([NumberOfCores] = @Original_NumberOfCores)));
-SELECT ResourceId, GUID, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores FROM Client WHERE (ResourceId = @ResourceId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    <CommandText>UPDATE [dbo].[Client] SET [ResourceId] = @ResourceId, [CPUSpeed] = @CPUSpeed, [Memory] = @Memory, [Login] = @Login, [Status] = @Status, [ClientConfigId] = @ClientConfigId, [NumberOfCores] = @NumberOfCores WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_CPUSpeed = 1 AND [CPUSpeed] IS NULL) OR ([CPUSpeed] = @Original_CPUSpeed)) AND ((@IsNull_Memory = 1 AND [Memory] IS NULL) OR ([Memory] = @Original_Memory)) AND ((@IsNull_Login = 1 AND [Login] IS NULL) OR ([Login] = @Original_Login)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_ClientConfigId = 1 AND [ClientConfigId] IS NULL) OR ([ClientConfigId] = @Original_ClientConfigId)) AND ((@IsNull_NumberOfCores = 1 AND [NumberOfCores] IS NULL) OR ([NumberOfCores] = @Original_NumberOfCores)));
+SELECT ResourceId, CPUSpeed, Memory, Login, Status, ClientConfigId, NumberOfCores FROM Client WHERE (ResourceId = @ResourceId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@CPUSpeed" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CPUSpeed" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Memory" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Memory" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Login" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="Login" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ClientConfigId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ClientConfigId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumberOfCores" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumberOfCores" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_GUID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="GUID" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CPUSpeed" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CPUSpeed" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CPUSpeed" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CPUSpeed" SourceColumnNullMapping="false" SourceVersion="Original" />
@@ -160,5 +74,5 @@
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ClientConfigId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ClientConfigId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ClientConfigId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_NumberOfCores" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumberOfCores" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_NumberOfCores" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumberOfCores" SourceColumnNullMapping="false" SourceVersion="Original" />
@@ -170,5 +84,4 @@
             <Mappings>
               <Mapping SourceColumn="ResourceId" DataSetColumn="ResourceId" />
-              <Mapping SourceColumn="GUID" DataSetColumn="GUID" />
               <Mapping SourceColumn="CPUSpeed" DataSetColumn="CPUSpeed" />
               <Mapping SourceColumn="Memory" DataSetColumn="Memory" />
@@ -179,28 +92,99 @@
             </Mappings>
             <Sources>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.Client" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByActive" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByActive" GeneratorSourceName="FillByActive" GetMethodModifier="Public" GetMethodName="GetDataByActive" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByActive" UserSourceName="FillByActive">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT * FROM dbo.Client WHERE Status &lt;&gt; 'offline'</CommandText>
-                    <Parameters />
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.Client" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT * FROM dbo.Client WHERE GUID = @ID</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="ID" ColumnName="GUID" DataSourceName="HiveServer.dbo.Client" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@ID" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.Client" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByResourceId" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByResourceId" GeneratorSourceName="FillByResourceId" GetMethodModifier="Public" GetMethodName="GetDataByResourceId" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByResourceId" UserSourceName="FillByResourceId">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT * FROM dbo.Client WHERE ResourceId = @Id</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="ResourceId" DataSourceName="HiveServer.dbo.Client" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Client" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByActive" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByActive" GeneratorSourceName="FillByActive" GetMethodModifier="Public" GetMethodName="GetDataByActive" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByActive" UserSourceName="FillByActive">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT CPUSpeed, ClientConfigId, Login, Memory, NumberOfCores, ResourceId, Status FROM Client WHERE (Status &lt;&gt; 'offline')</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Client" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT CPUSpeed, ClientConfigId, Login, Memory, NumberOfCores, ResourceId, Status FROM Client WHERE (ResourceId = @Id)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="ResourceId" DataSourceName="[HeuristicLab.Hive].dbo.Client" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+            </Sources>
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ResourceTableAdapter" GeneratorDataComponentClassName="ResourceTableAdapter" Name="Resource" UserDataComponentName="ResourceTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[Resource] WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_Name = 1 AND [Name] IS NULL) OR ([Name] = @Original_Name)))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Name" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Name" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[Resource] ([ResourceId], [Name]) VALUES (@ResourceId, @Name);
+SELECT ResourceId, Name FROM Resource WHERE (ResourceId = @ResourceId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.Resource</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[Resource] SET [ResourceId] = @ResourceId, [Name] = @Name WHERE (([ResourceId] = @Original_ResourceId) AND ((@IsNull_Name = 1 AND [Name] IS NULL) OR ([Name] = @Original_Name)));
+SELECT ResourceId, Name FROM Resource WHERE (ResourceId = @ResourceId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Name" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Name" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="ResourceId" DataSetColumn="ResourceId" />
+              <Mapping SourceColumn="Name" DataSetColumn="Name" />
+            </Mappings>
+            <Sources>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByActive" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByActive" GeneratorSourceName="FillByActive" GetMethodModifier="Public" GetMethodName="GetDataByActive" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByActive" UserSourceName="FillByActive">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT Resource.* FROM 
+  Resource INNER JOIN Client ON Resource.ResourceId = Client.ResourceId
+  WHERE Client.Status &lt;&gt; 'offline'</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.Resource WHERE ResourceId = @ID</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="ID" ColumnName="ResourceId" DataSourceName="[HeuristicLab.Hive].dbo.Resource" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@ID" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByName" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByName" GeneratorSourceName="FillByName" GetMethodModifier="Public" GetMethodName="GetDataByName" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByName" UserSourceName="FillByName">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.Resource WHERE Name = @Name</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="true" AutogeneratedName="Name" ColumnName="Name" DataSourceName="[HeuristicLab.Hive].dbo.Resource" DataTypeServer="varchar(18)" DbType="AnsiString" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="VarChar" Scale="0" Size="18" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
                     </Parameters>
                   </DbCommand>
@@ -211,10 +195,10 @@
           <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ClientGroupTableAdapter" GeneratorDataComponentClassName="ClientGroupTableAdapter" Name="ClientGroup" UserDataComponentName="ClientGroupTableAdapter">
             <MainSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.ClientGroup" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.ClientGroup" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
                 <DeleteCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
                     <CommandText>DELETE FROM [dbo].[ClientGroup] WHERE (([ResourceId] = @Original_ResourceId))</CommandText>
                     <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
                     </Parameters>
                   </DbCommand>
@@ -225,11 +209,11 @@
 SELECT ResourceId FROM ClientGroup WHERE (ResourceId = @ResourceId)</CommandText>
                     <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
                     </Parameters>
                   </DbCommand>
                 </InsertCommand>
                 <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>SELECT ResourceId FROM dbo.ClientGroup</CommandText>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.ClientGroup</CommandText>
                     <Parameters />
                   </DbCommand>
@@ -240,6 +224,6 @@
 SELECT ResourceId FROM ClientGroup WHERE (ResourceId = @ResourceId)</CommandText>
                     <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
                     </Parameters>
                   </DbCommand>
@@ -251,10 +235,90 @@
             </Mappings>
             <Sources>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.ClientGroup" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.ClientGroup" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
                 <SelectCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="true">
                     <CommandText>SELECT * FROM dbo.ClientGroup WHERE ResourceId = @Id</CommandText>
                     <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="ResourceId" DataSourceName="HiveServer.dbo.ClientGroup" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="ResourceId" DataSourceName="[HeuristicLab.Hive].dbo.ClientGroup" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+            </Sources>
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ClientGroup_ResourceTableAdapter" GeneratorDataComponentClassName="ClientGroup_ResourceTableAdapter" Name="ClientGroup_Resource" UserDataComponentName="ClientGroup_ResourceTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.ClientGroup_Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[ClientGroup_Resource] WHERE (([ClientGroupId] = @Original_ClientGroupId) AND ([ResourceId] = @Original_ResourceId))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ClientGroupId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[ClientGroup_Resource] ([ClientGroupId], [ResourceId]) VALUES (@ClientGroupId, @ResourceId);
+SELECT ClientGroupId, ResourceId FROM ClientGroup_Resource WHERE (ClientGroupId = @ClientGroupId) AND (ResourceId = @ResourceId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ClientGroupId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.ClientGroup_Resource</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[ClientGroup_Resource] SET [ClientGroupId] = @ClientGroupId, [ResourceId] = @ResourceId WHERE (([ClientGroupId] = @Original_ClientGroupId) AND ([ResourceId] = @Original_ResourceId));
+SELECT ClientGroupId, ResourceId FROM ClientGroup_Resource WHERE (ClientGroupId = @ClientGroupId) AND (ResourceId = @ResourceId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ClientGroupId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ClientGroupId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="ClientGroupId" DataSetColumn="ClientGroupId" />
+              <Mapping SourceColumn="ResourceId" DataSetColumn="ResourceId" />
+            </Mappings>
+            <Sources>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.ClientGroup_Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByClientGroupId" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByClientGroupId" GeneratorSourceName="FillByClientGroupId" GetMethodModifier="Public" GetMethodName="GetDataByClientGroupId" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByClientGroupId" UserSourceName="FillByClientGroupId">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.ClientGroup_Resource WHERE ClientGroupId = @Id</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="ClientGroupId" DataSourceName="[HeuristicLab.Hive].dbo.ClientGroup_Resource" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.ClientGroup_Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByClientGroupResourceId" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByClientGroupResourceId" GeneratorSourceName="FillByClientGroupResourceId" GetMethodModifier="Public" GetMethodName="GetDataByClientGroupResourceId" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByClientGroupResourceId" UserSourceName="FillByClientGroupResourceId">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.ClientGroup_Resource WHERE ClientGroupId = @ClientGroupId AND  ResourceId = @ResourceId</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="ClientGroupId" ColumnName="ClientGroupId" DataSourceName="[HeuristicLab.Hive].dbo.ClientGroup_Resource" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@ClientGroupId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="ResourceId" ColumnName="ResourceId" DataSourceName="[HeuristicLab.Hive].dbo.ClientGroup_Resource" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.ClientGroup_Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByResourceId" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByResourceId" GeneratorSourceName="FillByResourceId" GetMethodModifier="Public" GetMethodName="GetDataByResourceId" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByResourceId" UserSourceName="FillByResourceId">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.ClientGroup_Resource WHERE  ResourceId = @ResourceId</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="ResourceId" ColumnName="ResourceId" DataSourceName="[HeuristicLab.Hive].dbo.ClientGroup_Resource" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
                     </Parameters>
                   </DbCommand>
@@ -265,18 +329,16 @@
           <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="JobTableAdapter" GeneratorDataComponentClassName="JobTableAdapter" Name="Job" UserDataComponentName="JobTableAdapter">
             <MainSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
                 <DeleteCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>DELETE FROM [Job] WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_PermissionOwnerId = 1 AND [PermissionOwnerId] IS NULL) OR ([PermissionOwnerId] = @Original_PermissionOwnerId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateCreated = 1 AND [DateCreated] IS NULL) OR ([DateCreated] = @Original_DateCreated)) AND ((@IsNull_DateCalculated = 1 AND [DateCalculated] IS NULL) OR ([DateCalculated] = @Original_DateCalculated)) AND ((@IsNull_Priority = 1 AND [Priority] IS NULL) OR ([Priority] = @Original_Priority)))</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_JobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    <CommandText>DELETE FROM [dbo].[Job] WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateCreated = 1 AND [DateCreated] IS NULL) OR ([DateCreated] = @Original_DateCreated)) AND ((@IsNull_DateCalculated = 1 AND [DateCalculated] IS NULL) OR ([DateCalculated] = @Original_DateCalculated)) AND ((@IsNull_Priority = 1 AND [Priority] IS NULL) OR ([Priority] = @Original_Priority)) AND ((@IsNull_ProjectId = 1 AND [ProjectId] IS NULL) OR ([ProjectId] = @Original_ProjectId)) AND ((@IsNull_UserId = 1 AND [UserId] IS NULL) OR ([UserId] = @Original_UserId)))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_JobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ParentJobId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ParentJobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ParentJobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_JobState" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="JobState" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_JobState" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="JobState" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_PermissionOwnerId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PermissionOwnerId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_PermissionOwnerId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="PermissionOwnerId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ResourceId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Percentage" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_Percentage" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="false" SourceVersion="Original" />
@@ -287,4 +349,8 @@
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Priority" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Priority" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_Priority" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Priority" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ProjectId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ProjectId" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ProjectId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ProjectId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_UserId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="UserId" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_UserId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="UserId" SourceColumnNullMapping="false" SourceVersion="Original" />
                     </Parameters>
                   </DbCommand>
@@ -292,16 +358,18 @@
                 <InsertCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>INSERT INTO [Job] ([ParentJobId], [JobState], [PermissionOwnerId], [ResourceId], [SerializedJob], [Percentage], [DateCreated], [DateCalculated], [Priority]) VALUES (@ParentJobId, @JobState, @PermissionOwnerId, @ResourceId, @SerializedJob, @Percentage, @DateCreated, @DateCalculated, @Priority);
-SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob, Percentage, DateCreated, DateCalculated, Priority FROM Job WHERE (JobId = SCOPE_IDENTITY())</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ParentJobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    <CommandText>INSERT INTO [dbo].[Job] ([JobId], [ParentJobId], [JobState], [ResourceId], [Percentage], [SerializedJob], [DateCreated], [DateCalculated], [Priority], [ProjectId], [UserId]) VALUES (@JobId, @ParentJobId, @JobState, @ResourceId, @Percentage, @SerializedJob, @DateCreated, @DateCalculated, @Priority, @ProjectId, @UserId);
+SELECT JobId, ParentJobId, JobState, ResourceId, Percentage, SerializedJob, DateCreated, DateCalculated, Priority, ProjectId, UserId FROM Job WHERE (JobId = @JobId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@JobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ParentJobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@JobState" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="JobState" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@PermissionOwnerId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="PermissionOwnerId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Percentage" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@SerializedJob" Precision="0" ProviderType="VarBinary" Scale="0" Size="0" SourceColumn="SerializedJob" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Percentage" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@DateCreated" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="DateCreated" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@DateCalculated" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="DateCalculated" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Priority" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Priority" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ProjectId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ProjectId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@UserId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="UserId" SourceColumnNullMapping="false" SourceVersion="Current" />
                     </Parameters>
                   </DbCommand>
@@ -309,6 +377,5 @@
                 <SelectCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT     JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob, Percentage, DateCreated, DateCalculated, Priority
-FROM         Job</CommandText>
+                    <CommandText>SELECT * FROM dbo.Job</CommandText>
                     <Parameters />
                   </DbCommand>
@@ -316,25 +383,25 @@
                 <UpdateCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>UPDATE [Job] SET [ParentJobId] = @ParentJobId, [JobState] = @JobState, [PermissionOwnerId] = @PermissionOwnerId, [ResourceId] = @ResourceId, [SerializedJob] = @SerializedJob, [Percentage] = @Percentage, [DateCreated] = @DateCreated, [DateCalculated] = @DateCalculated, [Priority] = @Priority WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_PermissionOwnerId = 1 AND [PermissionOwnerId] IS NULL) OR ([PermissionOwnerId] = @Original_PermissionOwnerId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateCreated = 1 AND [DateCreated] IS NULL) OR ([DateCreated] = @Original_DateCreated)) AND ((@IsNull_DateCalculated = 1 AND [DateCalculated] IS NULL) OR ([DateCalculated] = @Original_DateCalculated)) AND ((@IsNull_Priority = 1 AND [Priority] IS NULL) OR ([Priority] = @Original_Priority)));
-SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob, Percentage, DateCreated, DateCalculated, Priority FROM Job WHERE (JobId = @JobId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ParentJobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    <CommandText>UPDATE [dbo].[Job] SET [JobId] = @JobId, [ParentJobId] = @ParentJobId, [JobState] = @JobState, [ResourceId] = @ResourceId, [Percentage] = @Percentage, [SerializedJob] = @SerializedJob, [DateCreated] = @DateCreated, [DateCalculated] = @DateCalculated, [Priority] = @Priority, [ProjectId] = @ProjectId, [UserId] = @UserId WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateCreated = 1 AND [DateCreated] IS NULL) OR ([DateCreated] = @Original_DateCreated)) AND ((@IsNull_DateCalculated = 1 AND [DateCalculated] IS NULL) OR ([DateCalculated] = @Original_DateCalculated)) AND ((@IsNull_Priority = 1 AND [Priority] IS NULL) OR ([Priority] = @Original_Priority)) AND ((@IsNull_ProjectId = 1 AND [ProjectId] IS NULL) OR ([ProjectId] = @Original_ProjectId)) AND ((@IsNull_UserId = 1 AND [UserId] IS NULL) OR ([UserId] = @Original_UserId)));
+SELECT JobId, ParentJobId, JobState, ResourceId, Percentage, SerializedJob, DateCreated, DateCalculated, Priority, ProjectId, UserId FROM Job WHERE (JobId = @JobId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@JobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ParentJobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@JobState" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="JobState" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@PermissionOwnerId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="PermissionOwnerId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Percentage" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@SerializedJob" Precision="0" ProviderType="VarBinary" Scale="0" Size="0" SourceColumn="SerializedJob" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Percentage" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@DateCreated" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="DateCreated" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@DateCalculated" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="DateCalculated" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Priority" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Priority" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_JobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ProjectId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ProjectId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@UserId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="UserId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_JobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ParentJobId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ParentJobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ParentJobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_JobState" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="JobState" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_JobState" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="JobState" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_PermissionOwnerId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PermissionOwnerId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_PermissionOwnerId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="PermissionOwnerId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ResourceId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Percentage" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_Percentage" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="false" SourceVersion="Original" />
@@ -345,5 +412,8 @@
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Priority" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Priority" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_Priority" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Priority" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="JobId" ColumnName="JobId" DataSourceName="HiveServerDBTesting.dbo.Job" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@JobId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ProjectId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ProjectId" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ProjectId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ProjectId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_UserId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="UserId" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_UserId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="UserId" SourceColumnNullMapping="false" SourceVersion="Original" />
                     </Parameters>
                   </DbCommand>
@@ -354,7 +424,6 @@
               <Mapping SourceColumn="JobId" DataSetColumn="JobId" />
               <Mapping SourceColumn="ParentJobId" DataSetColumn="ParentJobId" />
-              <Mapping SourceColumn="PermissionOwnerId" DataSetColumn="PermissionOwnerId" />
+              <Mapping SourceColumn="JobState" DataSetColumn="JobState" />
               <Mapping SourceColumn="ResourceId" DataSetColumn="ResourceId" />
-              <Mapping SourceColumn="JobState" DataSetColumn="JobState" />
               <Mapping SourceColumn="Percentage" DataSetColumn="Percentage" />
               <Mapping SourceColumn="SerializedJob" DataSetColumn="SerializedJob" />
@@ -362,154 +431,82 @@
               <Mapping SourceColumn="DateCalculated" DataSetColumn="DateCalculated" />
               <Mapping SourceColumn="Priority" DataSetColumn="Priority" />
+              <Mapping SourceColumn="ProjectId" DataSetColumn="ProjectId" />
+              <Mapping SourceColumn="UserId" DataSetColumn="UserId" />
             </Mappings>
             <Sources>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByActive" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByActive" GeneratorSourceName="FillByActive" GetMethodModifier="Public" GetMethodName="GetDataByActive" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByActive" UserSourceName="FillByActive">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, PermissionOwnerId, Priority, ResourceId, SerializedJob FROM Job WHERE (JobState = 'calculating') OR (JobState = 'idle')</CommandText>
-                    <Parameters />
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByCalculatingClient" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByCalculatingClient" GeneratorSourceName="FillByCalculatingClient" GetMethodModifier="Public" GetMethodName="GetDataByCalculatingClient" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByCalculatingClient" UserSourceName="FillByCalculatingClient">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT     JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob, Percentage, DateCreated, DateCalculated, Priority
-FROM         Job
-WHERE     (JobState = 'calculating') AND (ResourceId = @ResourceId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="ResourceId" ColumnName="ResourceId" DataSourceName="HiveServerDBTesting.dbo.Job" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByClient" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByClient" GeneratorSourceName="FillByClient" GetMethodModifier="Public" GetMethodName="GetDataByClient" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByClient" UserSourceName="FillByClient">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, PermissionOwnerId, Priority, ResourceId, SerializedJob FROM Job WHERE (ResourceId = @ResourceId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="ResourceId" ColumnName="ResourceId" DataSourceName="HiveServerDBTesting.dbo.Job" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT     DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, PermissionOwnerId, Priority, ResourceId, SerializedJob
-FROM         Job
-WHERE     (JobId = @Id)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="JobId" DataSourceName="HiveServerDBTesting.dbo.Job" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByState" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByState" GeneratorSourceName="FillByState" GetMethodModifier="Public" GetMethodName="GetDataByState" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByState" UserSourceName="FillByState">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, PermissionOwnerId, Priority, ResourceId, SerializedJob FROM Job WHERE (JobState = @State)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="State" ColumnName="JobState" DataSourceName="HiveServerDBTesting.dbo.Job" DataTypeServer="varchar(18)" DbType="AnsiString" Direction="Input" ParameterName="@State" Precision="0" ProviderType="VarChar" Scale="0" Size="18" SourceColumn="JobState" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillBySubjobs" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataBySubjobs" GeneratorSourceName="FillBySubjobs" GetMethodModifier="Public" GetMethodName="GetDataBySubjobs" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBySubjobs" UserSourceName="FillBySubjobs">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, PermissionOwnerId, Priority, ResourceId, SerializedJob FROM Job WHERE (ParentJobId = @Id)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="Id" ColumnName="ParentJobId" DataSourceName="HiveServerDBTesting.dbo.Job" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByUser" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByUser" GeneratorSourceName="FillByUser" GetMethodModifier="Public" GetMethodName="GetDataByUser" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByUser" UserSourceName="FillByUser">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, PermissionOwnerId, Priority, ResourceId, SerializedJob FROM Job WHERE (PermissionOwnerId = @PermissionOwnerId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="PermissionOwnerId" ColumnName="PermissionOwnerId" DataSourceName="HiveServerDBTesting.dbo.Job" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@PermissionOwnerId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="PermissionOwnerId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-            </Sources>
-          </TableAdapter>
-          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ClientGroup_ResourceTableAdapter" GeneratorDataComponentClassName="ClientGroup_ResourceTableAdapter" Name="ClientGroup_Resource" UserDataComponentName="ClientGroup_ResourceTableAdapter">
-            <MainSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.ClientGroup_Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
-                <DeleteCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>DELETE FROM [dbo].[ClientGroup_Resource] WHERE (([ClientGroupId] = @Original_ClientGroupId) AND ([ResourceId] = @Original_ResourceId))</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ClientGroupId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
-                    </Parameters>
-                  </DbCommand>
-                </DeleteCommand>
-                <InsertCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>INSERT INTO [dbo].[ClientGroup_Resource] ([ClientGroupId], [ResourceId]) VALUES (@ClientGroupId, @ResourceId);
-SELECT ClientGroupId, ResourceId FROM ClientGroup_Resource WHERE (ClientGroupId = @ClientGroupId) AND (ResourceId = @ResourceId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ClientGroupId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </InsertCommand>
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>SELECT ClientGroupId, ResourceId FROM dbo.ClientGroup_Resource</CommandText>
-                    <Parameters />
-                  </DbCommand>
-                </SelectCommand>
-                <UpdateCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>UPDATE [dbo].[ClientGroup_Resource] SET [ClientGroupId] = @ClientGroupId, [ResourceId] = @ResourceId WHERE (([ClientGroupId] = @Original_ClientGroupId) AND ([ResourceId] = @Original_ResourceId));
-SELECT ClientGroupId, ResourceId FROM ClientGroup_Resource WHERE (ClientGroupId = @ClientGroupId) AND (ResourceId = @ResourceId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ClientGroupId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ClientGroupId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
-                    </Parameters>
-                  </DbCommand>
-                </UpdateCommand>
-              </DbSource>
-            </MainSource>
-            <Mappings>
-              <Mapping SourceColumn="ClientGroupId" DataSetColumn="ClientGroupId" />
-              <Mapping SourceColumn="ResourceId" DataSetColumn="ResourceId" />
-            </Mappings>
-            <Sources>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.ClientGroup_Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByClientGroupId" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByClientGroupId" GeneratorSourceName="FillByClientGroupId" GetMethodModifier="Public" GetMethodName="GetDataByClientGroupId" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByClientGroupId" UserSourceName="FillByClientGroupId">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT * FROM dbo.ClientGroup_Resource WHERE ClientGroupId = @Id</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="ClientGroupId" DataSourceName="HiveServer.dbo.ClientGroup_Resource" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.ClientGroup_Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByClientGroupResourceId" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByClientGroupResourceId" GeneratorSourceName="FillByClientGroupResourceId" GetMethodModifier="Public" GetMethodName="GetDataByClientGroupResourceId" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByClientGroupResourceId" UserSourceName="FillByClientGroupResourceId">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT * FROM dbo.ClientGroup_Resource WHERE ClientGroupId = @ClientGroupId AND  ResourceId = @ResourceId</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="ClientGroupId" ColumnName="ClientGroupId" DataSourceName="HiveServer.dbo.ClientGroup_Resource" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@ClientGroupId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ClientGroupId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="ResourceId" ColumnName="ResourceId" DataSourceName="HiveServer.dbo.ClientGroup_Resource" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.ClientGroup_Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByResourceId" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByResourceId" GeneratorSourceName="FillByResourceId" GetMethodModifier="Public" GetMethodName="GetDataByResourceId" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByResourceId" UserSourceName="FillByResourceId">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT * FROM dbo.ClientGroup_Resource WHERE ResourceId = @Id</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="ResourceId" DataSourceName="HiveServer.dbo.ClientGroup_Resource" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByActive" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByActive" GeneratorSourceName="FillByActive" GetMethodModifier="Public" GetMethodName="GetDataByActive" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByActive" UserSourceName="FillByActive">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Priority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (JobState = 'calculating') OR (JobState = 'idle')</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByCalculatingClient" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByCalculatingClient" GeneratorSourceName="FillByCalculatingClient" GetMethodModifier="Public" GetMethodName="GetDataByCalculatingClient" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByCalculatingClient" UserSourceName="FillByCalculatingClient">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Priority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (JobState = 'calculating') AND (ResourceId = @ResourceId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="true" AutogeneratedName="ResourceId" ColumnName="ResourceId" DataSourceName="[HeuristicLab.Hive].dbo.Job" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByClient" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByClient" GeneratorSourceName="FillByClient" GetMethodModifier="Public" GetMethodName="GetDataByClient" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByClient" UserSourceName="FillByClient">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Priority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (ResourceId = @ResourceId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="true" AutogeneratedName="ResourceId" ColumnName="ResourceId" DataSourceName="[HeuristicLab.Hive].dbo.Job" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.Job WHERE JobId = @Id</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="JobId" DataSourceName="[HeuristicLab.Hive].dbo.Job" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByJob" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByJob" GeneratorSourceName="FillByJob" GetMethodModifier="Public" GetMethodName="GetDataByJob" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByJob" UserSourceName="FillByJob">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Priority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (JobId = @Id)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="JobId" DataSourceName="[HeuristicLab.Hive].dbo.Job" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByParentJob" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByParentJob" GeneratorSourceName="FillByParentJob" GetMethodModifier="Public" GetMethodName="GetDataByParentJob" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByParentJob" UserSourceName="FillByParentJob">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Priority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (ParentJobId = @Id)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="true" AutogeneratedName="Id" ColumnName="ParentJobId" DataSourceName="[HeuristicLab.Hive].dbo.Job" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByState" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByState" GeneratorSourceName="FillByState" GetMethodModifier="Public" GetMethodName="GetDataByState" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByState" UserSourceName="FillByState">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT DateCalculated, DateCreated, JobId, JobState, ParentJobId, Percentage, Priority, ProjectId, ResourceId, SerializedJob, UserId FROM Job WHERE (JobState = @State)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="true" AutogeneratedName="State" ColumnName="JobState" DataSourceName="[HeuristicLab.Hive].dbo.Job" DataTypeServer="varchar(18)" DbType="AnsiString" Direction="Input" ParameterName="@State" Precision="0" ProviderType="VarChar" Scale="0" Size="18" SourceColumn="JobState" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.Job" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByUser" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByUser" GeneratorSourceName="FillByUser" GetMethodModifier="Public" GetMethodName="GetDataByUser" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByUser" UserSourceName="FillByUser">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.Job WHERE UserId = @UserId</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="true" AutogeneratedName="UserId" ColumnName="UserId" DataSourceName="[HeuristicLab.Hive].dbo.Job" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@UserId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="UserId" SourceColumnNullMapping="false" SourceVersion="Current" />
                     </Parameters>
                   </DbCommand>
@@ -520,16 +517,16 @@
           <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="JobResultTableAdapter" GeneratorDataComponentClassName="JobResultTableAdapter" Name="JobResult" UserDataComponentName="JobResultTableAdapter">
             <MainSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.JobResult" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.JobResult" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
                 <DeleteCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>DELETE FROM [JobResult] WHERE (([JobResultId] = @Original_JobResultId) AND ((@IsNull_JobId = 1 AND [JobId] IS NULL) OR ([JobId] = @Original_JobId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateFinished = 1 AND [DateFinished] IS NULL) OR ([DateFinished] = @Original_DateFinished)))</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_JobResultId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="JobResultId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    <CommandText>DELETE FROM [dbo].[JobResult] WHERE (([JobResultId] = @Original_JobResultId) AND ((@IsNull_JobId = 1 AND [JobId] IS NULL) OR ([JobId] = @Original_JobId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_DateFinished = 1 AND [DateFinished] IS NULL) OR ([DateFinished] = @Original_DateFinished)))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_JobResultId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobResultId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_JobId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_JobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ResourceId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_JobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Percentage" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_Percentage" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ResourceId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_DateFinished" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="DateFinished" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_DateFinished" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="DateFinished" SourceColumnNullMapping="false" SourceVersion="Original" />
@@ -539,12 +536,13 @@
                 <InsertCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>INSERT INTO [JobResult] ([JobId], [JobResult], [ResourceId], [Message], [Percentage], [DateFinished]) VALUES (@JobId, @JobResult, @ResourceId, @Message, @Percentage, @DateFinished);
-SELECT JobResultId, JobId, JobResult, ResourceId, Message, Percentage, DateFinished FROM JobResult WHERE (JobResultId = SCOPE_IDENTITY())</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@JobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    <CommandText>INSERT INTO [dbo].[JobResult] ([JobResultId], [JobId], [JobResult], [Message], [Percentage], [ResourceId], [DateFinished]) VALUES (@JobResultId, @JobId, @JobResult, @Message, @Percentage, @ResourceId, @DateFinished);
+SELECT JobResultId, JobId, JobResult, Message, Percentage, ResourceId, DateFinished FROM JobResult WHERE (JobResultId = @JobResultId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@JobResultId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobResultId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@JobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@JobResult" Precision="0" ProviderType="VarBinary" Scale="0" Size="0" SourceColumn="JobResult" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Message" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Message" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Percentage" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@DateFinished" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="DateFinished" SourceColumnNullMapping="false" SourceVersion="Current" />
                     </Parameters>
@@ -553,6 +551,5 @@
                 <SelectCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT     JobResultId, JobId, JobResult, ResourceId, Message, Percentage, DateFinished
-FROM         JobResult</CommandText>
+                    <CommandText>SELECT * FROM dbo.JobResult</CommandText>
                     <Parameters />
                   </DbCommand>
@@ -560,23 +557,23 @@
                 <UpdateCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>UPDATE [JobResult] SET [JobId] = @JobId, [JobResult] = @JobResult, [ResourceId] = @ResourceId, [Message] = @Message, [Percentage] = @Percentage, [DateFinished] = @DateFinished WHERE (([JobResultId] = @Original_JobResultId) AND ((@IsNull_JobId = 1 AND [JobId] IS NULL) OR ([JobId] = @Original_JobId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_DateFinished = 1 AND [DateFinished] IS NULL) OR ([DateFinished] = @Original_DateFinished)));
-SELECT JobResultId, JobId, JobResult, ResourceId, Message, Percentage, DateFinished FROM JobResult WHERE (JobResultId = @JobResultId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@JobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    <CommandText>UPDATE [dbo].[JobResult] SET [JobResultId] = @JobResultId, [JobId] = @JobId, [JobResult] = @JobResult, [Message] = @Message, [Percentage] = @Percentage, [ResourceId] = @ResourceId, [DateFinished] = @DateFinished WHERE (([JobResultId] = @Original_JobResultId) AND ((@IsNull_JobId = 1 AND [JobId] IS NULL) OR ([JobId] = @Original_JobId)) AND ((@IsNull_Percentage = 1 AND [Percentage] IS NULL) OR ([Percentage] = @Original_Percentage)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)) AND ((@IsNull_DateFinished = 1 AND [DateFinished] IS NULL) OR ([DateFinished] = @Original_DateFinished)));
+SELECT JobResultId, JobId, JobResult, Message, Percentage, ResourceId, DateFinished FROM JobResult WHERE (JobResultId = @JobResultId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@JobResultId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobResultId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@JobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@JobResult" Precision="0" ProviderType="VarBinary" Scale="0" Size="0" SourceColumn="JobResult" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Message" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Message" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Percentage" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@DateFinished" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="DateFinished" SourceColumnNullMapping="false" SourceVersion="Current" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_JobResultId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="JobResultId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_JobResultId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobResultId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_JobId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_JobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ResourceId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="true" SourceVersion="Original" />
-                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_JobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Percentage" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_Percentage" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="Percentage" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ResourceId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_DateFinished" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="DateFinished" SourceColumnNullMapping="true" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_DateFinished" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="DateFinished" SourceColumnNullMapping="false" SourceVersion="Original" />
-                      <Parameter AllowDbNull="false" AutogeneratedName="JobResultId" ColumnName="JobResultId" DataSourceName="HiveServerDBTesting.dbo.JobResult" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@JobResultId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="JobResultId" SourceColumnNullMapping="false" SourceVersion="Current" />
                     </Parameters>
                   </DbCommand>
@@ -588,30 +585,26 @@
               <Mapping SourceColumn="JobId" DataSetColumn="JobId" />
               <Mapping SourceColumn="JobResult" DataSetColumn="JobResult" />
-              <Mapping SourceColumn="ResourceId" DataSetColumn="ResourceId" />
               <Mapping SourceColumn="Message" DataSetColumn="Message" />
               <Mapping SourceColumn="Percentage" DataSetColumn="Percentage" />
+              <Mapping SourceColumn="ResourceId" DataSetColumn="ResourceId" />
               <Mapping SourceColumn="DateFinished" DataSetColumn="DateFinished" />
             </Mappings>
             <Sources>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.JobResult" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT     JobId, JobResult, JobResultId, Message, ResourceId, Percentage, DateFinished
-FROM         JobResult
-WHERE     (JobResultId = @Id)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="JobResultId" DataSourceName="HiveServerDBTesting.dbo.JobResult" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="JobResultId" SourceColumnNullMapping="false" SourceVersion="Current" />
-                    </Parameters>
-                  </DbCommand>
-                </SelectCommand>
-              </DbSource>
-              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServerDBTesting.dbo.JobResult" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByJob" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByJob" GeneratorSourceName="FillByJob" GetMethodModifier="Public" GetMethodName="GetDataByJob" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByJob" UserSourceName="FillByJob">
-                <SelectCommand>
-                  <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT     JobId, JobResult, JobResultId, Message, ResourceId, Percentage, DateFinished
-FROM         JobResult
-WHERE     (JobId = @JobId)</CommandText>
-                    <Parameters>
-                      <Parameter AllowDbNull="true" AutogeneratedName="JobId" ColumnName="JobId" DataSourceName="HiveServerDBTesting.dbo.JobResult" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@JobId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.JobResult" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.JobResult WHERE JobResultId = @Id</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="JobResultId" DataSourceName="[HeuristicLab.Hive].dbo.JobResult" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="JobResultId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive].dbo.JobResult" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByJob" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataByJob" GeneratorSourceName="FillByJob" GetMethodModifier="Public" GetMethodName="GetDataByJob" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataByJob" UserSourceName="FillByJob">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.JobResult WHERE JobId = @JobId</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="true" AutogeneratedName="JobId" ColumnName="JobId" DataSourceName="[HeuristicLab.Hive].dbo.JobResult" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@JobId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
                     </Parameters>
                   </DbCommand>
@@ -628,23 +621,8 @@
     <xs:complexType>
       <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element name="Resource" msprop:Generator_UserTableName="Resource" msprop:Generator_RowDeletedName="ResourceRowDeleted" msprop:Generator_RowChangedName="ResourceRowChanged" msprop:Generator_RowClassName="ResourceRow" msprop:Generator_RowChangingName="ResourceRowChanging" msprop:Generator_RowEvArgName="ResourceRowChangeEvent" msprop:Generator_RowEvHandlerName="ResourceRowChangeEventHandler" msprop:Generator_TableClassName="ResourceDataTable" msprop:Generator_TableVarName="tableResource" msprop:Generator_RowDeletingName="ResourceRowDeleting" msprop:Generator_TablePropName="Resource">
-          <xs:complexType>
-            <xs:sequence>
-              <xs:element name="ResourceId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
-              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
-                <xs:simpleType>
-                  <xs:restriction base="xs:string">
-                    <xs:maxLength value="18" />
-                  </xs:restriction>
-                </xs:simpleType>
-              </xs:element>
-            </xs:sequence>
-          </xs:complexType>
-        </xs:element>
         <xs:element name="Client" msprop:Generator_UserTableName="Client" msprop:Generator_RowDeletedName="ClientRowDeleted" msprop:Generator_RowChangedName="ClientRowChanged" msprop:Generator_RowClassName="ClientRow" msprop:Generator_RowChangingName="ClientRowChanging" msprop:Generator_RowEvArgName="ClientRowChangeEvent" msprop:Generator_RowEvHandlerName="ClientRowChangeEventHandler" msprop:Generator_TableClassName="ClientDataTable" msprop:Generator_TableVarName="tableClient" msprop:Generator_RowDeletingName="ClientRowDeleting" msprop:Generator_TablePropName="Client">
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
-              <xs:element name="GUID" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="GUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
               <xs:element name="CPUSpeed" msprop:Generator_UserColumnName="CPUSpeed" msprop:Generator_ColumnPropNameInRow="CPUSpeed" msprop:Generator_ColumnVarNameInTable="columnCPUSpeed" msprop:Generator_ColumnPropNameInTable="CPUSpeedColumn" type="xs:int" minOccurs="0" />
               <xs:element name="Memory" msprop:Generator_UserColumnName="Memory" msprop:Generator_ColumnPropNameInRow="Memory" msprop:Generator_ColumnVarNameInTable="columnMemory" msprop:Generator_ColumnPropNameInTable="MemoryColumn" type="xs:int" minOccurs="0" />
@@ -657,6 +635,20 @@
                 </xs:simpleType>
               </xs:element>
-              <xs:element name="ClientConfigId" msprop:Generator_UserColumnName="ClientConfigId" msprop:Generator_ColumnPropNameInRow="ClientConfigId" msprop:Generator_ColumnVarNameInTable="columnClientConfigId" msprop:Generator_ColumnPropNameInTable="ClientConfigIdColumn" type="xs:long" minOccurs="0" />
+              <xs:element name="ClientConfigId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ClientConfigId" msprop:Generator_ColumnPropNameInRow="ClientConfigId" msprop:Generator_ColumnVarNameInTable="columnClientConfigId" msprop:Generator_ColumnPropNameInTable="ClientConfigIdColumn" type="xs:string" minOccurs="0" />
               <xs:element name="NumberOfCores" msprop:Generator_UserColumnName="NumberOfCores" msprop:Generator_ColumnPropNameInRow="NumberOfCores" msprop:Generator_ColumnVarNameInTable="columnNumberOfCores" msprop:Generator_ColumnPropNameInTable="NumberOfCoresColumn" type="xs:int" minOccurs="0" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Resource" msprop:Generator_UserTableName="Resource" msprop:Generator_RowDeletedName="ResourceRowDeleted" msprop:Generator_RowChangedName="ResourceRowChanged" msprop:Generator_RowClassName="ResourceRow" msprop:Generator_RowChangingName="ResourceRowChanging" msprop:Generator_RowEvArgName="ResourceRowChangeEvent" msprop:Generator_RowEvHandlerName="ResourceRowChangeEventHandler" msprop:Generator_TableClassName="ResourceDataTable" msprop:Generator_TableVarName="tableResource" msprop:Generator_RowDeletingName="ResourceRowDeleting" msprop:Generator_TablePropName="Resource">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
+              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="18" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
             </xs:sequence>
           </xs:complexType>
@@ -665,5 +657,13 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="ClientGroup_Resource" msprop:Generator_UserTableName="ClientGroup_Resource" msprop:Generator_RowDeletedName="ClientGroup_ResourceRowDeleted" msprop:Generator_RowChangedName="ClientGroup_ResourceRowChanged" msprop:Generator_RowClassName="ClientGroup_ResourceRow" msprop:Generator_RowChangingName="ClientGroup_ResourceRowChanging" msprop:Generator_RowEvArgName="ClientGroup_ResourceRowChangeEvent" msprop:Generator_RowEvHandlerName="ClientGroup_ResourceRowChangeEventHandler" msprop:Generator_TableClassName="ClientGroup_ResourceDataTable" msprop:Generator_TableVarName="tableClientGroup_Resource" msprop:Generator_RowDeletingName="ClientGroup_ResourceRowDeleting" msprop:Generator_TablePropName="ClientGroup_Resource">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="ClientGroupId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ClientGroupId" msprop:Generator_ColumnVarNameInTable="columnClientGroupId" msprop:Generator_ColumnPropNameInRow="ClientGroupId" msprop:Generator_ColumnPropNameInTable="ClientGroupIdColumn" type="xs:string" />
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
             </xs:sequence>
           </xs:complexType>
@@ -672,8 +672,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="JobId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:long" />
-              <xs:element name="ParentJobId" msprop:Generator_UserColumnName="ParentJobId" msprop:Generator_ColumnPropNameInRow="ParentJobId" msprop:Generator_ColumnVarNameInTable="columnParentJobId" msprop:Generator_ColumnPropNameInTable="ParentJobIdColumn" type="xs:long" minOccurs="0" />
-              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" minOccurs="0" />
-              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" minOccurs="0" />
+              <xs:element name="JobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:string" />
+              <xs:element name="ParentJobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ParentJobId" msprop:Generator_ColumnVarNameInTable="columnParentJobId" msprop:Generator_ColumnPropNameInRow="ParentJobId" msprop:Generator_ColumnPropNameInTable="ParentJobIdColumn" type="xs:string" minOccurs="0" />
               <xs:element name="JobState" msprop:Generator_UserColumnName="JobState" msprop:Generator_ColumnVarNameInTable="columnJobState" msprop:Generator_ColumnPropNameInRow="JobState" msprop:Generator_ColumnPropNameInTable="JobStateColumn" minOccurs="0">
                 <xs:simpleType>
@@ -683,4 +681,5 @@
                 </xs:simpleType>
               </xs:element>
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" minOccurs="0" />
               <xs:element name="Percentage" msprop:Generator_UserColumnName="Percentage" msprop:Generator_ColumnVarNameInTable="columnPercentage" msprop:Generator_ColumnPropNameInRow="Percentage" msprop:Generator_ColumnPropNameInTable="PercentageColumn" type="xs:double" minOccurs="0" />
               <xs:element name="SerializedJob" msprop:Generator_UserColumnName="SerializedJob" msprop:Generator_ColumnVarNameInTable="columnSerializedJob" msprop:Generator_ColumnPropNameInRow="SerializedJob" msprop:Generator_ColumnPropNameInTable="SerializedJobColumn" type="xs:base64Binary" minOccurs="0" />
@@ -688,12 +687,6 @@
               <xs:element name="DateCalculated" msprop:Generator_UserColumnName="DateCalculated" msprop:Generator_ColumnVarNameInTable="columnDateCalculated" msprop:Generator_ColumnPropNameInRow="DateCalculated" msprop:Generator_ColumnPropNameInTable="DateCalculatedColumn" type="xs:dateTime" minOccurs="0" />
               <xs:element name="Priority" msprop:Generator_UserColumnName="Priority" msprop:Generator_ColumnVarNameInTable="columnPriority" msprop:Generator_ColumnPropNameInRow="Priority" msprop:Generator_ColumnPropNameInTable="PriorityColumn" type="xs:int" minOccurs="0" />
-            </xs:sequence>
-          </xs:complexType>
-        </xs:element>
-        <xs:element name="ClientGroup_Resource" msprop:Generator_UserTableName="ClientGroup_Resource" msprop:Generator_RowDeletedName="ClientGroup_ResourceRowDeleted" msprop:Generator_RowChangedName="ClientGroup_ResourceRowChanged" msprop:Generator_RowClassName="ClientGroup_ResourceRow" msprop:Generator_RowChangingName="ClientGroup_ResourceRowChanging" msprop:Generator_RowEvArgName="ClientGroup_ResourceRowChangeEvent" msprop:Generator_RowEvHandlerName="ClientGroup_ResourceRowChangeEventHandler" msprop:Generator_TableClassName="ClientGroup_ResourceDataTable" msprop:Generator_TableVarName="tableClientGroup_Resource" msprop:Generator_RowDeletingName="ClientGroup_ResourceRowDeleting" msprop:Generator_TablePropName="ClientGroup_Resource">
-          <xs:complexType>
-            <xs:sequence>
-              <xs:element name="ClientGroupId" msprop:Generator_UserColumnName="ClientGroupId" msprop:Generator_ColumnVarNameInTable="columnClientGroupId" msprop:Generator_ColumnPropNameInRow="ClientGroupId" msprop:Generator_ColumnPropNameInTable="ClientGroupIdColumn" type="xs:long" />
-              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
+              <xs:element name="ProjectId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ProjectId" msprop:Generator_ColumnVarNameInTable="columnProjectId" msprop:Generator_ColumnPropNameInRow="ProjectId" msprop:Generator_ColumnPropNameInTable="ProjectIdColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="UserId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="UserId" msprop:Generator_ColumnVarNameInTable="columnUserId" msprop:Generator_ColumnPropNameInRow="UserId" msprop:Generator_ColumnPropNameInTable="UserIdColumn" type="xs:string" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
@@ -702,8 +695,7 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="JobResultId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="JobResultId" msprop:Generator_ColumnPropNameInRow="JobResultId" msprop:Generator_ColumnVarNameInTable="columnJobResultId" msprop:Generator_ColumnPropNameInTable="JobResultIdColumn" type="xs:long" />
-              <xs:element name="JobId" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:long" minOccurs="0" />
-              <xs:element name="JobResult" msprop:Generator_UserColumnName="JobResult" msprop:Generator_ColumnPropNameInRow="JobResult" msprop:Generator_ColumnVarNameInTable="columnJobResult" msprop:Generator_ColumnPropNameInTable="JobResultColumn" type="xs:base64Binary" minOccurs="0" />
-              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" minOccurs="0" />
+              <xs:element name="JobResultId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobResultId" msprop:Generator_ColumnVarNameInTable="columnJobResultId" msprop:Generator_ColumnPropNameInRow="JobResultId" msprop:Generator_ColumnPropNameInTable="JobResultIdColumn" type="xs:string" />
+              <xs:element name="JobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="JobResult" msprop:Generator_UserColumnName="JobResult" msprop:Generator_ColumnVarNameInTable="columnJobResult" msprop:Generator_ColumnPropNameInRow="JobResult" msprop:Generator_ColumnPropNameInTable="JobResultColumn" type="xs:base64Binary" minOccurs="0" />
               <xs:element name="Message" msprop:Generator_UserColumnName="Message" msprop:Generator_ColumnVarNameInTable="columnMessage" msprop:Generator_ColumnPropNameInRow="Message" msprop:Generator_ColumnPropNameInTable="MessageColumn" minOccurs="0">
                 <xs:simpleType>
@@ -714,4 +706,5 @@
               </xs:element>
               <xs:element name="Percentage" msprop:Generator_UserColumnName="Percentage" msprop:Generator_ColumnVarNameInTable="columnPercentage" msprop:Generator_ColumnPropNameInRow="Percentage" msprop:Generator_ColumnPropNameInTable="PercentageColumn" type="xs:double" minOccurs="0" />
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" minOccurs="0" />
               <xs:element name="DateFinished" msprop:Generator_UserColumnName="DateFinished" msprop:Generator_ColumnVarNameInTable="columnDateFinished" msprop:Generator_ColumnPropNameInRow="DateFinished" msprop:Generator_ColumnPropNameInTable="DateFinishedColumn" type="xs:dateTime" minOccurs="0" />
             </xs:sequence>
@@ -721,9 +714,9 @@
     </xs:complexType>
     <xs:unique name="Constraint1" msdata:PrimaryKey="true">
-      <xs:selector xpath=".//mstns:Resource" />
+      <xs:selector xpath=".//mstns:Client" />
       <xs:field xpath="mstns:ResourceId" />
     </xs:unique>
-    <xs:unique name="Client_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
-      <xs:selector xpath=".//mstns:Client" />
+    <xs:unique name="Resource_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:Resource" />
       <xs:field xpath="mstns:ResourceId" />
     </xs:unique>
@@ -732,12 +725,12 @@
       <xs:field xpath="mstns:ResourceId" />
     </xs:unique>
-    <xs:unique name="Job_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
-      <xs:selector xpath=".//mstns:Job" />
-      <xs:field xpath="mstns:JobId" />
-    </xs:unique>
     <xs:unique name="ClientGroup_Resource_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
       <xs:selector xpath=".//mstns:ClientGroup_Resource" />
       <xs:field xpath="mstns:ClientGroupId" />
       <xs:field xpath="mstns:ResourceId" />
+    </xs:unique>
+    <xs:unique name="Job_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:Job" />
+      <xs:field xpath="mstns:JobId" />
     </xs:unique>
     <xs:unique name="JobResult_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
@@ -750,7 +743,6 @@
       <msdata:Relationship name="Client_is_a_Resource" msdata:parent="Resource" msdata:child="Client" msdata:parentkey="ResourceId" msdata:childkey="ResourceId" msprop:Generator_UserRelationName="Client_is_a_Resource" msprop:Generator_RelationVarName="relationClient_is_a_Resource" msprop:Generator_UserChildTable="Client" msprop:Generator_UserParentTable="Resource" msprop:Generator_ParentPropName="ResourceRow" msprop:Generator_ChildPropName="GetClientRows" />
       <msdata:Relationship name="ClientGroup_is_a_Resource" msdata:parent="Resource" msdata:child="ClientGroup" msdata:parentkey="ResourceId" msdata:childkey="ResourceId" msprop:Generator_UserRelationName="ClientGroup_is_a_Resource" msprop:Generator_RelationVarName="relationClientGroup_is_a_Resource" msprop:Generator_UserChildTable="ClientGroup" msprop:Generator_UserParentTable="Resource" msprop:Generator_ParentPropName="ResourceRow" msprop:Generator_ChildPropName="GetClientGroupRows" />
+      <msdata:Relationship name="R_52" msdata:parent="ClientGroup" msdata:child="ClientGroup_Resource" msdata:parentkey="ResourceId" msdata:childkey="ClientGroupId" msprop:Generator_UserRelationName="R_52" msprop:Generator_RelationVarName="relationR_52" msprop:Generator_UserChildTable="ClientGroup_Resource" msprop:Generator_UserParentTable="ClientGroup" msprop:Generator_ParentPropName="ClientGroupRow" msprop:Generator_ChildPropName="GetClientGroup_ResourceRows" />
       <msdata:Relationship name="R_21" msdata:parent="Client" msdata:child="Job" msdata:parentkey="ResourceId" msdata:childkey="ResourceId" msprop:Generator_UserRelationName="R_21" msprop:Generator_RelationVarName="relationR_21" msprop:Generator_UserChildTable="Job" msprop:Generator_UserParentTable="Client" msprop:Generator_ParentPropName="ClientRow" msprop:Generator_ChildPropName="GetJobRows" />
-      <msdata:Relationship name="R_52" msdata:parent="ClientGroup" msdata:child="ClientGroup_Resource" msdata:parentkey="ResourceId" msdata:childkey="ClientGroupId" msprop:Generator_UserRelationName="R_52" msprop:Generator_RelationVarName="relationR_52" msprop:Generator_UserChildTable="ClientGroup_Resource" msprop:Generator_UserParentTable="ClientGroup" msprop:Generator_ParentPropName="ClientGroupRow" msprop:Generator_ChildPropName="GetClientGroup_ResourceRows" />
-      <msdata:Relationship name="R_59" msdata:parent="Resource" msdata:child="ClientGroup_Resource" msdata:parentkey="ResourceId" msdata:childkey="ResourceId" msprop:Generator_UserRelationName="R_59" msprop:Generator_RelationVarName="relationR_59" msprop:Generator_UserChildTable="ClientGroup_Resource" msprop:Generator_UserParentTable="Resource" msprop:Generator_ParentPropName="ResourceRow" msprop:Generator_ChildPropName="GetClientGroup_ResourceRows" />
       <msdata:Relationship name="R_14" msdata:parent="Job" msdata:child="JobResult" msdata:parentkey="JobId" msdata:childkey="JobId" msprop:Generator_UserRelationName="R_14" msprop:Generator_RelationVarName="relationR_14" msprop:Generator_UserChildTable="JobResult" msprop:Generator_UserParentTable="Job" msprop:Generator_ParentPropName="JobRow" msprop:Generator_ChildPropName="GetJobResultRows" />
     </xs:appinfo>
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xss
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xss	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xss	(revision 1449)
@@ -5,95 +5,83 @@
      the code is regenerated.
 </autogenerated>-->
-<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-284" ViewPortY="227" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
+<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-284" ViewPortY="263" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
   <Shapes>
-    <Shape ID="DesignTable:Resource" ZOrder="11" X="31" Y="-16" Height="156" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
-    <Shape ID="DesignTable:Client" ZOrder="7" X="-210" Y="176" Height="258" Width="265" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
-    <Shape ID="DesignTable:ClientGroup" ZOrder="8" X="78" Y="417" Height="106" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="42" />
-    <Shape ID="DesignTable:Job" ZOrder="1" X="-20" Y="543" Height="309" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" />
-    <Shape ID="DesignTable:ClientGroup_Resource" ZOrder="6" X="150" Y="207" Height="156" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
-    <Shape ID="DesignTable:JobResult" ZOrder="2" X="-274" Y="567" Height="224" Width="197" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" />
+    <Shape ID="DesignTable:Client" ZOrder="7" X="-37" Y="593" Height="224" Width="179" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" />
+    <Shape ID="DesignTable:Resource" ZOrder="10" X="118" Y="372" Height="156" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
+    <Shape ID="DesignTable:ClientGroup" ZOrder="9" X="251" Y="607" Height="106" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="42" />
+    <Shape ID="DesignTable:ClientGroup_Resource" ZOrder="6" X="215" Y="765" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" />
+    <Shape ID="DesignTable:Job" ZOrder="5" X="-199" Y="143" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" />
+    <Shape ID="DesignTable:JobResult" ZOrder="4" X="146" Y="172" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" />
   </Shapes>
   <Connectors>
-    <Connector ID="DesignRelation:Client_is_a_Resource" ZOrder="12" LineWidth="11">
+    <Connector ID="DesignRelation:Client_is_a_Resource" ZOrder="11" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>31</X>
-          <Y>140</Y>
+          <X>128</X>
+          <Y>528</Y>
         </Point>
         <Point>
-          <X>31</X>
-          <Y>176</Y>
+          <X>128</X>
+          <Y>593</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:ClientGroup_is_a_Resource" ZOrder="10" LineWidth="11">
+    <Connector ID="DesignRelation:ClientGroup_is_a_Resource" ZOrder="8" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>122</X>
-          <Y>140</Y>
+          <X>243</X>
+          <Y>528</Y>
         </Point>
         <Point>
-          <X>122</X>
-          <Y>417</Y>
+          <X>243</X>
+          <Y>624</Y>
+        </Point>
+        <Point>
+          <X>251</X>
+          <Y>624</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_21" ZOrder="9" LineWidth="11">
+    <Connector ID="DesignRelation:R_52" ZOrder="3" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>6</X>
-          <Y>434</Y>
+          <X>312</X>
+          <Y>713</Y>
         </Point>
         <Point>
-          <X>6</X>
-          <Y>543</Y>
+          <X>312</X>
+          <Y>765</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_52" ZOrder="5" LineWidth="11">
+    <Connector ID="DesignRelation:R_21" ZOrder="2" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>142</X>
-          <Y>417</Y>
+          <X>-37</X>
+          <Y>610</Y>
         </Point>
         <Point>
-          <X>142</X>
-          <Y>280</Y>
+          <X>-58</X>
+          <Y>610</Y>
         </Point>
         <Point>
-          <X>150</X>
-          <Y>280</Y>
+          <X>-58</X>
+          <Y>233</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_59" ZOrder="4" LineWidth="11">
+    <Connector ID="DesignRelation:R_14" ZOrder="1" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>142</X>
-          <Y>140</Y>
+          <X>-81</X>
+          <Y>233</Y>
         </Point>
         <Point>
-          <X>142</X>
-          <Y>224</Y>
+          <X>-81</X>
+          <Y>241</Y>
         </Point>
         <Point>
-          <X>150</X>
-          <Y>224</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:R_14" ZOrder="3" LineWidth="11">
-      <RoutePoints>
-        <Point>
-          <X>-20</X>
-          <Y>799</Y>
-        </Point>
-        <Point>
-          <X>-124</X>
-          <Y>799</Y>
-        </Point>
-        <Point>
-          <X>-124</X>
-          <Y>791</Y>
+          <X>146</X>
+          <Y>241</Y>
         </Point>
       </RoutePoints>
Index: /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.cs	(revision 1449)
@@ -45,9 +45,9 @@
     private ResponseList<Job> jobs = null;
 
-    private Dictionary<long, ListViewGroup> clientObjects;
-    private Dictionary<long, ListViewItem> clientInfoObjects;
-    private Dictionary<long, ListViewItem> jobObjects;
-    private Dictionary<long, ListViewGroup> userGroupsObjects;
-    private Dictionary<long, ListViewItem> userListObjects;
+    private Dictionary<Guid, ListViewGroup> clientObjects;
+    private Dictionary<Guid, ListViewItem> clientInfoObjects;
+    private Dictionary<Guid, ListViewItem> jobObjects;
+    private Dictionary<Guid, ListViewGroup> userGroupsObjects;
+    private Dictionary<Guid, ListViewItem> userListObjects;
 
     private Job currentJob = null;
@@ -85,6 +85,6 @@
     private void AddClients() {
       try {
-        clientObjects = new Dictionary<long, ListViewGroup>();
-        clientInfoObjects = new Dictionary<long, ListViewItem>();
+        clientObjects = new Dictionary<Guid, ListViewGroup>();
+        clientInfoObjects = new Dictionary<Guid, ListViewItem>();
         IClientManager clientManager =
           ServiceLocator.GetClientManager();
@@ -131,5 +131,5 @@
     private void AddJobs() {
       try {
-        jobObjects = new Dictionary<long, ListViewItem>();
+        jobObjects = new Dictionary<Guid, ListViewItem>();
         IJobManager jobManager =
           ServiceLocator.GetJobManager();
Index: /trunk/sources/HeuristicLab.Hive.Server.Console/ServiceLocator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Console/ServiceLocator.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.Console/ServiceLocator.cs	(revision 1449)
@@ -27,6 +27,6 @@
         Port != String.Empty) {
 
-        NetTcpBinding binding = 
-             new NetTcpBinding();
+        NetTcpBinding binding =
+             new NetTcpBinding(SecurityMode.None, true);
 
         binding.MaxReceivedMessageSize = 5000000;
Index: /trunk/sources/HeuristicLab.Hive.Server.Core/ClientCommunicator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Core/ClientCommunicator.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.Core/ClientCommunicator.cs	(revision 1449)
@@ -85,5 +85,5 @@
           heartbeatLock.EnterUpgradeableReadLock();
 
-          if (!lastHeartbeats.ContainsKey(client.ClientId)) {
+          if (!lastHeartbeats.ContainsKey(client.Id)) {
             client.State = State.offline;
             clientAdapter.Update(client);
@@ -92,5 +92,5 @@
             }
           } else {
-            DateTime lastHbOfClient = lastHeartbeats[client.ClientId];
+            DateTime lastHbOfClient = lastHeartbeats[client.Id];
 
             TimeSpan dif = DateTime.Now.Subtract(lastHbOfClient);
@@ -110,5 +110,5 @@
 
               heartbeatLock.EnterWriteLock();
-              lastHeartbeats.Remove(client.ClientId);
+              lastHeartbeats.Remove(client.Id);
               heartbeatLock.ExitWriteLock();
             }
@@ -118,6 +118,6 @@
         } else {
           heartbeatLock.EnterWriteLock();
-          if (lastHeartbeats.ContainsKey(client.ClientId))
-            lastHeartbeats.Remove(client.ClientId);
+          if (lastHeartbeats.ContainsKey(client.Id))
+            lastHeartbeats.Remove(client.Id);
           heartbeatLock.ExitWriteLock();
         }
@@ -137,13 +137,13 @@
 
       heartbeatLock.EnterWriteLock();
-      if (lastHeartbeats.ContainsKey(clientInfo.ClientId)) {
-        lastHeartbeats[clientInfo.ClientId] = DateTime.Now;
+      if (lastHeartbeats.ContainsKey(clientInfo.Id)) {
+        lastHeartbeats[clientInfo.Id] = DateTime.Now;
       } else {
-        lastHeartbeats.Add(clientInfo.ClientId, DateTime.Now);
+        lastHeartbeats.Add(clientInfo.Id, DateTime.Now);
       }
       heartbeatLock.ExitWriteLock();
 
       // todo: allClients legacy ?
-      ClientInfo client = clientAdapter.GetById(clientInfo.ClientId);
+      ClientInfo client = clientAdapter.GetById(clientInfo.Id);
       if (client != null && client.State != State.offline && client.State != State.nullState) {
         response.Success = false;
@@ -205,7 +205,7 @@
         }
 
-        foreach (KeyValuePair<long, double> jobProgress in hbData.JobProgress) {
+        foreach (KeyValuePair<Guid, double> jobProgress in hbData.JobProgress) {
           Job curJob = jobAdapter.GetById(jobProgress.Key);
-          if (curJob.Client == null || curJob.Client.ClientId != hbData.ClientId) {
+          if (curJob.Client == null || curJob.Client.Id != hbData.ClientId) {
             response.Success = false;
             response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_JOB_IS_NOT_BEEING_CALCULATED;
@@ -248,5 +248,5 @@
 
     private ResponseResultReceived ProcessJobResult(Guid clientId,
-      long jobId,
+      Guid jobId,
       byte[] result,
       double percentage,
@@ -266,5 +266,5 @@
         return response;
       }
-      if (job.Client.ClientId != clientId) {
+      if (job.Client.Id != clientId) {
         response.Success = false;
         response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_WRONG_CLIENT_FOR_JOB;
@@ -334,5 +334,5 @@
     /// <returns></returns>
     public ResponseResultReceived StoreFinishedJobResult(Guid clientId, 
-      long jobId, 
+      Guid jobId, 
       byte[] result, 
       double percentage,
@@ -343,5 +343,5 @@
 
 
-    public ResponseResultReceived ProcessSnapshot(Guid clientId, long jobId, byte[] result, double percentage, Exception exception) {
+    public ResponseResultReceived ProcessSnapshot(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception) {
       return ProcessJobResult(clientId, jobId, result, percentage, exception, false);
     }
@@ -371,5 +371,5 @@
         // check wich job the client was calculating and reset it
         foreach (Job job in allJobs) {
-          if (job.Client.ClientId == client.ClientId) {
+          if (job.Client.Id == client.Id) {
             jobManager.ResetJobsDependingOnResults(job);
           }
@@ -392,5 +392,5 @@
     /// <param name="jobId"></param>
     /// <returns></returns>
-    public Response IsJobStillNeeded(long jobId) {
+    public Response IsJobStillNeeded(Guid jobId) {
       Response response = new Response();
       Job job = jobAdapter.GetById(jobId);
Index: /trunk/sources/HeuristicLab.Hive.Server.Core/ClientFacade.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Core/ClientFacade.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.Core/ClientFacade.cs	(revision 1449)
@@ -50,5 +50,5 @@
 
     public ResponseResultReceived StoreFinishedJobResult(Guid clientId,
-      long jobId,
+      Guid jobId,
       byte[] result,
       double percentage, 
@@ -61,5 +61,5 @@
     }
 
-    public Response IsJobStillNeeded(long jobId) {
+    public Response IsJobStillNeeded(Guid jobId) {
       return clientCommunicator.IsJobStillNeeded(jobId);
     }
@@ -69,5 +69,5 @@
     }
 
-    public ResponseResultReceived ProcessSnapshot(Guid clientId, long jobId, byte[] result, double percentage, Exception exception) {
+    public ResponseResultReceived ProcessSnapshot(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception) {
       throw new NotImplementedException();
     }
Index: /trunk/sources/HeuristicLab.Hive.Server.Core/ClientManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Core/ClientManager.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.Core/ClientManager.cs	(revision 1449)
@@ -43,5 +43,5 @@
       clientGroups = new List<ClientGroup>();
 
-      ClientGroup cg = new ClientGroup { Id = 4, Name = "SuperGroup" };
+      ClientGroup cg = new ClientGroup { Id = Guid.NewGuid(), Name = "SuperGroup" };
       cg.Resources = new List<Resource>();
 
@@ -93,5 +93,5 @@
       Response response = new Response();
 
-      if (clientGroup.Id != 0) {
+      if (clientGroup.Id != Guid.Empty) {
         response.Success = false;
         response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_ID_MUST_NOT_BE_SET;
@@ -111,8 +111,8 @@
     /// <param name="resource"></param>
     /// <returns></returns>
-    public Response AddResourceToGroup(long clientGroupId, Resource resource) {
+    public Response AddResourceToGroup(Guid clientGroupId, Resource resource) {
       Response response = new Response();
 
-      if (resource.Id != 0) {
+      if (resource.Id != Guid.Empty) {
         response.Success = false;
         response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_ID_MUST_NOT_BE_SET;
@@ -140,5 +140,5 @@
     /// <param name="resourceId"></param>
     /// <returns></returns>
-    public Response DeleteResourceFromGroup(long clientGroupId, long resourceId) {
+    public Response DeleteResourceFromGroup(Guid clientGroupId, Guid resourceId) {
       Response response = new Response();
 
Index: /trunk/sources/HeuristicLab.Hive.Server.Core/DbTestApp.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Core/DbTestApp.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.Core/DbTestApp.cs	(revision 1449)
@@ -43,20 +43,19 @@
       ClientInfo client = new ClientInfo();
       client.Login = DateTime.Now;
-      client.ClientId = Guid.NewGuid();
       clientAdapter.Update(client);
 
       ClientInfo clientRead =
-        clientAdapter.GetById(client.ClientId);
+        clientAdapter.GetById(client.Id);
       Debug.Assert(
         clientRead != null &&
-        client.ClientId == clientRead.ClientId);
+        client.Id == clientRead.Id);
 
       client.CpuSpeedPerCore = 2000;
       clientAdapter.Update(client);
       clientRead =
-        clientAdapter.GetById(client.ClientId);
+        clientAdapter.GetById(client.Id);
       Debug.Assert(
        clientRead != null &&
-       client.ClientId == clientRead.ClientId &&
+       client.Id == clientRead.Id &&
        clientRead.CpuSpeedPerCore == 2000);
 
@@ -78,5 +77,4 @@
         new ClientInfo();
       client.Name = "Stefan";
-      client.ClientId = Guid.NewGuid();
       client.Login = DateTime.Now;
 
@@ -84,5 +82,4 @@
         new ClientInfo();
       client2.Name = "Martin";
-      client2.ClientId = Guid.NewGuid();
       client2.Login = DateTime.Now;
 
@@ -90,5 +87,4 @@
         new ClientInfo();
       client3.Name = "Heinz";
-      client3.ClientId = Guid.NewGuid();
       client3.Login = DateTime.Now;
 
@@ -146,5 +142,4 @@
 
       ClientInfo client = new ClientInfo();
-      client.ClientId = Guid.NewGuid();
       client.Login = DateTime.Now;
 
@@ -164,5 +159,4 @@
 
       ClientInfo client = new ClientInfo();
-      client.ClientId = Guid.NewGuid();
       client.Login = DateTime.Now;
 
Index: /trunk/sources/HeuristicLab.Hive.Server.Core/JobManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Core/JobManager.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.Core/JobManager.cs	(revision 1449)
@@ -121,5 +121,5 @@
           return response;
         }
-        if (job.Id != 0) {
+        if (job.Id != Guid.Empty) {
           response.Success = false;
           response.StatusMessage = ApplicationConstants.RESPONSE_JOB_ID_MUST_NOT_BE_SET;
@@ -150,5 +150,5 @@
     /// <param name="jobId"></param>
     /// <returns></returns>
-    public Response RemoveJob(long jobId) {
+    public Response RemoveJob(Guid jobId) {
       Response response = new Response();
 
@@ -166,5 +166,5 @@
     }
 
-    public ResponseObject<JobResult> GetLastJobResultOf(long jobId) {
+    public ResponseObject<JobResult> GetLastJobResultOf(Guid jobId) {
       ResponseObject<JobResult> response = new ResponseObject<JobResult>();
       response.Success = true;
Index: /trunk/sources/HeuristicLab.Hive.Server.Core/ServerConsoleFacade.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Core/ServerConsoleFacade.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Hive.Server.Core/ServerConsoleFacade.cs	(revision 1449)
@@ -72,9 +72,9 @@
     }
 
-    public Response AddResourceToGroup(long clientGroupId, Resource resource) {
+    public Response AddResourceToGroup(Guid clientGroupId, Resource resource) {
       return clientManager.AddResourceToGroup(clientGroupId, resource);
     }
 
-    public Response DeleteResourceFromGroup(long clientGroupId, long resourceId) {
+    public Response DeleteResourceFromGroup(Guid clientGroupId, Guid resourceId) {
       return clientManager.DeleteResourceFromGroup(clientGroupId, resourceId);
     }
@@ -91,9 +91,9 @@
     }
 
-    public ResponseObject<JobResult> GetLastJobResultOf(long jobId) {
+    public ResponseObject<JobResult> GetLastJobResultOf(Guid jobId) {
       return jobManager.GetLastJobResultOf(jobId);
     }
 
-    public Response RemoveJob(long jobId) {
+    public Response RemoveJob(Guid jobId) {
       return jobManager.RemoveJob(jobId);
     }
Index: /trunk/sources/HeuristicLab.Security.Contracts/BusinessObjects/PersistableObject.cs
===================================================================
--- /trunk/sources/HeuristicLab.Security.Contracts/BusinessObjects/PersistableObject.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Security.Contracts/BusinessObjects/PersistableObject.cs	(revision 1449)
@@ -24,8 +24,9 @@
 using System.Text;
 using System.Runtime.Serialization;
+using HeuristicLab.DataAccess.Interfaces;
 
 namespace HeuristicLab.Security.Contracts {
   [DataContract]
-  public class PersistableObject {
+  public class PersistableObject: IPersistableObject {
     [DataMember]
     public Guid Id { get; set; }
Index: /trunk/sources/HeuristicLab.Security.DataAccess/HeuristicLab.Security.DataAccess.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Security.DataAccess/HeuristicLab.Security.DataAccess.csproj	(revision 1448)
+++ /trunk/sources/HeuristicLab.Security.DataAccess/HeuristicLab.Security.DataAccess.csproj	(revision 1449)
@@ -72,5 +72,4 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="IDataAdapter.cs" />
     <Compile Include="IPermissionAdapter.cs" />
     <Compile Include="IPermissionOwnerAdapter.cs" />
Index: unk/sources/HeuristicLab.Security.DataAccess/IDataAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Security.DataAccess/IDataAdapter.cs	(revision 1448)
+++ 	(revision )
@@ -1,56 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using HeuristicLab.Security.Contracts;
-
-namespace HeuristicLab.Security.DataAccess {
-  public interface IDataAdapter<ObjT>
-    where ObjT: PersistableObject
-  {
-    /// <summary>
-    /// Save or update the object
-    /// </summary>
-    /// <param name="user"></param>
-    void Update(ObjT obj);
-
-    /// <summary>
-    /// Get the object with the specified ID
-    /// </summary>
-    /// <param name="userId"></param>
-    /// <returns></returns>
-    ObjT GetById(long id);
-
-    /// <summary>
-    /// Get all objects
-    /// </summary>
-    /// <returns></returns>
-    ICollection<ObjT> GetAll();
-
-    /// <summary>
-    /// Deletes the object
-    /// </summary>
-    /// <param name="user"></param>
-    bool Delete(ObjT obj);
-  }
-}
Index: /trunk/sources/HeuristicLab.Security.DataAccess/IPermissionAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Security.DataAccess/IPermissionAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Security.DataAccess/IPermissionAdapter.cs	(revision 1449)
@@ -24,4 +24,5 @@
 using System.Text;
 using HeuristicLab.Security.Contracts.BusinessObjects;
+using HeuristicLab.DataAccess.Interfaces;
 
 namespace HeuristicLab.Security.DataAccess {
Index: /trunk/sources/HeuristicLab.Security.DataAccess/IPermissionOwnerAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Security.DataAccess/IPermissionOwnerAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Security.DataAccess/IPermissionOwnerAdapter.cs	(revision 1449)
@@ -24,4 +24,5 @@
 using System.Text;
 using HeuristicLab.Security.Contracts.BusinessObjects;
+using HeuristicLab.DataAccess.Interfaces;
 
 namespace HeuristicLab.Security.DataAccess {
Index: /trunk/sources/HeuristicLab.Security.DataAccess/IUserAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Security.DataAccess/IUserAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Security.DataAccess/IUserAdapter.cs	(revision 1449)
@@ -24,4 +24,5 @@
 using System.Text;
 using HeuristicLab.Security.Contracts.BusinessObjects;
+using HeuristicLab.DataAccess.Interfaces;
 
 namespace HeuristicLab.Security.DataAccess {
Index: /trunk/sources/HeuristicLab.Security.DataAccess/IUserGroupAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Security.DataAccess/IUserGroupAdapter.cs	(revision 1448)
+++ /trunk/sources/HeuristicLab.Security.DataAccess/IUserGroupAdapter.cs	(revision 1449)
@@ -24,4 +24,5 @@
 using System.Text;
 using HeuristicLab.Security.Contracts.BusinessObjects;
+using HeuristicLab.DataAccess.Interfaces;
 
 namespace HeuristicLab.Security.DataAccess {
