Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.AdminMethods/AdminMethods.cs
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.AdminMethods/AdminMethods.cs	(revision 4592)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.AdminMethods/AdminMethods.cs	(revision 4592)
@@ -0,0 +1,114 @@
+﻿
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+using System.Text;
+
+using HeuristicLab.Services.Authentication.DataAccess;
+using HeuristicLab.Services.Authentication.DataTransfer;
+using HeuristicLab.Services.Authentication;
+using DA = HeuristicLab.Services.Authentication.DataAccess;
+using DT = HeuristicLab.Services.Authentication.DataTransfer;
+using HLSA = HeuristicLab.Services.Authentication;
+
+namespace HeuristicLab.Services.Authentication.AdminMethods {
+  class AdminMethods {
+
+    public static bool InsertClient(string name, string description, string resourceType, string processorType,
+      int numberOfProcessors, int numberOfThreads, string ipAdresse, int memorySize, string operatingSystem) {      
+      DT.Client c = new DT.Client();
+      c.ResourceID = Guid.NewGuid();
+      c.Name = name;      
+      c.Description = description;
+      //c.ResourceType = resourceType;
+      c.ProcessorType = processorType;
+      c.NumberOfProcessors = numberOfProcessors;
+      c.NumberOfThreads = numberOfThreads;
+      c.MemorySize = memorySize;      
+      c.IPAdresse = ipAdresse;
+      using (ClientManagmentDataContext cmdc = new ClientManagmentDataContext()) {
+        if (cmdc.DatabaseExists()) {
+          DA.Client clEntity = HLSA.Convert.ToEntity(c);
+          cmdc.GetTable<DA.Resource>().InsertOnSubmit(clEntity);
+          cmdc.SubmitChanges();
+          return true;
+        }
+        return false;
+      }   
+    }
+
+    public static bool InsertGroup(string name, string description, string resourceType) {
+      DT.ResourceGroup g = new DT.ResourceGroup();
+      g.ResourceID = Guid.NewGuid();
+      g.Name = name;
+      g.Description = description;
+      //g.ResourceType = resourceType;
+      using (ClientManagmentDataContext cmdc = new ClientManagmentDataContext()) {
+        if (cmdc.DatabaseExists()) {
+          DA.ResourceGroup gEntity = HLSA.Convert.ToEntity(g);
+          cmdc.GetTable<DA.Resource>().InsertOnSubmit(gEntity);
+          cmdc.SubmitChanges();
+          return true;
+        }
+        return false;
+      }
+    }
+
+    public static bool UpdateClient(string name, string description, string resourceType, string processorType,
+      int numberOfProcessors, int numberOfThreads, string ipAdresse, int memorySize, string operatingSystem) {
+      
+      DT.Client uc = new DT.Client();
+      uc.Name = name;
+      uc.Description = description;
+      //uc.ResourceType = resourceType;
+      uc.ProcessorType = processorType;
+      uc.NumberOfProcessors = numberOfProcessors;
+      uc.NumberOfThreads = numberOfThreads;
+      uc.MemorySize = memorySize;
+      uc.IPAdresse = ipAdresse;
+
+      using (ClientManagmentDataContext cmdc = new ClientManagmentDataContext()) {
+        if (cmdc.DatabaseExists()) {
+          DA.Resource entity = cmdc.GetTable<DA.Resource>().FirstOrDefault(x => x.Name == uc.Name);
+          if (entity != null) {
+            uc.ResourceID = entity.ResourceID;
+            uc.ResourceType = entity.ResourceType;
+            HLSA.Convert.ToEntity(uc, (DA.Client)entity);
+            cmdc.SubmitChanges();
+            return true;
+          }
+        }
+      }
+      return false;
+    }
+
+    public static string DeleteResource(string name) {
+      using (ClientManagmentDataContext cmdc = new ClientManagmentDataContext()) {
+        string data = "deleted nothing";
+        if (cmdc.DatabaseExists()) {
+          DA.Resource entity = cmdc.GetTable<DA.Resource>().FirstOrDefault(x => x.Name == name);
+          if (entity != null) {            
+            if (entity.ResourceType == "Client") {
+              data = "deleted: ";
+              data += (HLSA.Convert.ToDto((DA.Client)entity)).ToString();
+              cmdc.GetTable<DA.Resource>().DeleteOnSubmit(entity);
+            }
+            else if (entity.ResourceType == "ResourceGroup") {
+              data = "deleted: ";
+              data += (HLSA.Convert.ToDto((DA.ResourceGroup)entity)).ToString();
+              cmdc.GetTable<DA.Resource>().DeleteOnSubmit(entity);
+            }
+            else return data;
+            cmdc.SubmitChanges();
+          }
+        }
+        return data;
+      }
+    }
+
+
+
+  }
+}
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.AdminMethods/Program.cs
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.AdminMethods/Program.cs	(revision 4592)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.AdminMethods/Program.cs	(revision 4592)
@@ -0,0 +1,48 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Services.Authentication.DataAccess;
+using AM = HeuristicLab.Services.Authentication.AdminMethods.AdminMethods;
+
+
+namespace HeuristicLab.Services.Authentication.AdminMethods {
+  class Program {
+    static void Main(string[] args) {
+
+      //using (ClientManagmentDataContext dc = new ClientManagmentDataContext()) {
+      //  if (dc.DatabaseExists()) {
+      //    Console.WriteLine("DB exsits");
+      //    dc.DeleteDatabase();
+      //    Console.WriteLine("DB deleted");
+      //  }
+      //  Console.WriteLine("DB create");
+      //  dc.CreateDatabase();
+      //  Console.WriteLine("Finished");
+      //}
+
+      // delete
+      Console.WriteLine(AM.DeleteResource("client_3"));
+      Console.WriteLine(AM.DeleteResource("group_3"));
+      Console.WriteLine(AM.DeleteResource("client_4"));
+      Console.WriteLine(AM.DeleteResource("group_4"));
+
+      bool res;
+
+      // insert
+      res = AM.InsertClient("client_3", "desc", "Client", "pt", 4, 4, "192.168.1.2", 2000, "WinXP");
+      Console.WriteLine("client inserted: {0} ", res);
+      res = AM.InsertGroup("group_3", "desc", "ResourceGroup");
+      Console.WriteLine("group inserted: {0}", res);
+
+      //insert and update
+      res = AM.InsertClient("client_4", "desc", "Client", "pt", 4, 4, "192.168.1.2", 2000, "WinXP");
+      Console.WriteLine("client inserted: {0} ", res);
+      res = AM.InsertGroup("group_4", "desc", "ResourceGroup");
+      Console.WriteLine("group inserted: {0}", res);
+      Console.WriteLine("updated: " + AM.UpdateClient("client_4", "desc_new2", "xxxx", "ptnew", 4, 4, "192.168.1.7", 3000, "WinXP"));
+
+      Console.ReadLine();
+    }
+  }
+}
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/ClientManagment.dbml
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/ClientManagment.dbml	(revision 4583)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/ClientManagment.dbml	(revision 4592)
@@ -10,8 +10,8 @@
       <Type Name="Client" InheritanceCode="Client">
         <Column Name="ProcessorType" Type="System.String" CanBeNull="true" />
-        <Column Name="NumberOfProcessors" Type="System.String" CanBeNull="true" />
-        <Column Name="NumberOfThreads" Type="System.String" CanBeNull="true" />
+        <Column Name="NumberOfProcessors" Type="System.Int32" DbType="int" CanBeNull="true" />
+        <Column Name="NumberOfThreads" Type="System.Int32" CanBeNull="true" />
         <Column Name="IPAdresse" Type="System.String" CanBeNull="true" />
-        <Column Name="MemorySize" Type="System.String" CanBeNull="true" />
+        <Column Name="MemorySize" Type="System.Int32" CanBeNull="true" />
         <Column Name="OperatingSystem" Type="System.String" CanBeNull="true" />
       </Type>
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/ClientManagment.dbml.layout
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/ClientManagment.dbml.layout	(revision 4583)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/ClientManagment.dbml.layout	(revision 4592)
@@ -3,17 +3,17 @@
   <DataContextMoniker Name="/ClientManagmentDataContext" />
   <nestedChildShapes>
-    <classShape Id="cace4a80-c7a9-4132-9b82-c4ef3884dbc0" absoluteBounds="0.75, 3.875, 2, 1.9631982421874996">
+    <classShape Id="cace4a80-c7a9-4132-9b82-c4ef3884dbc0" absoluteBounds="0.75, 3.875, 2, 1.7535424804687496">
       <DataClassMoniker Name="/ClientManagmentDataContext/Client" />
       <nestedChildShapes>
-        <elementListCompartment Id="bce42ce5-f605-4c26-a210-ed4ea2812ca7" absoluteBounds="0.765, 4.335, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+        <elementListCompartment Id="bce42ce5-f605-4c26-a210-ed4ea2812ca7" absoluteBounds="0.765, 4.335, 1.9700000000000002, 1.19354248046875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
       </nestedChildShapes>
     </classShape>
-    <classShape Id="ea129a98-d63f-4c3a-a3e8-dff64ad53c30" absoluteBounds="2.125, 1.25, 2, 1.5785953776041666">
+    <classShape Id="ea129a98-d63f-4c3a-a3e8-dff64ad53c30" absoluteBounds="2.125, 1.25, 2, 1.424847819010417">
       <DataClassMoniker Name="/ClientManagmentDataContext/Resource" />
       <nestedChildShapes>
-        <elementListCompartment Id="3a656a72-fe83-45a4-87c2-c0aa13fa068f" absoluteBounds="2.14, 1.71, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+        <elementListCompartment Id="3a656a72-fe83-45a4-87c2-c0aa13fa068f" absoluteBounds="2.14, 1.71, 1.9700000000000002, 0.86484781901041663" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
       </nestedChildShapes>
     </classShape>
-    <inheritanceConnector edgePoints="[(3.125 : 2.82859537760417); (3.125 : 3.5); (1.75 : 3.5); (1.75 : 3.875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
+    <inheritanceConnector edgePoints="[(2.86155808614238 : 2.67484781901042); (2.86155808614238 : 3.5); (1.75 : 3.5); (1.75 : 3.875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
       <nodes>
         <classShapeMoniker Id="ea129a98-d63f-4c3a-a3e8-dff64ad53c30" />
@@ -21,11 +21,11 @@
       </nodes>
     </inheritanceConnector>
-    <classShape Id="7820d3d1-da69-4786-9415-4fa77e5fc03a" absoluteBounds="3.625, 3.875, 2, 0.80938964843749961">
+    <classShape Id="7820d3d1-da69-4786-9415-4fa77e5fc03a" absoluteBounds="3.625, 3.875, 2, 0.76745849609374961">
       <DataClassMoniker Name="/ClientManagmentDataContext/ResourceGroup" />
       <nestedChildShapes>
-        <elementListCompartment Id="125f9904-768c-4c01-9a04-5212a9e6e484" absoluteBounds="3.64, 4.335, 1.9700000000000002, 0.2493896484375" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+        <elementListCompartment Id="125f9904-768c-4c01-9a04-5212a9e6e484" absoluteBounds="3.64, 4.335, 1.9700000000000002, 0.20745849609375" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
       </nestedChildShapes>
     </classShape>
-    <inheritanceConnector edgePoints="[(3.125 : 2.82859537760417); (3.125 : 3.5); (4.625 : 3.5); (4.625 : 3.875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
+    <inheritanceConnector edgePoints="[(3.14639176514791 : 2.67484781901042); (3.14639176514791 : 3.5); (4.625 : 3.5); (4.625 : 3.875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
       <nodes>
         <classShapeMoniker Id="ea129a98-d63f-4c3a-a3e8-dff64ad53c30" />
@@ -33,8 +33,8 @@
       </nodes>
     </inheritanceConnector>
-    <classShape Id="9b206f4e-128f-4c3f-bd08-7f2d271ebb2b" absoluteBounds="5.125, 1.25, 2, 1.1939925130208331">
+    <classShape Id="9b206f4e-128f-4c3f-bd08-7f2d271ebb2b" absoluteBounds="5.125, 1.25, 2, 1.0961531575520831">
       <DataClassMoniker Name="/ClientManagmentDataContext/ResourceResourceGroup" />
       <nestedChildShapes>
-        <elementListCompartment Id="9d879183-e5e2-42e9-9fbf-3e68f959d459" absoluteBounds="5.14, 1.71, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+        <elementListCompartment Id="9d879183-e5e2-42e9-9fbf-3e68f959d459" absoluteBounds="5.14, 1.71, 1.9700000000000002, 0.53615315755208326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
       </nestedChildShapes>
     </classShape>
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/ClientManagment.designer.cs
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/ClientManagment.designer.cs	(revision 4583)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/ClientManagment.designer.cs	(revision 4592)
@@ -37,5 +37,12 @@
     partial void DeleteResourceResourceGroup(ResourceResourceGroup instance);
     #endregion
-		
+
+
+    public ClientManagmentDataContext()	:
+				base(@"Data Source=nb-1\sqlexpress;Initial Catalog=HeuristicLab.ClientManagment;Integrated Security=SSPI;", mappingSource)
+		{
+			OnCreated();
+		}
+
 		public ClientManagmentDataContext(string connection) : 
 				base(connection, mappingSource)
@@ -277,11 +284,11 @@
 		private string _ProcessorType;
 		
-		private string _NumberOfProcessors;
-		
-		private string _NumberOfThreads;
+		private System.Nullable<int> _NumberOfProcessors;
+		
+		private System.Nullable<int> _NumberOfThreads;
 		
 		private string _IPAdresse;
 		
-		private string _MemorySize;
+		private System.Nullable<int> _MemorySize;
 		
 		private string _OperatingSystem;
@@ -293,11 +300,11 @@
     partial void OnProcessorTypeChanging(string value);
     partial void OnProcessorTypeChanged();
-    partial void OnNumberOfProcessorsChanging(string value);
+    partial void OnNumberOfProcessorsChanging(System.Nullable<int> value);
     partial void OnNumberOfProcessorsChanged();
-    partial void OnNumberOfThreadsChanging(string value);
+    partial void OnNumberOfThreadsChanging(System.Nullable<int> value);
     partial void OnNumberOfThreadsChanged();
     partial void OnIPAdresseChanging(string value);
     partial void OnIPAdresseChanged();
-    partial void OnMemorySizeChanging(string value);
+    partial void OnMemorySizeChanging(System.Nullable<int> value);
     partial void OnMemorySizeChanged();
     partial void OnOperatingSystemChanging(string value);
@@ -330,6 +337,6 @@
 		}
 		
-		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumberOfProcessors")]
-		public string NumberOfProcessors
+		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumberOfProcessors", DbType="int")]
+		public System.Nullable<int> NumberOfProcessors
 		{
 			get
@@ -351,5 +358,5 @@
 		
 		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumberOfThreads")]
-		public string NumberOfThreads
+		public System.Nullable<int> NumberOfThreads
 		{
 			get
@@ -391,5 +398,5 @@
 		
 		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MemorySize")]
-		public string MemorySize
+		public System.Nullable<int> MemorySize
 		{
 			get
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/HeuristicLab.Services.Authentication.DataAccess.csproj
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/HeuristicLab.Services.Authentication.DataAccess.csproj	(revision 4583)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataAccess/HeuristicLab.Services.Authentication.DataAccess.csproj	(revision 4592)
@@ -48,10 +48,20 @@
     </Compile>
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+      <DependentUpon>Settings.settings</DependentUpon>
+    </Compile>
   </ItemGroup>
   <ItemGroup>
+    <None Include="app.config" />
     <None Include="ClientManagment.dbml">
       <Generator>MSLinqToSQLGenerator</Generator>
       <LastGenOutput>ClientManagment.designer.cs</LastGenOutput>
       <SubType>Designer</SubType>
+    </None>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
     </None>
   </ItemGroup>
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/Client.cs
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/Client.cs	(revision 4592)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/Client.cs	(revision 4592)
@@ -0,0 +1,21 @@
+﻿
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.Authentication.DataTransfer {
+
+  public class Client : HeuristicLab.Services.Authentication.DataTransfer.Resource {
+
+    public string ProcessorType { get; set; }
+
+    public int NumberOfProcessors { get; set; }
+
+    public int NumberOfThreads { get; set; }
+
+    public string IPAdresse { get; set; }
+
+    public int MemorySize { get; set; }
+
+    public string OperatingSystem { get; set; }
+
+  }
+}
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/HeuristicLab.Services.Authentication.DataTransfer.csproj
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/HeuristicLab.Services.Authentication.DataTransfer.csproj	(revision 4583)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/HeuristicLab.Services.Authentication.DataTransfer.csproj	(revision 4592)
@@ -34,4 +34,5 @@
     <Reference Include="System" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Data.Linq" />
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
@@ -41,6 +42,14 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="Class1.cs" />
+    <Compile Include="Client.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Resource.cs" />
+    <Compile Include="ResourceGroup.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\HeuristicLab.Services.Authentication.DataAccess\HeuristicLab.Services.Authentication.DataAccess.csproj">
+      <Project>{AC7C2117-034E-4301-8A43-C869930D404E}</Project>
+      <Name>HeuristicLab.Services.Authentication.DataAccess</Name>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/Resource.cs
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/Resource.cs	(revision 4592)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/Resource.cs	(revision 4592)
@@ -0,0 +1,21 @@
+﻿// Resource.cs
+
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.Authentication.DataTransfer {
+  public abstract class Resource {
+
+    public System.Guid ResourceID { get; set; }
+    
+    public string Name { get; set; }
+    
+    public string Description { get; set; }
+
+    public string ResourceType { get; set; }
+
+    public override string ToString() {
+      return (this.Name + "; Id= " + this.ResourceID + "; " + this.ResourceType);
+    }
+  }
+}
+
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/ResourceGroup.cs
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/ResourceGroup.cs	(revision 4592)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.DataTransfer/ResourceGroup.cs	(revision 4592)
@@ -0,0 +1,9 @@
+﻿
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.Authentication.DataTransfer {
+  public class ResourceGroup : Resource {
+  }
+}
+
+
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.sln
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.sln	(revision 4583)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.sln	(revision 4592)
@@ -9,4 +9,6 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{D83C93B5-5DDE-4A66-A9B8-D7FD0A891ABB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Services.Authentication.AdminMethods", "HeuristicLab.Services.Authentication.AdminMethods\HeuristicLab.Services.Authentication.AdminMethods.csproj", "{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}"
 EndProject
 Global
@@ -60,4 +62,14 @@
 		{D83C93B5-5DDE-4A66-A9B8-D7FD0A891ABB}.Release|x86.ActiveCfg = Release|x86
 		{D83C93B5-5DDE-4A66-A9B8-D7FD0A891ABB}.Release|x86.Build.0 = Release|x86
+		{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}.Debug|Any CPU.ActiveCfg = Debug|x86
+		{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+		{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}.Debug|Mixed Platforms.Build.0 = Debug|x86
+		{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}.Debug|x86.ActiveCfg = Debug|x86
+		{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}.Debug|x86.Build.0 = Debug|x86
+		{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}.Release|Any CPU.ActiveCfg = Release|x86
+		{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}.Release|Mixed Platforms.ActiveCfg = Release|x86
+		{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}.Release|Mixed Platforms.Build.0 = Release|x86
+		{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}.Release|x86.ActiveCfg = Release|x86
+		{2DC20235-6A91-4ABC-8E3E-660B43EAD23B}.Release|x86.Build.0 = Release|x86
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication/Convert.cs
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication/Convert.cs	(revision 4592)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication/Convert.cs	(revision 4592)
@@ -0,0 +1,110 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2010 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.Data.Linq;
+using DA = HeuristicLab.Services.Authentication.DataAccess;
+using DT = HeuristicLab.Services.Authentication.DataTransfer;
+
+namespace HeuristicLab.Services.Authentication {
+  public static class Convert {
+
+    #region Client
+    public static DT.Client ToDto(DA.Client source) {
+      if (source == null) return null;
+      return new DT.Client { 
+        ResourceID = source.ResourceID, 
+        Name = source.Name, 
+        Description = source.Description,
+        ResourceType = source.ResourceType,
+        ProcessorType = source.ProcessorType,
+        NumberOfProcessors = (int)source.NumberOfProcessors,
+        NumberOfThreads = (int)source.NumberOfThreads,
+        IPAdresse = source.IPAdresse,
+        MemorySize = (int)source.MemorySize,
+        OperatingSystem = source.OperatingSystem
+      };
+    }
+
+    public static DA.Client ToEntity(DT.Client source) {
+      if (source == null) return null;
+      return new DA.Client { 
+        ResourceID = source.ResourceID, 
+        Name = source.Name, 
+        Description = source.Description,
+        ResourceType = source.ResourceType,
+        ProcessorType = source.ProcessorType,
+        NumberOfProcessors = source.NumberOfProcessors,
+        NumberOfThreads = source.NumberOfThreads,
+        IPAdresse = source.IPAdresse,
+        MemorySize = source.MemorySize,
+        OperatingSystem = source.OperatingSystem
+      };
+    }
+
+    public static void ToEntity(DT.Client source, DA.Client target) {
+      if ((source != null) && (target != null)) {
+        target.ResourceID = source.ResourceID; 
+        target.Name = source.Name;
+        target.Description = source.Description;
+        target.ResourceType = source.ResourceType;
+        target.ProcessorType = source.ProcessorType;
+        target.NumberOfProcessors = source.NumberOfProcessors;
+        target.NumberOfThreads = source.NumberOfThreads;
+        target.IPAdresse = source.IPAdresse;
+        target.MemorySize = source.MemorySize;
+        target.OperatingSystem = source.OperatingSystem;
+      }
+    }
+    #endregion // Client
+
+
+    #region ResourceGroup
+    public static DT.ResourceGroup ToDto(DA.ResourceGroup source) {
+      if (source == null) return null;
+      return new DT.ResourceGroup {
+        ResourceID = source.ResourceID,
+        Name = source.Name,
+        Description = source.Description,
+        ResourceType = source.ResourceType,
+      };
+    }
+
+    public static DA.ResourceGroup ToEntity(DT.ResourceGroup source) {
+      if (source == null) return null;
+      return new DA.ResourceGroup {
+        ResourceID = source.ResourceID,
+        Name = source.Name,
+        Description = source.Description,
+        ResourceType = source.ResourceType,
+      };
+    }
+
+    public static void ToEntity(DT.ResourceGroup source, DA.ResourceGroup target) {
+      if ((source != null) && (target != null)) {
+        target.ResourceID = source.ResourceID;
+        target.Name = source.Name;
+        target.Description = source.Description;
+        target.ResourceType = source.ResourceType;
+      }
+    }
+    #endregion // ResourceGroup
+  }
+}
Index: branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.csproj
===================================================================
--- branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.csproj	(revision 4583)
+++ branches/ClientManagement/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication/HeuristicLab.Services.Authentication.csproj	(revision 4592)
@@ -34,4 +34,5 @@
   <ItemGroup>
     <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data.Linq" />
     <Reference Include="System.Web.DynamicData" />
     <Reference Include="System.Web.Entity" />
@@ -63,4 +64,5 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Convert.cs" />
     <Compile Include="Service1.svc.cs">
       <DependentUpon>Service1.svc</DependentUpon>
@@ -72,4 +74,14 @@
     <Folder Include="App_Data\" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\HeuristicLab.Services.Authentication.DataAccess\HeuristicLab.Services.Authentication.DataAccess.csproj">
+      <Project>{AC7C2117-034E-4301-8A43-C869930D404E}</Project>
+      <Name>HeuristicLab.Services.Authentication.DataAccess</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\HeuristicLab.Services.Authentication.DataTransfer\HeuristicLab.Services.Authentication.DataTransfer.csproj">
+      <Project>{73E5113E-A293-4384-8B16-3CE38F2CFDC9}</Project>
+      <Name>HeuristicLab.Services.Authentication.DataTransfer</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
@@ -80,5 +92,5 @@
           <UseIIS>False</UseIIS>
           <AutoAssignPort>True</AutoAssignPort>
-          <DevelopmentServerPort>5248</DevelopmentServerPort>
+          <DevelopmentServerPort>49170</DevelopmentServerPort>
           <DevelopmentServerVPath>/</DevelopmentServerVPath>
           <IISUrl>
