Free cookie consent management tool by TermsFeed Policy Generator

Changeset 6825


Ignore:
Timestamp:
09/23/11 20:13:55 (13 years ago)
Author:
ascheibe
Message:

#1648 updated the database scheme and dto's

Location:
branches/ClientUserManagement
Files:
7 added
17 edited

Legend:

Unmodified
Added
Removed
  • branches/ClientUserManagement

    • Property svn:ignore
      •  

        old new  
        11*.suo
         2*.testsettings
         3HeuristicLab.Services.Access.vsmdi
  • branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/HeuristicLab.Clients.Access-3.3.csproj

    r6821 r6825  
    5353  </ItemGroup>
    5454  <ItemGroup>
    55     <None Include="app.config" />
     55    <None Include="app.config">
     56      <SubType>Designer</SubType>
     57    </None>
    5658    <None Include="HeuristicLab.snk" />
    5759    <None Include="Properties\AssemblyInfo.frame" />
  • branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.dbml

    r6820 r6825  
    33  <Table Name="dbo.Resource" Member="Resources">
    44    <Type Name="Resource" InheritanceCode="Resource">
    5       <Column Name="Id" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     5      <Column Name="Id" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
    66      <Column Name="Name" Type="System.String" DbType="NVarChar(MAX) NOT NULL" CanBeNull="false" />
    7       <Column Name="Description" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
     7      <Column Name="Description" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="false" />
    88      <Column Name="Type" Type="System.String" DbType="NVarChar(MAX) NOT NULL" CanBeNull="false" IsDiscriminator="true" />
    9       <Association Name="Resource_ResourceResourceGroup" Member="ResourceResourceGroups" ThisKey="Id" OtherKey="ResourceGroupId" Type="ResourceResourceGroup" />
    10       <Association Name="Resource_ResourceResourceGroup1" Member="ResourceResourceGroups1" ThisKey="Id" OtherKey="ResourceId" Type="ResourceResourceGroup" />
     9      <Association Name="Resource_ResourceResourceGroup" Member="ResourceResourceGroupsChilds" Storage="_ResourceResourceGroups" ThisKey="Id" OtherKey="ResourceGroupId" Type="ResourceResourceGroup" />
     10      <Association Name="Resource_ResourceResourceGroup1" Member="ResourceResourceGroupsParents" Storage="_ResourceResourceGroups1" ThisKey="Id" OtherKey="ResourceId" Type="ResourceResourceGroup" />
    1111      <Association Name="Resource_ClientLog" Member="ClientLogs" ThisKey="Id" OtherKey="ResourceId" Type="ClientLog" />
    12       <Type Name="Client" InheritanceCode="Client">
     12      <Association Name="Resource_ClientError" Member="ClientErrors" ThisKey="Id" OtherKey="ClientId" Type="ClientError" />
     13      <Association Name="Resource_ResourcePlugin" Member="ResourcePlugins" ThisKey="Id" OtherKey="ResourceId" Type="ResourcePlugin" />
     14      <Type Name="Client" InheritanceCode="Client" IsInheritanceDefault="true">
     15        <Column Name="ClientConfiguration" Member="ClientConfigurationId" Storage="_ClientConfiguration" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="false" />
     16        <Column Name="ClientType" Member="ClientTypeId" Storage="_ClientType" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="false" />
     17        <Column Name="HeuristicLabVersion" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="false" />
     18        <Column Name="Country" Member="CountryId" Storage="_Country" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="false" />
     19        <Column Name="OperatingSystem" Member="OperatingSystemId" Storage="_OperatingSystem" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="false" />
     20        <Column Name="MemorySize" Type="System.Int32" DbType="Int" CanBeNull="true" />
     21        <Column Name="Timestamp" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
     22        <Column Name="NumberOfCores" Type="System.Int32" DbType="Int" CanBeNull="true" />
    1323        <Column Name="ProcessorType" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
    14         <Column Name="NumberOfCores" Type="System.Int32" DbType="int" CanBeNull="true" />
    15         <Column Name="MemorySize" Type="System.Int32" DbType="int" CanBeNull="true" />
    16         <Column Name="OperatingSystem" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
    17         <Column Name="IPAddress" Storage="_IPAdresss" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
    18         <Column Name="HeuristicLabVersion" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
    19         <Column Name="Country" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
    20         <Column Name="ClientType" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
     24        <Association Name="Client_ClientType" Member="ClientType" Storage="_ClientTypes" ThisKey="ClientTypeId" OtherKey="Id" Type="ClientType" Cardinality="One" />
     25        <Association Name="Client_OperatingSystem" Member="OperatingSystem" Storage="_OperatingSystems" ThisKey="OperatingSystemId" OtherKey="Id" Type="OperatingSystem" Cardinality="One" />
     26        <Association Name="Client_Country" Member="Country" Storage="_Countries" ThisKey="CountryId" OtherKey="Id" Type="Country" Cardinality="One" />
     27        <Association Name="Client_ClientConfiguration" Member="ClientConfiguration" ThisKey="ClientConfigurationId" OtherKey="Id" Type="ClientConfiguration" Cardinality="One" />
    2128      </Type>
    22       <Type Name="Group" InheritanceCode="Group" />
     29      <Type Name="ClientGroup" InheritanceCode="ClientGroup" />
    2330    </Type>
    2431  </Table>
     
    2734      <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    2835      <Column Name="ResourceGroupId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    29       <Association Name="Resource_ResourceResourceGroup" Member="Resource" ThisKey="ResourceGroupId" OtherKey="Id" Type="Resource" IsForeignKey="true" />
    30       <Association Name="Resource_ResourceResourceGroup1" Member="Resource1" ThisKey="ResourceId" OtherKey="Id" Type="Resource" IsForeignKey="true" />
     36      <Association Name="Resource_ResourceResourceGroup" Member="ParentResource" Storage="_Resource" ThisKey="ResourceGroupId" OtherKey="Id" Type="Resource" IsForeignKey="true" />
     37      <Association Name="Resource_ResourceResourceGroup1" Member="Resource" Storage="_Resource1" ThisKey="ResourceId" OtherKey="Id" Type="Resource" IsForeignKey="true" />
    3138    </Type>
    3239  </Table>
     
    3643      <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    3744      <Column Name="Message" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
    38       <Column Name="Exception" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
    3945      <Association Name="Resource_ClientLog" Member="Resource" ThisKey="ResourceId" OtherKey="Id" Type="Resource" IsForeignKey="true" />
    4046    </Type>
    4147  </Table>
    42   <Table Name="dbo.[User]" Member="Users">
    43     <Type Name="User">
    44       <Column Name="Id" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    45       <Column Name="FullName" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
    46       <Association Name="User_UserUserGroup" Member="UserUserGroups" ThisKey="Id" OtherKey="UserId" Type="UserUserGroup" />
     48  <Table Name="dbo.ClientError" Member="ClientErrors">
     49    <Type Name="ClientError">
     50      <Column Name="Id" AutoSync="Never" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     51      <Column Name="Timestamp" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
     52      <Column Name="Exception" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
     53      <Column Name="UserComment" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
     54      <Column Name="ConfigDump" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
     55      <Column Name="ClientId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
     56      <Column Name="UserId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
     57      <Association Name="Resource_ClientError" Member="Resource" ThisKey="ClientId" OtherKey="Id" Type="Resource" IsForeignKey="true" />
     58      <Association Name="UserGroupBase_ClientError" Member="UserGroupBase" ThisKey="UserId" OtherKey="Id" Type="UserGroupBase" IsForeignKey="true" />
    4759    </Type>
    4860  </Table>
    49   <Table Name="dbo.UserGroup" Member="UserGroups">
    50     <Type Name="UserGroup">
    51       <Column Name="Id" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    52       <Column Name="Name" Type="System.String" DbType="NVarChar(MAX) NOT NULL" CanBeNull="false" />
    53       <Column Name="ParentUserGroup" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    54       <Association Name="UserGroup_UserUserGroup" Member="UserUserGroups" ThisKey="Id" OtherKey="UserGroupId" Type="UserUserGroup" />
     61  <Table Name="dbo.UserGroup" Member="UserGroupBases">
     62    <Type Name="UserGroupBase" InheritanceCode="UserGroupBase">
     63      <Column Name="Id" AutoSync="Never" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     64      <Column Name="Type" Type="System.String" DbType="NVarChar(10) NOT NULL" CanBeNull="false" IsDiscriminator="true" />
     65      <Association Name="UserGroupBase_ClientError" Member="ClientErrors" ThisKey="Id" OtherKey="UserId" Type="ClientError" />
     66      <Association Name="UserGroupBase_UserGroupUserGroup" Member="UserGroupUserGroupsChilds" Storage="_UserGroupUserGroups" ThisKey="Id" OtherKey="UserGroupId" Type="UserGroupUserGroup" />
     67      <Association Name="UserGroupBase_UserGroupUserGroup1" Member="UserGroupUserGroupsParents" Storage="_UserGroupUserGroups1" ThisKey="Id" OtherKey="UserGroupUserGroupId" Type="UserGroupUserGroup" />
     68      <Type Name="User" InheritanceCode="User">
     69        <Column Name="FullName" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
     70      </Type>
     71      <Type Name="UserGroup" InheritanceCode="UserGroup">
     72        <Column Name="Name" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
     73      </Type>
    5574    </Type>
    5675  </Table>
    57   <Table Name="dbo.UserUserGroup" Member="UserUserGroups">
    58     <Type Name="UserUserGroup">
    59       <Column Name="UserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     76  <Table Name="dbo.ClientType" Member="ClientTypes">
     77    <Type Name="ClientType">
     78      <Column Name="Id" AutoSync="Never" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     79      <Column Name="Name" Type="System.String" DbType="NVarChar(MAX) NOT NULL" CanBeNull="false" />
     80      <Association Name="Client_ClientType" Member="Client" ThisKey="Id" OtherKey="ClientTypeId" Type="Client" IsForeignKey="true" />
     81    </Type>
     82  </Table>
     83  <Table Name="dbo.OperatingSystem" Member="OperatingSystems">
     84    <Type Name="OperatingSystem">
     85      <Column Name="Id" AutoSync="Never" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     86      <Column Name="Name" Type="System.String" DbType="NVarChar(MAX) NOT NULL" CanBeNull="false" />
     87      <Association Name="Client_OperatingSystem" Member="Client" ThisKey="Id" OtherKey="OperatingSystemId" Type="Client" IsForeignKey="true" />
     88    </Type>
     89  </Table>
     90  <Table Name="dbo.Country" Member="Countries">
     91    <Type Name="Country">
     92      <Column Name="Id" AutoSync="Never" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     93      <Column Name="Name" Type="System.String" DbType="NVarChar(MAX) NOT NULL" CanBeNull="false" />
     94      <Association Name="Client_Country" Member="Client" ThisKey="Id" OtherKey="CountryId" Type="Client" IsForeignKey="true" />
     95    </Type>
     96  </Table>
     97  <Table Name="dbo.ClientConfiguration" Member="ClientConfigurations">
     98    <Type Name="ClientConfiguration">
     99      <Column Name="Id" AutoSync="Never" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     100      <Column Name="Hash" Type="System.String" DbType="NVarChar(MAX) NOT NULL" CanBeNull="false" />
     101      <Column Name="Description" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
     102      <Association Name="Client_ClientConfiguration" Member="Client" ThisKey="Id" OtherKey="ClientConfigurationId" Type="Client" IsForeignKey="true" />
     103    </Type>
     104  </Table>
     105  <Table Name="dbo.Plugin" Member="Plugins">
     106    <Type Name="Plugin">
     107      <Column Name="Id" AutoSync="Never" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     108      <Column Name="Name" Type="System.String" DbType="NVarChar(MAX) NOT NULL" CanBeNull="false" />
     109      <Column Name="StrongName" Type="System.String" DbType="NVarChar(MAX)" CanBeNull="true" />
     110      <Column Name="Version" Type="System.String" DbType="NVarChar(20) NOT NULL" CanBeNull="false" />
     111      <Association Name="Plugin_ResourcePlugin" Member="ResourcePlugins" ThisKey="Id" OtherKey="PluginId" Type="ResourcePlugin" />
     112    </Type>
     113  </Table>
     114  <Table Name="dbo.ResourcePlugin" Member="ResourcePlugins">
     115    <Type Name="ResourcePlugin">
     116      <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     117      <Column Name="PluginId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     118      <Association Name="Plugin_ResourcePlugin" Member="Plugin" ThisKey="PluginId" OtherKey="Id" Type="Plugin" IsForeignKey="true" />
     119      <Association Name="Resource_ResourcePlugin" Member="Resource" ThisKey="ResourceId" OtherKey="Id" Type="Resource" IsForeignKey="true" />
     120    </Type>
     121  </Table>
     122  <Table Name="dbo.UserGroupUserGroup" Member="UserGroupUserGroups">
     123    <Type Name="UserGroupUserGroup">
    60124      <Column Name="UserGroupId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    61       <Association Name="User_UserUserGroup" Member="User" ThisKey="UserId" OtherKey="Id" Type="User" IsForeignKey="true" />
    62       <Association Name="UserGroup_UserUserGroup" Member="UserGroup" ThisKey="UserGroupId" OtherKey="Id" Type="UserGroup" IsForeignKey="true" />
     125      <Column Name="UserGroupUserGroupId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     126      <Association Name="UserGroupBase_UserGroupUserGroup" Member="UserGroup" ThisKey="UserGroupId" OtherKey="Id" Type="UserGroupBase" IsForeignKey="true" />
     127      <Association Name="UserGroupBase_UserGroupUserGroup1" Member="UserGroupBase" ThisKey="UserGroupUserGroupId" OtherKey="Id" Type="UserGroupBase" IsForeignKey="true" />
    63128    </Type>
    64129  </Table>
  • branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.dbml.layout

    r6820 r6825  
    11<?xml version="1.0" encoding="utf-8"?>
    2 <ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 11, 8.5" name="ClientManagement">
     2<ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 13, 8.5" name="ClientManagement">
    33  <DataContextMoniker Name="/ClientManagementDataContext" />
    44  <nestedChildShapes>
    5     <classShape Id="2f689cd2-d0f0-4be8-9fb8-0dce6303f3ac" absoluteBounds="4.375, 0.5, 2, 1.5785953776041666">
     5    <classShape Id="20c6e07e-aa12-43dc-87d6-dae5bf173da4" absoluteBounds="4.625, 0.5, 2, 1.5785953776041666">
    66      <DataClassMoniker Name="/ClientManagementDataContext/Resource" />
    77      <nestedChildShapes>
    8         <elementListCompartment Id="95418045-5d3f-40e2-8e91-826349b9b0d5" absoluteBounds="4.3900000000000006, 0.96, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    9       </nestedChildShapes>
    10     </classShape>
    11     <classShape Id="9ae9b199-cfb6-4c70-a8d9-3eb72896d957" absoluteBounds="7.125, 0.5, 2, 1.1939925130208335">
     8        <elementListCompartment Id="f2c7fc66-3f50-4f7e-8f46-8f4bfeea7af2" absoluteBounds="4.64, 0.96, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     9      </nestedChildShapes>
     10    </classShape>
     11    <classShape Id="6355c88b-386a-4bd7-8aa0-144305c33372" absoluteBounds="7.75, 0.5, 2, 1.1939925130208333">
    1212      <DataClassMoniker Name="/ClientManagementDataContext/ResourceResourceGroup" />
    1313      <nestedChildShapes>
    14         <elementListCompartment Id="41c753c1-33ca-4ab4-9798-aac28efb805f" absoluteBounds="7.1400000000000006, 0.96, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    15       </nestedChildShapes>
    16     </classShape>
    17     <associationConnector edgePoints="[(6.375 : 1.09699625651042); (7.125 : 1.09699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     14        <elementListCompartment Id="d88684ee-600b-4867-9de2-dfbfba71f34b" absoluteBounds="7.7650000000000006, 0.96, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     15      </nestedChildShapes>
     16    </classShape>
     17    <associationConnector edgePoints="[(6.625 : 1.09699625651042); (7.75 : 1.09699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    1818      <AssociationMoniker Name="/ClientManagementDataContext/Resource/Resource_ResourceResourceGroup" />
    1919      <nodes>
    20         <classShapeMoniker Id="2f689cd2-d0f0-4be8-9fb8-0dce6303f3ac" />
    21         <classShapeMoniker Id="9ae9b199-cfb6-4c70-a8d9-3eb72896d957" />
    22       </nodes>
    23     </associationConnector>
    24     <associationConnector edgePoints="[(6.375 : 0.735998128255208); (7.125 : 0.735998128255208)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     20        <classShapeMoniker Id="20c6e07e-aa12-43dc-87d6-dae5bf173da4" />
     21        <classShapeMoniker Id="6355c88b-386a-4bd7-8aa0-144305c33372" />
     22      </nodes>
     23    </associationConnector>
     24    <associationConnector edgePoints="[(6.625 : 0.735998128255208); (7.75 : 0.735998128255208)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    2525      <AssociationMoniker Name="/ClientManagementDataContext/Resource/Resource_ResourceResourceGroup1" />
    2626      <nodes>
    27         <classShapeMoniker Id="2f689cd2-d0f0-4be8-9fb8-0dce6303f3ac" />
    28         <classShapeMoniker Id="9ae9b199-cfb6-4c70-a8d9-3eb72896d957" />
    29       </nodes>
    30     </associationConnector>
    31     <classShape Id="643168ec-6e6c-43aa-a71d-50420e26ba6b" absoluteBounds="6, 2.875, 2, 0.8093896484375">
    32       <DataClassMoniker Name="/ClientManagementDataContext/Group" />
    33       <nestedChildShapes>
    34         <elementListCompartment Id="c9942a3e-7f75-4d39-8b07-aa73193a1426" absoluteBounds="6, 2.875, 0.125, 0.2493896484375" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    35       </nestedChildShapes>
    36     </classShape>
    37     <classShape Id="93bcfe43-938e-49f8-90db-b5056196257b" absoluteBounds="2.875, 2.875, 2, 2.3478011067708326">
     27        <classShapeMoniker Id="20c6e07e-aa12-43dc-87d6-dae5bf173da4" />
     28        <classShapeMoniker Id="6355c88b-386a-4bd7-8aa0-144305c33372" />
     29      </nodes>
     30    </associationConnector>
     31    <classShape Id="c964402f-99b7-4355-b9ad-279a2a7cf692" absoluteBounds="3.75, 2.5, 2, 2.5401025390624996">
    3832      <DataClassMoniker Name="/ClientManagementDataContext/Client" />
    3933      <nestedChildShapes>
    40         <elementListCompartment Id="f89c2c39-17cc-4b0e-b5e0-245107753b38" absoluteBounds="2.89, 3.335, 1.9700000000000002, 1.7878011067708333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    41       </nestedChildShapes>
    42     </classShape>
    43     <inheritanceConnector edgePoints="[(5.375 : 2.07859537760417); (5.375 : 2.5); (3.875 : 2.5); (3.875 : 2.875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
    44       <nodes>
    45         <classShapeMoniker Id="2f689cd2-d0f0-4be8-9fb8-0dce6303f3ac" />
    46         <classShapeMoniker Id="93bcfe43-938e-49f8-90db-b5056196257b" />
    47       </nodes>
    48     </inheritanceConnector>
    49     <inheritanceConnector edgePoints="[(5.375 : 2.07859537760417); (5.375 : 2.5); (7 : 2.5); (7 : 2.875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
    50       <nodes>
    51         <classShapeMoniker Id="2f689cd2-d0f0-4be8-9fb8-0dce6303f3ac" />
    52         <classShapeMoniker Id="643168ec-6e6c-43aa-a71d-50420e26ba6b" />
    53       </nodes>
    54     </inheritanceConnector>
    55     <classShape Id="256b57f3-6f9a-420b-9a23-fa5fcc0119a5" absoluteBounds="1.375, 0.5, 2, 1.5785953776041666">
     34        <elementListCompartment Id="8d16a96c-4ba3-4e2b-b267-0cfe5bb174f1" absoluteBounds="3.7650000000000006, 2.96, 1.9700000000000002, 1.9801025390625" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     35      </nestedChildShapes>
     36    </classShape>
     37    <classShape Id="1e545126-1016-4d14-ad12-0bfdb7ec53b7" absoluteBounds="6, 2.5, 2, 0.8093896484375">
     38      <DataClassMoniker Name="/ClientManagementDataContext/ClientGroup" />
     39      <nestedChildShapes>
     40        <elementListCompartment Id="d7b60f1c-6c2e-4c1e-a3a1-4b5802d227bb" absoluteBounds="6, 2.5, 0.125, 0.2493896484375" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     41      </nestedChildShapes>
     42    </classShape>
     43    <inheritanceConnector edgePoints="[(5.625 : 2.07859537760417); (5.625 : 2.26); (4.75 : 2.26); (4.75 : 2.5)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     44      <nodes>
     45        <classShapeMoniker Id="20c6e07e-aa12-43dc-87d6-dae5bf173da4" />
     46        <classShapeMoniker Id="c964402f-99b7-4355-b9ad-279a2a7cf692" />
     47      </nodes>
     48    </inheritanceConnector>
     49    <inheritanceConnector edgePoints="[(5.625 : 2.07859537760417); (5.625 : 2.26); (5.79166666666667 : 2.26 : JumpStart); (5.98958333333333 : 2.26 : JumpEnd); (7 : 2.26); (7 : 2.5)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     50      <nodes>
     51        <classShapeMoniker Id="20c6e07e-aa12-43dc-87d6-dae5bf173da4" />
     52        <classShapeMoniker Id="1e545126-1016-4d14-ad12-0bfdb7ec53b7" />
     53      </nodes>
     54    </inheritanceConnector>
     55    <classShape Id="0cc124dd-2ee8-42b6-b176-cd3b22d9eabd" absoluteBounds="8.125, 2, 2, 1.3862939453125">
    5656      <DataClassMoniker Name="/ClientManagementDataContext/ClientLog" />
    5757      <nestedChildShapes>
    58         <elementListCompartment Id="1a91e2f0-9306-473c-afcb-453ff4f01350" absoluteBounds="1.3900000000000006, 0.96, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    59       </nestedChildShapes>
    60     </classShape>
    61     <associationConnector edgePoints="[(4.375 : 1.28929768880208); (3.375 : 1.28929768880208)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     58        <elementListCompartment Id="adf1d053-cb27-4891-bb3c-f3849497b953" absoluteBounds="8.14, 2.46, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     59      </nestedChildShapes>
     60    </classShape>
     61    <associationConnector edgePoints="[(5.875 : 2.07859537760417); (5.875 : 2.34875); (8.125 : 2.34875)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    6262      <AssociationMoniker Name="/ClientManagementDataContext/Resource/Resource_ClientLog" />
    6363      <nodes>
    64         <classShapeMoniker Id="2f689cd2-d0f0-4be8-9fb8-0dce6303f3ac" />
    65         <classShapeMoniker Id="256b57f3-6f9a-420b-9a23-fa5fcc0119a5" />
    66       </nodes>
    67     </associationConnector>
    68     <classShape Id="cafc28d1-c77e-4a58-9af1-d15a9f775409" absoluteBounds="5.5, 4.125, 2, 1.1939925130208333">
     64        <classShapeMoniker Id="20c6e07e-aa12-43dc-87d6-dae5bf173da4" />
     65        <classShapeMoniker Id="0cc124dd-2ee8-42b6-b176-cd3b22d9eabd" />
     66      </nodes>
     67    </associationConnector>
     68    <classShape Id="5e8ae5e1-4026-47e5-91fb-9607de024aad" absoluteBounds="10.375, 0.5, 2, 2.1554996744791666">
     69      <DataClassMoniker Name="/ClientManagementDataContext/ClientError" />
     70      <nestedChildShapes>
     71        <elementListCompartment Id="0aee0bb0-fc18-4610-ab43-c4cf50ce4228" absoluteBounds="10.39, 0.96, 1.9700000000000002, 1.5954996744791665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     72      </nestedChildShapes>
     73    </classShape>
     74    <associationConnector edgePoints="[(6.625 : 1.84699625651042); (10.375 : 1.84699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     75      <AssociationMoniker Name="/ClientManagementDataContext/Resource/Resource_ClientError" />
     76      <nodes>
     77        <classShapeMoniker Id="20c6e07e-aa12-43dc-87d6-dae5bf173da4" />
     78        <classShapeMoniker Id="5e8ae5e1-4026-47e5-91fb-9607de024aad" />
     79      </nodes>
     80    </associationConnector>
     81    <classShape Id="452ce94a-9bd2-4968-9a5f-a0ab1dba6b2e" absoluteBounds="7.875, 3.875, 2, 1.1939925130208327">
     82      <DataClassMoniker Name="/ClientManagementDataContext/UserGroupBase" />
     83      <nestedChildShapes>
     84        <elementListCompartment Id="4a562596-7b72-43d1-9790-93d049a0a0a8" absoluteBounds="7.8900000000000006, 4.335, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     85      </nestedChildShapes>
     86    </classShape>
     87    <classShape Id="38891c77-8166-44c9-8dd5-da45900c45f3" absoluteBounds="0.5, 0.5, 2, 1.1939925130208333">
     88      <DataClassMoniker Name="/ClientManagementDataContext/ClientType" />
     89      <nestedChildShapes>
     90        <elementListCompartment Id="3db061b5-e614-4933-9550-32a85dc3278c" absoluteBounds="0.515, 0.96, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     91      </nestedChildShapes>
     92    </classShape>
     93    <classShape Id="cb6a29ca-7ef1-4721-9108-b64558f282a6" absoluteBounds="0.5, 1.75, 2, 1.1939925130208333">
     94      <DataClassMoniker Name="/ClientManagementDataContext/OperatingSystem" />
     95      <nestedChildShapes>
     96        <elementListCompartment Id="d155707b-11d5-4dbf-9890-697e6940e697" absoluteBounds="0.51500000000000012, 2.21, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     97      </nestedChildShapes>
     98    </classShape>
     99    <classShape Id="c7dfcb39-11e2-47ec-8a48-4e41e2901893" absoluteBounds="0.5, 3, 2, 1.1939925130208333">
     100      <DataClassMoniker Name="/ClientManagementDataContext/Country" />
     101      <nestedChildShapes>
     102        <elementListCompartment Id="257ba077-a1cc-43ac-b4a4-e88df1d32e31" absoluteBounds="0.51500000000000012, 3.46, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     103      </nestedChildShapes>
     104    </classShape>
     105    <classShape Id="3aef9298-1092-45fa-bf96-8dd25d61c2f8" absoluteBounds="0.5, 4.25, 2, 1.3862939453125">
     106      <DataClassMoniker Name="/ClientManagementDataContext/ClientConfiguration" />
     107      <nestedChildShapes>
     108        <elementListCompartment Id="6444a95d-bd46-4977-9ee8-0e5dd3e297d1" absoluteBounds="0.51500000000000012, 4.71, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     109      </nestedChildShapes>
     110    </classShape>
     111    <classShape Id="f8d63089-5458-4918-a098-5d9f2c3ac629" absoluteBounds="0.5, 5.75, 2, 1.5785953776041666">
     112      <DataClassMoniker Name="/ClientManagementDataContext/Plugin" />
     113      <nestedChildShapes>
     114        <elementListCompartment Id="490da272-92c4-484c-823e-97f3d08d72a3" absoluteBounds="0.51500000000000012, 6.21, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     115      </nestedChildShapes>
     116    </classShape>
     117    <associationConnector edgePoints="[(3.75 : 2.5); (3.375 : 2.125); (3.375 : 1.09699625651042); (2.5 : 1.09699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     118      <AssociationMoniker Name="/ClientManagementDataContext/Client/Client_ClientType" />
     119      <nodes>
     120        <classShapeMoniker Id="c964402f-99b7-4355-b9ad-279a2a7cf692" />
     121        <classShapeMoniker Id="38891c77-8166-44c9-8dd5-da45900c45f3" />
     122      </nodes>
     123    </associationConnector>
     124    <associationConnector edgePoints="[(3.75 : 2.75324875651042); (2.5 : 2.75324875651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     125      <AssociationMoniker Name="/ClientManagementDataContext/Client/Client_OperatingSystem" />
     126      <nodes>
     127        <classShapeMoniker Id="c964402f-99b7-4355-b9ad-279a2a7cf692" />
     128        <classShapeMoniker Id="cb6a29ca-7ef1-4721-9108-b64558f282a6" />
     129      </nodes>
     130    </associationConnector>
     131    <associationConnector edgePoints="[(3.75 : 3.59699625651042); (2.5 : 3.59699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     132      <AssociationMoniker Name="/ClientManagementDataContext/Client/Client_Country" />
     133      <nodes>
     134        <classShapeMoniker Id="c964402f-99b7-4355-b9ad-279a2a7cf692" />
     135        <classShapeMoniker Id="c7dfcb39-11e2-47ec-8a48-4e41e2901893" />
     136      </nodes>
     137    </associationConnector>
     138    <classShape Id="9f63fd2b-4410-4817-99d4-648466eacddd" absoluteBounds="3.625, 5.625, 2, 1.1939925130208333">
     139      <DataClassMoniker Name="/ClientManagementDataContext/ResourcePlugin" />
     140      <nestedChildShapes>
     141        <elementListCompartment Id="de5c9495-8c9c-43b6-9b59-4a187db3e607" absoluteBounds="3.64, 6.085, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     142      </nestedChildShapes>
     143    </classShape>
     144    <associationConnector edgePoints="[(2.5 : 6.28449625651042); (3.625 : 6.28449625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     145      <AssociationMoniker Name="/ClientManagementDataContext/Plugin/Plugin_ResourcePlugin" />
     146      <nodes>
     147        <classShapeMoniker Id="f8d63089-5458-4918-a098-5d9f2c3ac629" />
     148        <classShapeMoniker Id="9f63fd2b-4410-4817-99d4-648466eacddd" />
     149      </nodes>
     150    </associationConnector>
     151    <associationConnector edgePoints="[(5.90625 : 2.07859537760417); (5.90625 : 6.22199625651042); (5.625 : 6.22199625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     152      <AssociationMoniker Name="/ClientManagementDataContext/Resource/Resource_ResourcePlugin" />
     153      <nodes>
     154        <classShapeMoniker Id="20c6e07e-aa12-43dc-87d6-dae5bf173da4" />
     155        <classShapeMoniker Id="9f63fd2b-4410-4817-99d4-648466eacddd" />
     156      </nodes>
     157    </associationConnector>
     158    <classShape Id="289f3b5e-1167-4ac9-8241-cfda58670cf7" absoluteBounds="6.625, 5.875, 2, 1.0016910807291666">
    69159      <DataClassMoniker Name="/ClientManagementDataContext/User" />
    70160      <nestedChildShapes>
    71         <elementListCompartment Id="4a4f98f6-5b7e-430a-8609-ac86c7cb04f7" absoluteBounds="5.515, 4.585, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    72       </nestedChildShapes>
    73     </classShape>
    74     <classShape Id="d20965a8-4c70-457b-9751-f74f3f57239d" absoluteBounds="8.125, 4.25, 2, 1.3862939453125">
     161        <elementListCompartment Id="c43044c1-4b3a-413d-9c9b-38926f40719a" absoluteBounds="6.64, 6.335, 1.9700000000000002, 0.44169108072916669" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     162      </nestedChildShapes>
     163    </classShape>
     164    <classShape Id="62262fbd-3de1-47dd-bbdd-05e982e88e29" absoluteBounds="10.75, 4, 2, 1.1939925130208333">
     165      <DataClassMoniker Name="/ClientManagementDataContext/UserGroupUserGroup" />
     166      <nestedChildShapes>
     167        <elementListCompartment Id="6da6d908-1d40-4f5e-a6c9-8ee8edcccc10" absoluteBounds="10.765, 4.46, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     168      </nestedChildShapes>
     169    </classShape>
     170    <classShape Id="722ccaeb-f35a-4a76-8d2f-850633dc444a" absoluteBounds="9.25, 5.875, 2, 1.0016910807291666">
    75171      <DataClassMoniker Name="/ClientManagementDataContext/UserGroup" />
    76172      <nestedChildShapes>
    77         <elementListCompartment Id="254f12c4-7f06-4d4a-8b53-0ac482305a16" absoluteBounds="8.14, 4.71, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    78       </nestedChildShapes>
    79     </classShape>
    80     <classShape Id="1e669879-2fb3-47f4-abb9-98e491817d28" absoluteBounds="6.625, 6.125, 2, 1.1939925130208333">
    81       <DataClassMoniker Name="/ClientManagementDataContext/UserUserGroup" />
    82       <nestedChildShapes>
    83         <elementListCompartment Id="6ac0417d-a956-4241-aef8-e372477fba9c" absoluteBounds="6.6400000000000006, 6.585, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    84       </nestedChildShapes>
    85     </classShape>
    86     <associationConnector edgePoints="[(7.0625 : 5.31899251302083); (7.0625 : 6.125)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    87       <AssociationMoniker Name="/ClientManagementDataContext/User/User_UserUserGroup" />
    88       <nodes>
    89         <classShapeMoniker Id="cafc28d1-c77e-4a58-9af1-d15a9f775409" />
    90         <classShapeMoniker Id="1e669879-2fb3-47f4-abb9-98e491817d28" />
    91       </nodes>
    92     </associationConnector>
    93     <associationConnector edgePoints="[(8.375 : 5.6362939453125); (8.375 : 6.125)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    94       <AssociationMoniker Name="/ClientManagementDataContext/UserGroup/UserGroup_UserUserGroup" />
    95       <nodes>
    96         <classShapeMoniker Id="d20965a8-4c70-457b-9751-f74f3f57239d" />
    97         <classShapeMoniker Id="1e669879-2fb3-47f4-abb9-98e491817d28" />
     173        <elementListCompartment Id="b7d51ef7-026b-4cef-9a32-1cf3a63828d5" absoluteBounds="9.265, 6.335, 1.9700000000000002, 0.44169108072916669" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     174      </nestedChildShapes>
     175    </classShape>
     176    <inheritanceConnector edgePoints="[(8.875 : 5.06899251302083); (8.875 : 5.5); (7.625 : 5.5); (7.625 : 5.875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     177      <nodes>
     178        <classShapeMoniker Id="452ce94a-9bd2-4968-9a5f-a0ab1dba6b2e" />
     179        <classShapeMoniker Id="289f3b5e-1167-4ac9-8241-cfda58670cf7" />
     180      </nodes>
     181    </inheritanceConnector>
     182    <inheritanceConnector edgePoints="[(8.875 : 5.06899251302083); (8.875 : 5.5); (10.25 : 5.5); (10.25 : 5.875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     183      <nodes>
     184        <classShapeMoniker Id="452ce94a-9bd2-4968-9a5f-a0ab1dba6b2e" />
     185        <classShapeMoniker Id="722ccaeb-f35a-4a76-8d2f-850633dc444a" />
     186      </nodes>
     187    </inheritanceConnector>
     188    <associationConnector edgePoints="[(9.875 : 3.90625); (10.53125 : 3.90625); (10.53125 : 2.65549967447917)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     189      <AssociationMoniker Name="/ClientManagementDataContext/UserGroupBase/UserGroupBase_ClientError" />
     190      <nodes>
     191        <classShapeMoniker Id="452ce94a-9bd2-4968-9a5f-a0ab1dba6b2e" />
     192        <classShapeMoniker Id="5e8ae5e1-4026-47e5-91fb-9607de024aad" />
     193      </nodes>
     194    </associationConnector>
     195    <associationConnector edgePoints="[(9.875 : 4.53449625651042); (10.75 : 4.53449625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     196      <AssociationMoniker Name="/ClientManagementDataContext/UserGroupBase/UserGroupBase_UserGroupUserGroup" />
     197      <nodes>
     198        <classShapeMoniker Id="452ce94a-9bd2-4968-9a5f-a0ab1dba6b2e" />
     199        <classShapeMoniker Id="62262fbd-3de1-47dd-bbdd-05e982e88e29" />
     200      </nodes>
     201    </associationConnector>
     202    <associationConnector edgePoints="[(9.875 : 4.20474812825521); (10.75 : 4.20474812825521)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     203      <AssociationMoniker Name="/ClientManagementDataContext/UserGroupBase/UserGroupBase_UserGroupUserGroup1" />
     204      <nodes>
     205        <classShapeMoniker Id="452ce94a-9bd2-4968-9a5f-a0ab1dba6b2e" />
     206        <classShapeMoniker Id="62262fbd-3de1-47dd-bbdd-05e982e88e29" />
     207      </nodes>
     208    </associationConnector>
     209    <associationConnector edgePoints="[(3.75 : 4.64505126953125); (2.5 : 4.64505126953125)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     210      <AssociationMoniker Name="/ClientManagementDataContext/Client/Client_ClientConfiguration" />
     211      <nodes>
     212        <classShapeMoniker Id="c964402f-99b7-4355-b9ad-279a2a7cf692" />
     213        <classShapeMoniker Id="3aef9298-1092-45fa-bf96-8dd25d61c2f8" />
    98214      </nodes>
    99215    </associationConnector>
  • branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.designer.cs

    r6820 r6825  
    1010//------------------------------------------------------------------------------
    1111
    12 namespace HeuristicLab.Services.Access.DataAccess
    13 {
    14   using System.Data.Linq;
    15   using System.Data.Linq.Mapping;
    16   using System.Data;
    17   using System.Collections.Generic;
    18   using System.Reflection;
    19   using System.Linq;
    20   using System.Linq.Expressions;
    21   using System.ComponentModel;
    22   using System;
    23  
    24  
    25   [global::System.Data.Linq.Mapping.DatabaseAttribute(Name="HeuristicLab.ClientManagement")]
    26   public partial class ClientManagementDataContext : System.Data.Linq.DataContext
    27   {
    28    
    29     private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
    30    
     12namespace HeuristicLab.Services.Access.DataAccess {
     13  using System;
     14  using System.ComponentModel;
     15  using System.Data.Linq;
     16  using System.Data.Linq.Mapping;
     17
     18
     19  [global::System.Data.Linq.Mapping.DatabaseAttribute(Name = "HeuristicLab.ClientManagement")]
     20  public partial class ClientManagementDataContext : System.Data.Linq.DataContext {
     21
     22    private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
     23
    3124    #region Extensibility Method Definitions
    3225    partial void OnCreated();
     
    4033    partial void UpdateClientLog(ClientLog instance);
    4134    partial void DeleteClientLog(ClientLog instance);
    42     partial void InsertUser(User instance);
    43     partial void UpdateUser(User instance);
    44     partial void DeleteUser(User instance);
    45     partial void InsertUserGroup(UserGroup instance);
    46     partial void UpdateUserGroup(UserGroup instance);
    47     partial void DeleteUserGroup(UserGroup instance);
    48     partial void InsertUserUserGroup(UserUserGroup instance);
    49     partial void UpdateUserUserGroup(UserUserGroup instance);
    50     partial void DeleteUserUserGroup(UserUserGroup instance);
     35    partial void InsertClientError(ClientError instance);
     36    partial void UpdateClientError(ClientError instance);
     37    partial void DeleteClientError(ClientError instance);
     38    partial void InsertUserGroupBase(UserGroupBase instance);
     39    partial void UpdateUserGroupBase(UserGroupBase instance);
     40    partial void DeleteUserGroupBase(UserGroupBase instance);
     41    partial void InsertClientType(ClientType instance);
     42    partial void UpdateClientType(ClientType instance);
     43    partial void DeleteClientType(ClientType instance);
     44    partial void InsertOperatingSystem(OperatingSystem instance);
     45    partial void UpdateOperatingSystem(OperatingSystem instance);
     46    partial void DeleteOperatingSystem(OperatingSystem instance);
     47    partial void InsertCountry(Country instance);
     48    partial void UpdateCountry(Country instance);
     49    partial void DeleteCountry(Country instance);
     50    partial void InsertClientConfiguration(ClientConfiguration instance);
     51    partial void UpdateClientConfiguration(ClientConfiguration instance);
     52    partial void DeleteClientConfiguration(ClientConfiguration instance);
     53    partial void InsertPlugin(Plugin instance);
     54    partial void UpdatePlugin(Plugin instance);
     55    partial void DeletePlugin(Plugin instance);
     56    partial void InsertResourcePlugin(ResourcePlugin instance);
     57    partial void UpdateResourcePlugin(ResourcePlugin instance);
     58    partial void DeleteResourcePlugin(ResourcePlugin instance);
     59    partial void InsertUserGroupUserGroup(UserGroupUserGroup instance);
     60    partial void UpdateUserGroupUserGroup(UserGroupUserGroup instance);
     61    partial void DeleteUserGroupUserGroup(UserGroupUserGroup instance);
    5162    #endregion
    52    
    53     public ClientManagementDataContext() :
    54         base(global::HeuristicLab.Services.Access.DataAccess.Properties.Settings.Default.HeuristicLab_ClientManagementConnectionString, mappingSource)
    55     {
    56       OnCreated();
    57     }
    58    
    59     public ClientManagementDataContext(string connection) :
    60         base(connection, mappingSource)
    61     {
    62       OnCreated();
    63     }
    64    
    65     public ClientManagementDataContext(System.Data.IDbConnection connection) :
    66         base(connection, mappingSource)
    67     {
    68       OnCreated();
    69     }
    70    
    71     public ClientManagementDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
    72         base(connection, mappingSource)
    73     {
    74       OnCreated();
    75     }
    76    
    77     public ClientManagementDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
    78         base(connection, mappingSource)
    79     {
    80       OnCreated();
    81     }
    82    
    83     public System.Data.Linq.Table<Resource> Resources
    84     {
    85       get
    86       {
    87         return this.GetTable<Resource>();
    88       }
    89     }
    90    
    91     public System.Data.Linq.Table<ResourceResourceGroup> ResourceResourceGroups
    92     {
    93       get
    94       {
    95         return this.GetTable<ResourceResourceGroup>();
    96       }
    97     }
    98    
    99     public System.Data.Linq.Table<ClientLog> ClientLogs
    100     {
    101       get
    102       {
    103         return this.GetTable<ClientLog>();
    104       }
    105     }
    106    
    107     public System.Data.Linq.Table<User> Users
    108     {
    109       get
    110       {
    111         return this.GetTable<User>();
    112       }
    113     }
    114    
    115     public System.Data.Linq.Table<UserGroup> UserGroups
    116     {
    117       get
    118       {
    119         return this.GetTable<UserGroup>();
    120       }
    121     }
    122    
    123     public System.Data.Linq.Table<UserUserGroup> UserUserGroups
    124     {
    125       get
    126       {
    127         return this.GetTable<UserUserGroup>();
    128       }
    129     }
    130   }
    131  
    132   [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Resource")]
    133   [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code="Resource", Type=typeof(Resource))]
    134   [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code="Client", Type=typeof(Client))]
    135   [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code="Group", Type=typeof(Group))]
    136   public partial class Resource : INotifyPropertyChanging, INotifyPropertyChanged
    137   {
    138    
    139     private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    140    
    141     private System.Guid _Id;
    142    
    143     private string _Name;
    144    
    145     private string _Description;
    146    
    147     private string _Type;
    148    
    149     private EntitySet<ResourceResourceGroup> _ResourceResourceGroups;
    150    
    151     private EntitySet<ResourceResourceGroup> _ResourceResourceGroups1;
    152    
    153     private EntitySet<ClientLog> _ClientLogs;
    154    
     63
     64    public ClientManagementDataContext() :
     65      base(global::HeuristicLab.Services.Access.DataAccess.Properties.Settings.Default.HeuristicLab_ClientManagementConnectionString, mappingSource) {
     66      OnCreated();
     67    }
     68
     69    public ClientManagementDataContext(string connection) :
     70      base(connection, mappingSource) {
     71      OnCreated();
     72    }
     73
     74    public ClientManagementDataContext(System.Data.IDbConnection connection) :
     75      base(connection, mappingSource) {
     76      OnCreated();
     77    }
     78
     79    public ClientManagementDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
     80      base(connection, mappingSource) {
     81      OnCreated();
     82    }
     83
     84    public ClientManagementDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
     85      base(connection, mappingSource) {
     86      OnCreated();
     87    }
     88
     89    public System.Data.Linq.Table<Resource> Resources {
     90      get {
     91        return this.GetTable<Resource>();
     92      }
     93    }
     94
     95    public System.Data.Linq.Table<ResourceResourceGroup> ResourceResourceGroups {
     96      get {
     97        return this.GetTable<ResourceResourceGroup>();
     98      }
     99    }
     100
     101    public System.Data.Linq.Table<ClientLog> ClientLogs {
     102      get {
     103        return this.GetTable<ClientLog>();
     104      }
     105    }
     106
     107    public System.Data.Linq.Table<ClientError> ClientErrors {
     108      get {
     109        return this.GetTable<ClientError>();
     110      }
     111    }
     112
     113    public System.Data.Linq.Table<UserGroupBase> UserGroupBases {
     114      get {
     115        return this.GetTable<UserGroupBase>();
     116      }
     117    }
     118
     119    public System.Data.Linq.Table<ClientType> ClientTypes {
     120      get {
     121        return this.GetTable<ClientType>();
     122      }
     123    }
     124
     125    public System.Data.Linq.Table<OperatingSystem> OperatingSystems {
     126      get {
     127        return this.GetTable<OperatingSystem>();
     128      }
     129    }
     130
     131    public System.Data.Linq.Table<Country> Countries {
     132      get {
     133        return this.GetTable<Country>();
     134      }
     135    }
     136
     137    public System.Data.Linq.Table<ClientConfiguration> ClientConfigurations {
     138      get {
     139        return this.GetTable<ClientConfiguration>();
     140      }
     141    }
     142
     143    public System.Data.Linq.Table<Plugin> Plugins {
     144      get {
     145        return this.GetTable<Plugin>();
     146      }
     147    }
     148
     149    public System.Data.Linq.Table<ResourcePlugin> ResourcePlugins {
     150      get {
     151        return this.GetTable<ResourcePlugin>();
     152      }
     153    }
     154
     155    public System.Data.Linq.Table<UserGroupUserGroup> UserGroupUserGroups {
     156      get {
     157        return this.GetTable<UserGroupUserGroup>();
     158      }
     159    }
     160  }
     161
     162  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.Resource")]
     163  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code = "Resource", Type = typeof(Resource))]
     164  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code = "Client", Type = typeof(Client), IsDefault = true)]
     165  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code = "ClientGroup", Type = typeof(ClientGroup))]
     166  public partial class Resource : INotifyPropertyChanging, INotifyPropertyChanged {
     167
     168    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     169
     170    private System.Guid _Id;
     171
     172    private string _Name;
     173
     174    private string _Description;
     175
     176    private string _Type;
     177
     178    private EntitySet<ResourceResourceGroup> _ResourceResourceGroups;
     179
     180    private EntitySet<ResourceResourceGroup> _ResourceResourceGroups1;
     181
     182    private EntitySet<ClientLog> _ClientLogs;
     183
     184    private EntitySet<ClientError> _ClientErrors;
     185
     186    private EntitySet<ResourcePlugin> _ResourcePlugins;
     187
    155188    #region Extensibility Method Definitions
    156189    partial void OnLoaded();
     
    166199    partial void OnTypeChanged();
    167200    #endregion
    168    
    169     public Resource()
    170     {
    171       this._ResourceResourceGroups = new EntitySet<ResourceResourceGroup>(new Action<ResourceResourceGroup>(this.attach_ResourceResourceGroups), new Action<ResourceResourceGroup>(this.detach_ResourceResourceGroups));
    172       this._ResourceResourceGroups1 = new EntitySet<ResourceResourceGroup>(new Action<ResourceResourceGroup>(this.attach_ResourceResourceGroups1), new Action<ResourceResourceGroup>(this.detach_ResourceResourceGroups1));
    173       this._ClientLogs = new EntitySet<ClientLog>(new Action<ClientLog>(this.attach_ClientLogs), new Action<ClientLog>(this.detach_ClientLogs));
    174       OnCreated();
    175     }
    176    
    177     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    178     public System.Guid Id
    179     {
    180       get
    181       {
    182         return this._Id;
    183       }
    184       set
    185       {
    186         if ((this._Id != value))
    187         {
    188           this.OnIdChanging(value);
    189           this.SendPropertyChanging();
    190           this._Id = value;
    191           this.SendPropertyChanged("Id");
    192           this.OnIdChanged();
    193         }
    194       }
    195     }
    196    
    197     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(MAX) NOT NULL", CanBeNull=false)]
    198     public string Name
    199     {
    200       get
    201       {
    202         return this._Name;
    203       }
    204       set
    205       {
    206         if ((this._Name != value))
    207         {
    208           this.OnNameChanging(value);
    209           this.SendPropertyChanging();
    210           this._Name = value;
    211           this.SendPropertyChanged("Name");
    212           this.OnNameChanged();
    213         }
    214       }
    215     }
    216    
    217     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Description", DbType="NVarChar(MAX)")]
    218     public string Description
    219     {
    220       get
    221       {
    222         return this._Description;
    223       }
    224       set
    225       {
    226         if ((this._Description != value))
    227         {
    228           this.OnDescriptionChanging(value);
    229           this.SendPropertyChanging();
    230           this._Description = value;
    231           this.SendPropertyChanged("Description");
    232           this.OnDescriptionChanged();
    233         }
    234       }
    235     }
    236    
    237     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="NVarChar(MAX) NOT NULL", CanBeNull=false, IsDiscriminator=true)]
    238     public string Type
    239     {
    240       get
    241       {
    242         return this._Type;
    243       }
    244       set
    245       {
    246         if ((this._Type != value))
    247         {
    248           this.OnTypeChanging(value);
    249           this.SendPropertyChanging();
    250           this._Type = value;
    251           this.SendPropertyChanged("Type");
    252           this.OnTypeChanged();
    253         }
    254       }
    255     }
    256    
    257     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_ResourceResourceGroup", Storage="_ResourceResourceGroups", ThisKey="Id", OtherKey="ResourceGroupId")]
    258     public EntitySet<ResourceResourceGroup> ResourceResourceGroups
    259     {
    260       get
    261       {
    262         return this._ResourceResourceGroups;
    263       }
    264       set
    265       {
    266         this._ResourceResourceGroups.Assign(value);
    267       }
    268     }
    269    
    270     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_ResourceResourceGroup1", Storage="_ResourceResourceGroups1", ThisKey="Id", OtherKey="ResourceId")]
    271     public EntitySet<ResourceResourceGroup> ResourceResourceGroups1
    272     {
    273       get
    274       {
    275         return this._ResourceResourceGroups1;
    276       }
    277       set
    278       {
    279         this._ResourceResourceGroups1.Assign(value);
    280       }
    281     }
    282    
    283     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_ClientLog", Storage="_ClientLogs", ThisKey="Id", OtherKey="ResourceId")]
    284     public EntitySet<ClientLog> ClientLogs
    285     {
    286       get
    287       {
    288         return this._ClientLogs;
    289       }
    290       set
    291       {
    292         this._ClientLogs.Assign(value);
    293       }
    294     }
    295    
    296     public event PropertyChangingEventHandler PropertyChanging;
    297    
    298     public event PropertyChangedEventHandler PropertyChanged;
    299    
    300     protected virtual void SendPropertyChanging()
    301     {
    302       if ((this.PropertyChanging != null))
    303       {
    304         this.PropertyChanging(this, emptyChangingEventArgs);
    305       }
    306     }
    307    
    308     protected virtual void SendPropertyChanged(String propertyName)
    309     {
    310       if ((this.PropertyChanged != null))
    311       {
    312         this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    313       }
    314     }
    315    
    316     private void attach_ResourceResourceGroups(ResourceResourceGroup entity)
    317     {
    318       this.SendPropertyChanging();
    319       entity.Resource = this;
    320     }
    321    
    322     private void detach_ResourceResourceGroups(ResourceResourceGroup entity)
    323     {
    324       this.SendPropertyChanging();
    325       entity.Resource = null;
    326     }
    327    
    328     private void attach_ResourceResourceGroups1(ResourceResourceGroup entity)
    329     {
    330       this.SendPropertyChanging();
    331       entity.Resource1 = this;
    332     }
    333    
    334     private void detach_ResourceResourceGroups1(ResourceResourceGroup entity)
    335     {
    336       this.SendPropertyChanging();
    337       entity.Resource1 = null;
    338     }
    339    
    340     private void attach_ClientLogs(ClientLog entity)
    341     {
    342       this.SendPropertyChanging();
    343       entity.Resource = this;
    344     }
    345    
    346     private void detach_ClientLogs(ClientLog entity)
    347     {
    348       this.SendPropertyChanging();
    349       entity.Resource = null;
    350     }
    351   }
    352  
    353   public partial class Client : Resource
    354   {
    355    
    356     private string _ProcessorType;
    357    
    358     private System.Nullable<int> _NumberOfCores;
    359    
    360     private System.Nullable<int> _MemorySize;
    361    
    362     private string _OperatingSystem;
    363    
    364     private string _IPAdresss;
    365    
    366     private string _HeuristicLabVersion;
    367    
    368     private string _Country;
    369    
    370     private string _ClientType;
    371    
     201
     202    public Resource() {
     203      this._ResourceResourceGroups = new EntitySet<ResourceResourceGroup>(new Action<ResourceResourceGroup>(this.attach_ResourceResourceGroups), new Action<ResourceResourceGroup>(this.detach_ResourceResourceGroups));
     204      this._ResourceResourceGroups1 = new EntitySet<ResourceResourceGroup>(new Action<ResourceResourceGroup>(this.attach_ResourceResourceGroups1), new Action<ResourceResourceGroup>(this.detach_ResourceResourceGroups1));
     205      this._ClientLogs = new EntitySet<ClientLog>(new Action<ClientLog>(this.attach_ClientLogs), new Action<ClientLog>(this.detach_ClientLogs));
     206      this._ClientErrors = new EntitySet<ClientError>(new Action<ClientError>(this.attach_ClientErrors), new Action<ClientError>(this.detach_ClientErrors));
     207      this._ResourcePlugins = new EntitySet<ResourcePlugin>(new Action<ResourcePlugin>(this.attach_ResourcePlugins), new Action<ResourcePlugin>(this.detach_ResourcePlugins));
     208      OnCreated();
     209    }
     210
     211    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Id", AutoSync = AutoSync.OnInsert, DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true, IsDbGenerated = true)]
     212    public System.Guid Id {
     213      get {
     214        return this._Id;
     215      }
     216      set {
     217        if ((this._Id != value)) {
     218          this.OnIdChanging(value);
     219          this.SendPropertyChanging();
     220          this._Id = value;
     221          this.SendPropertyChanged("Id");
     222          this.OnIdChanged();
     223        }
     224      }
     225    }
     226
     227    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Name", DbType = "NVarChar(MAX) NOT NULL", CanBeNull = false)]
     228    public string Name {
     229      get {
     230        return this._Name;
     231      }
     232      set {
     233        if ((this._Name != value)) {
     234          this.OnNameChanging(value);
     235          this.SendPropertyChanging();
     236          this._Name = value;
     237          this.SendPropertyChanged("Name");
     238          this.OnNameChanged();
     239        }
     240      }
     241    }
     242
     243    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Description", DbType = "NVarChar(MAX)", CanBeNull = false)]
     244    public string Description {
     245      get {
     246        return this._Description;
     247      }
     248      set {
     249        if ((this._Description != value)) {
     250          this.OnDescriptionChanging(value);
     251          this.SendPropertyChanging();
     252          this._Description = value;
     253          this.SendPropertyChanged("Description");
     254          this.OnDescriptionChanged();
     255        }
     256      }
     257    }
     258
     259    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Type", DbType = "NVarChar(MAX) NOT NULL", CanBeNull = false, IsDiscriminator = true)]
     260    public string Type {
     261      get {
     262        return this._Type;
     263      }
     264      set {
     265        if ((this._Type != value)) {
     266          this.OnTypeChanging(value);
     267          this.SendPropertyChanging();
     268          this._Type = value;
     269          this.SendPropertyChanged("Type");
     270          this.OnTypeChanged();
     271        }
     272      }
     273    }
     274
     275    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Resource_ResourceResourceGroup", Storage = "_ResourceResourceGroups", ThisKey = "Id", OtherKey = "ResourceGroupId")]
     276    public EntitySet<ResourceResourceGroup> ResourceResourceGroupsChilds {
     277      get {
     278        return this._ResourceResourceGroups;
     279      }
     280      set {
     281        this._ResourceResourceGroups.Assign(value);
     282      }
     283    }
     284
     285    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Resource_ResourceResourceGroup1", Storage = "_ResourceResourceGroups1", ThisKey = "Id", OtherKey = "ResourceId")]
     286    public EntitySet<ResourceResourceGroup> ResourceResourceGroupsParents {
     287      get {
     288        return this._ResourceResourceGroups1;
     289      }
     290      set {
     291        this._ResourceResourceGroups1.Assign(value);
     292      }
     293    }
     294
     295    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Resource_ClientLog", Storage = "_ClientLogs", ThisKey = "Id", OtherKey = "ResourceId")]
     296    public EntitySet<ClientLog> ClientLogs {
     297      get {
     298        return this._ClientLogs;
     299      }
     300      set {
     301        this._ClientLogs.Assign(value);
     302      }
     303    }
     304
     305    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Resource_ClientError", Storage = "_ClientErrors", ThisKey = "Id", OtherKey = "ClientId")]
     306    public EntitySet<ClientError> ClientErrors {
     307      get {
     308        return this._ClientErrors;
     309      }
     310      set {
     311        this._ClientErrors.Assign(value);
     312      }
     313    }
     314
     315    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Resource_ResourcePlugin", Storage = "_ResourcePlugins", ThisKey = "Id", OtherKey = "ResourceId")]
     316    public EntitySet<ResourcePlugin> ResourcePlugins {
     317      get {
     318        return this._ResourcePlugins;
     319      }
     320      set {
     321        this._ResourcePlugins.Assign(value);
     322      }
     323    }
     324
     325    public event PropertyChangingEventHandler PropertyChanging;
     326
     327    public event PropertyChangedEventHandler PropertyChanged;
     328
     329    protected virtual void SendPropertyChanging() {
     330      if ((this.PropertyChanging != null)) {
     331        this.PropertyChanging(this, emptyChangingEventArgs);
     332      }
     333    }
     334
     335    protected virtual void SendPropertyChanged(String propertyName) {
     336      if ((this.PropertyChanged != null)) {
     337        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     338      }
     339    }
     340
     341    private void attach_ResourceResourceGroups(ResourceResourceGroup entity) {
     342      this.SendPropertyChanging();
     343      entity.ParentResource = this;
     344    }
     345
     346    private void detach_ResourceResourceGroups(ResourceResourceGroup entity) {
     347      this.SendPropertyChanging();
     348      entity.ParentResource = null;
     349    }
     350
     351    private void attach_ResourceResourceGroups1(ResourceResourceGroup entity) {
     352      this.SendPropertyChanging();
     353      entity.Resource = this;
     354    }
     355
     356    private void detach_ResourceResourceGroups1(ResourceResourceGroup entity) {
     357      this.SendPropertyChanging();
     358      entity.Resource = null;
     359    }
     360
     361    private void attach_ClientLogs(ClientLog entity) {
     362      this.SendPropertyChanging();
     363      entity.Resource = this;
     364    }
     365
     366    private void detach_ClientLogs(ClientLog entity) {
     367      this.SendPropertyChanging();
     368      entity.Resource = null;
     369    }
     370
     371    private void attach_ClientErrors(ClientError entity) {
     372      this.SendPropertyChanging();
     373      entity.Resource = this;
     374    }
     375
     376    private void detach_ClientErrors(ClientError entity) {
     377      this.SendPropertyChanging();
     378      entity.Resource = null;
     379    }
     380
     381    private void attach_ResourcePlugins(ResourcePlugin entity) {
     382      this.SendPropertyChanging();
     383      entity.Resource = this;
     384    }
     385
     386    private void detach_ResourcePlugins(ResourcePlugin entity) {
     387      this.SendPropertyChanging();
     388      entity.Resource = null;
     389    }
     390  }
     391
     392  public partial class Client : Resource {
     393
     394    private System.Guid _ClientConfigurationId;
     395
     396    private System.Guid _ClientType;
     397
     398    private string _HeuristicLabVersion;
     399
     400    private System.Guid _Country;
     401
     402    private System.Guid _OperatingSystem;
     403
     404    private System.Nullable<int> _MemorySize;
     405
     406    private System.Nullable<System.DateTime> _Timestamp;
     407
     408    private System.Nullable<int> _NumberOfCores;
     409
     410    private string _ProcessorType;
     411
     412    private EntityRef<ClientType> _ClientTypes;
     413
     414    private EntityRef<OperatingSystem> _OperatingSystems;
     415
     416    private EntityRef<Country> _Countries;
     417
     418    private EntityRef<ClientConfiguration> _ClientConfiguration;
     419
    372420    #region Extensibility Method Definitions
    373421    partial void OnLoaded();
    374422    partial void OnValidate(System.Data.Linq.ChangeAction action);
    375423    partial void OnCreated();
     424    partial void OnClientConfigurationIdChanging(System.Guid value);
     425    partial void OnClientConfigurationIdChanged();
     426    partial void OnClientTypeIdChanging(System.Guid value);
     427    partial void OnClientTypeIdChanged();
     428    partial void OnHeuristicLabVersionChanging(string value);
     429    partial void OnHeuristicLabVersionChanged();
     430    partial void OnCountryIdChanging(System.Guid value);
     431    partial void OnCountryIdChanged();
     432    partial void OnOperatingSystemIdChanging(System.Guid value);
     433    partial void OnOperatingSystemIdChanged();
     434    partial void OnMemorySizeChanging(System.Nullable<int> value);
     435    partial void OnMemorySizeChanged();
     436    partial void OnTimestampChanging(System.Nullable<System.DateTime> value);
     437    partial void OnTimestampChanged();
     438    partial void OnNumberOfCoresChanging(System.Nullable<int> value);
     439    partial void OnNumberOfCoresChanged();
    376440    partial void OnProcessorTypeChanging(string value);
    377441    partial void OnProcessorTypeChanged();
    378     partial void OnNumberOfCoresChanging(System.Nullable<int> value);
    379     partial void OnNumberOfCoresChanged();
    380     partial void OnMemorySizeChanging(System.Nullable<int> value);
    381     partial void OnMemorySizeChanged();
    382     partial void OnOperatingSystemChanging(string value);
    383     partial void OnOperatingSystemChanged();
    384     partial void OnIPAddressChanging(string value);
    385     partial void OnIPAddressChanged();
    386     partial void OnHeuristicLabVersionChanging(string value);
    387     partial void OnHeuristicLabVersionChanged();
    388     partial void OnCountryChanging(string value);
    389     partial void OnCountryChanged();
    390     partial void OnClientTypeChanging(string value);
    391     partial void OnClientTypeChanged();
    392442    #endregion
    393    
    394     public Client()
    395     {
    396       OnCreated();
    397     }
    398    
    399     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProcessorType", DbType="NVarChar(MAX)")]
    400     public string ProcessorType
    401     {
    402       get
    403       {
    404         return this._ProcessorType;
    405       }
    406       set
    407       {
    408         if ((this._ProcessorType != value))
    409         {
    410           this.OnProcessorTypeChanging(value);
    411           this.SendPropertyChanging();
    412           this._ProcessorType = value;
    413           this.SendPropertyChanged("ProcessorType");
    414           this.OnProcessorTypeChanged();
    415         }
    416       }
    417     }
    418    
    419     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumberOfCores", DbType="int")]
    420     public System.Nullable<int> NumberOfCores
    421     {
    422       get
    423       {
    424         return this._NumberOfCores;
    425       }
    426       set
    427       {
    428         if ((this._NumberOfCores != value))
    429         {
    430           this.OnNumberOfCoresChanging(value);
    431           this.SendPropertyChanging();
    432           this._NumberOfCores = value;
    433           this.SendPropertyChanged("NumberOfCores");
    434           this.OnNumberOfCoresChanged();
    435         }
    436       }
    437     }
    438    
    439     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MemorySize", DbType="int")]
    440     public System.Nullable<int> MemorySize
    441     {
    442       get
    443       {
    444         return this._MemorySize;
    445       }
    446       set
    447       {
    448         if ((this._MemorySize != value))
    449         {
    450           this.OnMemorySizeChanging(value);
    451           this.SendPropertyChanging();
    452           this._MemorySize = value;
    453           this.SendPropertyChanged("MemorySize");
    454           this.OnMemorySizeChanged();
    455         }
    456       }
    457     }
    458    
    459     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OperatingSystem", DbType="NVarChar(MAX)")]
    460     public string OperatingSystem
    461     {
    462       get
    463       {
    464         return this._OperatingSystem;
    465       }
    466       set
    467       {
    468         if ((this._OperatingSystem != value))
    469         {
    470           this.OnOperatingSystemChanging(value);
    471           this.SendPropertyChanging();
    472           this._OperatingSystem = value;
    473           this.SendPropertyChanged("OperatingSystem");
    474           this.OnOperatingSystemChanged();
    475         }
    476       }
    477     }
    478    
    479     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IPAdresss", DbType="NVarChar(MAX)")]
    480     public string IPAddress
    481     {
    482       get
    483       {
    484         return this._IPAdresss;
    485       }
    486       set
    487       {
    488         if ((this._IPAdresss != value))
    489         {
    490           this.OnIPAddressChanging(value);
    491           this.SendPropertyChanging();
    492           this._IPAdresss = value;
    493           this.SendPropertyChanged("IPAddress");
    494           this.OnIPAddressChanged();
    495         }
    496       }
    497     }
    498    
    499     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HeuristicLabVersion", DbType="NVarChar(MAX)")]
    500     public string HeuristicLabVersion
    501     {
    502       get
    503       {
    504         return this._HeuristicLabVersion;
    505       }
    506       set
    507       {
    508         if ((this._HeuristicLabVersion != value))
    509         {
    510           this.OnHeuristicLabVersionChanging(value);
    511           this.SendPropertyChanging();
    512           this._HeuristicLabVersion = value;
    513           this.SendPropertyChanged("HeuristicLabVersion");
    514           this.OnHeuristicLabVersionChanged();
    515         }
    516       }
    517     }
    518    
    519     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Country", DbType="NVarChar(MAX)")]
    520     public string Country
    521     {
    522       get
    523       {
    524         return this._Country;
    525       }
    526       set
    527       {
    528         if ((this._Country != value))
    529         {
    530           this.OnCountryChanging(value);
    531           this.SendPropertyChanging();
    532           this._Country = value;
    533           this.SendPropertyChanged("Country");
    534           this.OnCountryChanged();
    535         }
    536       }
    537     }
    538    
    539     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ClientType", DbType="NVarChar(MAX)")]
    540     public string ClientType
    541     {
    542       get
    543       {
    544         return this._ClientType;
    545       }
    546       set
    547       {
    548         if ((this._ClientType != value))
    549         {
    550           this.OnClientTypeChanging(value);
    551           this.SendPropertyChanging();
    552           this._ClientType = value;
    553           this.SendPropertyChanged("ClientType");
    554           this.OnClientTypeChanged();
    555         }
    556       }
    557     }
    558   }
    559  
    560   public partial class Group : Resource
    561   {
    562    
     443
     444    public Client() {
     445      this._ClientTypes = default(EntityRef<ClientType>);
     446      this._OperatingSystems = default(EntityRef<OperatingSystem>);
     447      this._Countries = default(EntityRef<Country>);
     448      this._ClientConfiguration = default(EntityRef<ClientConfiguration>);
     449      OnCreated();
     450    }
     451
     452    [global::System.Data.Linq.Mapping.ColumnAttribute(Name = "ClientConfiguration", Storage = "_ClientConfigurationId", DbType = "UniqueIdentifier")]
     453    public System.Guid ClientConfigurationId {
     454      get {
     455        return this._ClientConfigurationId;
     456      }
     457      set {
     458        if ((this._ClientConfigurationId != value)) {
     459          this.OnClientConfigurationIdChanging(value);
     460          this.SendPropertyChanging();
     461          this._ClientConfigurationId = value;
     462          this.SendPropertyChanged("ClientConfigurationId");
     463          this.OnClientConfigurationIdChanged();
     464        }
     465      }
     466    }
     467
     468    [global::System.Data.Linq.Mapping.ColumnAttribute(Name = "ClientType", Storage = "_ClientType", DbType = "UniqueIdentifier")]
     469    public System.Guid ClientTypeId {
     470      get {
     471        return this._ClientType;
     472      }
     473      set {
     474        if ((this._ClientType != value)) {
     475          this.OnClientTypeIdChanging(value);
     476          this.SendPropertyChanging();
     477          this._ClientType = value;
     478          this.SendPropertyChanged("ClientTypeId");
     479          this.OnClientTypeIdChanged();
     480        }
     481      }
     482    }
     483
     484    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_HeuristicLabVersion", DbType = "NVarChar(MAX)", CanBeNull = false)]
     485    public string HeuristicLabVersion {
     486      get {
     487        return this._HeuristicLabVersion;
     488      }
     489      set {
     490        if ((this._HeuristicLabVersion != value)) {
     491          this.OnHeuristicLabVersionChanging(value);
     492          this.SendPropertyChanging();
     493          this._HeuristicLabVersion = value;
     494          this.SendPropertyChanged("HeuristicLabVersion");
     495          this.OnHeuristicLabVersionChanged();
     496        }
     497      }
     498    }
     499
     500    [global::System.Data.Linq.Mapping.ColumnAttribute(Name = "Country", Storage = "_Country", DbType = "UniqueIdentifier")]
     501    public System.Guid CountryId {
     502      get {
     503        return this._Country;
     504      }
     505      set {
     506        if ((this._Country != value)) {
     507          this.OnCountryIdChanging(value);
     508          this.SendPropertyChanging();
     509          this._Country = value;
     510          this.SendPropertyChanged("CountryId");
     511          this.OnCountryIdChanged();
     512        }
     513      }
     514    }
     515
     516    [global::System.Data.Linq.Mapping.ColumnAttribute(Name = "OperatingSystem", Storage = "_OperatingSystem", DbType = "UniqueIdentifier")]
     517    public System.Guid OperatingSystemId {
     518      get {
     519        return this._OperatingSystem;
     520      }
     521      set {
     522        if ((this._OperatingSystem != value)) {
     523          this.OnOperatingSystemIdChanging(value);
     524          this.SendPropertyChanging();
     525          this._OperatingSystem = value;
     526          this.SendPropertyChanged("OperatingSystemId");
     527          this.OnOperatingSystemIdChanged();
     528        }
     529      }
     530    }
     531
     532    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_MemorySize", DbType = "Int")]
     533    public System.Nullable<int> MemorySize {
     534      get {
     535        return this._MemorySize;
     536      }
     537      set {
     538        if ((this._MemorySize != value)) {
     539          this.OnMemorySizeChanging(value);
     540          this.SendPropertyChanging();
     541          this._MemorySize = value;
     542          this.SendPropertyChanged("MemorySize");
     543          this.OnMemorySizeChanged();
     544        }
     545      }
     546    }
     547
     548    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Timestamp", DbType = "DateTime")]
     549    public System.Nullable<System.DateTime> Timestamp {
     550      get {
     551        return this._Timestamp;
     552      }
     553      set {
     554        if ((this._Timestamp != value)) {
     555          this.OnTimestampChanging(value);
     556          this.SendPropertyChanging();
     557          this._Timestamp = value;
     558          this.SendPropertyChanged("Timestamp");
     559          this.OnTimestampChanged();
     560        }
     561      }
     562    }
     563
     564    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_NumberOfCores", DbType = "Int")]
     565    public System.Nullable<int> NumberOfCores {
     566      get {
     567        return this._NumberOfCores;
     568      }
     569      set {
     570        if ((this._NumberOfCores != value)) {
     571          this.OnNumberOfCoresChanging(value);
     572          this.SendPropertyChanging();
     573          this._NumberOfCores = value;
     574          this.SendPropertyChanged("NumberOfCores");
     575          this.OnNumberOfCoresChanged();
     576        }
     577      }
     578    }
     579
     580    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_ProcessorType", DbType = "NVarChar(MAX)")]
     581    public string ProcessorType {
     582      get {
     583        return this._ProcessorType;
     584      }
     585      set {
     586        if ((this._ProcessorType != value)) {
     587          this.OnProcessorTypeChanging(value);
     588          this.SendPropertyChanging();
     589          this._ProcessorType = value;
     590          this.SendPropertyChanged("ProcessorType");
     591          this.OnProcessorTypeChanged();
     592        }
     593      }
     594    }
     595
     596    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Client_ClientType", Storage = "_ClientTypes", ThisKey = "ClientTypeId", OtherKey = "Id", IsUnique = true, IsForeignKey = false)]
     597    public ClientType ClientType {
     598      get {
     599        return this._ClientTypes.Entity;
     600      }
     601      set {
     602        ClientType previousValue = this._ClientTypes.Entity;
     603        if (((previousValue != value)
     604              || (this._ClientTypes.HasLoadedOrAssignedValue == false))) {
     605          this.SendPropertyChanging();
     606          if ((previousValue != null)) {
     607            this._ClientTypes.Entity = null;
     608            previousValue.Client = null;
     609          }
     610          this._ClientTypes.Entity = value;
     611          if ((value != null)) {
     612            value.Client = this;
     613          }
     614          this.SendPropertyChanged("ClientType");
     615        }
     616      }
     617    }
     618
     619    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Client_OperatingSystem", Storage = "_OperatingSystems", ThisKey = "OperatingSystemId", OtherKey = "Id", IsUnique = true, IsForeignKey = false)]
     620    public OperatingSystem OperatingSystem {
     621      get {
     622        return this._OperatingSystems.Entity;
     623      }
     624      set {
     625        OperatingSystem previousValue = this._OperatingSystems.Entity;
     626        if (((previousValue != value)
     627              || (this._OperatingSystems.HasLoadedOrAssignedValue == false))) {
     628          this.SendPropertyChanging();
     629          if ((previousValue != null)) {
     630            this._OperatingSystems.Entity = null;
     631            previousValue.Client = null;
     632          }
     633          this._OperatingSystems.Entity = value;
     634          if ((value != null)) {
     635            value.Client = this;
     636          }
     637          this.SendPropertyChanged("OperatingSystem");
     638        }
     639      }
     640    }
     641
     642    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Client_Country", Storage = "_Countries", ThisKey = "CountryId", OtherKey = "Id", IsUnique = true, IsForeignKey = false)]
     643    public Country Country {
     644      get {
     645        return this._Countries.Entity;
     646      }
     647      set {
     648        Country previousValue = this._Countries.Entity;
     649        if (((previousValue != value)
     650              || (this._Countries.HasLoadedOrAssignedValue == false))) {
     651          this.SendPropertyChanging();
     652          if ((previousValue != null)) {
     653            this._Countries.Entity = null;
     654            previousValue.Client = null;
     655          }
     656          this._Countries.Entity = value;
     657          if ((value != null)) {
     658            value.Client = this;
     659          }
     660          this.SendPropertyChanged("Country");
     661        }
     662      }
     663    }
     664
     665    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Client_ClientConfiguration", Storage = "_ClientConfiguration", ThisKey = "ClientConfigurationId", OtherKey = "Id", IsUnique = true, IsForeignKey = false)]
     666    public ClientConfiguration ClientConfiguration {
     667      get {
     668        return this._ClientConfiguration.Entity;
     669      }
     670      set {
     671        ClientConfiguration previousValue = this._ClientConfiguration.Entity;
     672        if (((previousValue != value)
     673              || (this._ClientConfiguration.HasLoadedOrAssignedValue == false))) {
     674          this.SendPropertyChanging();
     675          if ((previousValue != null)) {
     676            this._ClientConfiguration.Entity = null;
     677            previousValue.Client = null;
     678          }
     679          this._ClientConfiguration.Entity = value;
     680          if ((value != null)) {
     681            value.Client = this;
     682          }
     683          this.SendPropertyChanged("ClientConfiguration");
     684        }
     685      }
     686    }
     687  }
     688
     689  public partial class ClientGroup : Resource {
     690
    563691    #region Extensibility Method Definitions
    564692    partial void OnLoaded();
     
    566694    partial void OnCreated();
    567695    #endregion
    568    
    569     public Group()
    570     {
    571       OnCreated();
    572     }
    573   }
    574  
    575   [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ResourceResourceGroup")]
    576   public partial class ResourceResourceGroup : INotifyPropertyChanging, INotifyPropertyChanged
    577   {
    578    
    579     private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    580    
    581     private System.Guid _ResourceId;
    582    
    583     private System.Guid _ResourceGroupId;
    584    
    585     private EntityRef<Resource> _Resource;
    586    
    587     private EntityRef<Resource> _Resource1;
    588    
     696
     697    public ClientGroup() {
     698      OnCreated();
     699    }
     700  }
     701
     702  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.ResourceResourceGroup")]
     703  public partial class ResourceResourceGroup : INotifyPropertyChanging, INotifyPropertyChanged {
     704
     705    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     706
     707    private System.Guid _ResourceId;
     708
     709    private System.Guid _ResourceGroupId;
     710
     711    private EntityRef<Resource> _Resource;
     712
     713    private EntityRef<Resource> _Resource1;
     714
    589715    #region Extensibility Method Definitions
    590716    partial void OnLoaded();
     
    596722    partial void OnResourceGroupIdChanged();
    597723    #endregion
    598    
    599     public ResourceResourceGroup()
    600     {
    601       this._Resource = default(EntityRef<Resource>);
    602       this._Resource1 = default(EntityRef<Resource>);
    603       OnCreated();
    604     }
    605    
    606     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    607     public System.Guid ResourceId
    608     {
    609       get
    610       {
    611         return this._ResourceId;
    612       }
    613       set
    614       {
    615         if ((this._ResourceId != value))
    616         {
    617           if (this._Resource1.HasLoadedOrAssignedValue)
    618           {
    619             throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
    620           }
    621           this.OnResourceIdChanging(value);
    622           this.SendPropertyChanging();
    623           this._ResourceId = value;
    624           this.SendPropertyChanged("ResourceId");
    625           this.OnResourceIdChanged();
    626         }
    627       }
    628     }
    629    
    630     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceGroupId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    631     public System.Guid ResourceGroupId
    632     {
    633       get
    634       {
    635         return this._ResourceGroupId;
    636       }
    637       set
    638       {
    639         if ((this._ResourceGroupId != value))
    640         {
    641           if (this._Resource.HasLoadedOrAssignedValue)
    642           {
    643             throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
    644           }
    645           this.OnResourceGroupIdChanging(value);
    646           this.SendPropertyChanging();
    647           this._ResourceGroupId = value;
    648           this.SendPropertyChanged("ResourceGroupId");
    649           this.OnResourceGroupIdChanged();
    650         }
    651       }
    652     }
    653    
    654     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_ResourceResourceGroup", Storage="_Resource", ThisKey="ResourceGroupId", OtherKey="Id", IsForeignKey=true)]
    655     public Resource Resource
    656     {
    657       get
    658       {
    659         return this._Resource.Entity;
    660       }
    661       set
    662       {
    663         Resource previousValue = this._Resource.Entity;
    664         if (((previousValue != value)
    665               || (this._Resource.HasLoadedOrAssignedValue == false)))
    666         {
    667           this.SendPropertyChanging();
    668           if ((previousValue != null))
    669           {
    670             this._Resource.Entity = null;
    671             previousValue.ResourceResourceGroups.Remove(this);
    672           }
    673           this._Resource.Entity = value;
    674           if ((value != null))
    675           {
    676             value.ResourceResourceGroups.Add(this);
    677             this._ResourceGroupId = value.Id;
    678           }
    679           else
    680           {
    681             this._ResourceGroupId = default(System.Guid);
    682           }
    683           this.SendPropertyChanged("Resource");
    684         }
    685       }
    686     }
    687    
    688     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_ResourceResourceGroup1", Storage="_Resource1", ThisKey="ResourceId", OtherKey="Id", IsForeignKey=true)]
    689     public Resource Resource1
    690     {
    691       get
    692       {
    693         return this._Resource1.Entity;
    694       }
    695       set
    696       {
    697         Resource previousValue = this._Resource1.Entity;
    698         if (((previousValue != value)
    699               || (this._Resource1.HasLoadedOrAssignedValue == false)))
    700         {
    701           this.SendPropertyChanging();
    702           if ((previousValue != null))
    703           {
    704             this._Resource1.Entity = null;
    705             previousValue.ResourceResourceGroups1.Remove(this);
    706           }
    707           this._Resource1.Entity = value;
    708           if ((value != null))
    709           {
    710             value.ResourceResourceGroups1.Add(this);
    711             this._ResourceId = value.Id;
    712           }
    713           else
    714           {
    715             this._ResourceId = default(System.Guid);
    716           }
    717           this.SendPropertyChanged("Resource1");
    718         }
    719       }
    720     }
    721    
    722     public event PropertyChangingEventHandler PropertyChanging;
    723    
    724     public event PropertyChangedEventHandler PropertyChanged;
    725    
    726     protected virtual void SendPropertyChanging()
    727     {
    728       if ((this.PropertyChanging != null))
    729       {
    730         this.PropertyChanging(this, emptyChangingEventArgs);
    731       }
    732     }
    733    
    734     protected virtual void SendPropertyChanged(String propertyName)
    735     {
    736       if ((this.PropertyChanged != null))
    737       {
    738         this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    739       }
    740     }
    741   }
    742  
    743   [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ClientLog")]
    744   public partial class ClientLog : INotifyPropertyChanging, INotifyPropertyChanged
    745   {
    746    
    747     private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    748    
    749     private System.DateTime _Timestamp;
    750    
    751     private System.Guid _ResourceId;
    752    
    753     private string _Message;
    754    
    755     private string _Exception;
    756    
    757     private EntityRef<Resource> _Resource;
    758    
     724
     725    public ResourceResourceGroup() {
     726      this._Resource = default(EntityRef<Resource>);
     727      this._Resource1 = default(EntityRef<Resource>);
     728      OnCreated();
     729    }
     730
     731    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_ResourceId", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true)]
     732    public System.Guid ResourceId {
     733      get {
     734        return this._ResourceId;
     735      }
     736      set {
     737        if ((this._ResourceId != value)) {
     738          if (this._Resource1.HasLoadedOrAssignedValue) {
     739            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     740          }
     741          this.OnResourceIdChanging(value);
     742          this.SendPropertyChanging();
     743          this._ResourceId = value;
     744          this.SendPropertyChanged("ResourceId");
     745          this.OnResourceIdChanged();
     746        }
     747      }
     748    }
     749
     750    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_ResourceGroupId", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true)]
     751    public System.Guid ResourceGroupId {
     752      get {
     753        return this._ResourceGroupId;
     754      }
     755      set {
     756        if ((this._ResourceGroupId != value)) {
     757          if (this._Resource.HasLoadedOrAssignedValue) {
     758            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     759          }
     760          this.OnResourceGroupIdChanging(value);
     761          this.SendPropertyChanging();
     762          this._ResourceGroupId = value;
     763          this.SendPropertyChanged("ResourceGroupId");
     764          this.OnResourceGroupIdChanged();
     765        }
     766      }
     767    }
     768
     769    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Resource_ResourceResourceGroup", Storage = "_Resource", ThisKey = "ResourceGroupId", OtherKey = "Id", IsForeignKey = true)]
     770    public Resource ParentResource {
     771      get {
     772        return this._Resource.Entity;
     773      }
     774      set {
     775        Resource previousValue = this._Resource.Entity;
     776        if (((previousValue != value)
     777              || (this._Resource.HasLoadedOrAssignedValue == false))) {
     778          this.SendPropertyChanging();
     779          if ((previousValue != null)) {
     780            this._Resource.Entity = null;
     781            previousValue.ResourceResourceGroupsChilds.Remove(this);
     782          }
     783          this._Resource.Entity = value;
     784          if ((value != null)) {
     785            value.ResourceResourceGroupsChilds.Add(this);
     786            this._ResourceGroupId = value.Id;
     787          } else {
     788            this._ResourceGroupId = default(System.Guid);
     789          }
     790          this.SendPropertyChanged("ParentResource");
     791        }
     792      }
     793    }
     794
     795    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Resource_ResourceResourceGroup1", Storage = "_Resource1", ThisKey = "ResourceId", OtherKey = "Id", IsForeignKey = true)]
     796    public Resource Resource {
     797      get {
     798        return this._Resource1.Entity;
     799      }
     800      set {
     801        Resource previousValue = this._Resource1.Entity;
     802        if (((previousValue != value)
     803              || (this._Resource1.HasLoadedOrAssignedValue == false))) {
     804          this.SendPropertyChanging();
     805          if ((previousValue != null)) {
     806            this._Resource1.Entity = null;
     807            previousValue.ResourceResourceGroupsParents.Remove(this);
     808          }
     809          this._Resource1.Entity = value;
     810          if ((value != null)) {
     811            value.ResourceResourceGroupsParents.Add(this);
     812            this._ResourceId = value.Id;
     813          } else {
     814            this._ResourceId = default(System.Guid);
     815          }
     816          this.SendPropertyChanged("Resource");
     817        }
     818      }
     819    }
     820
     821    public event PropertyChangingEventHandler PropertyChanging;
     822
     823    public event PropertyChangedEventHandler PropertyChanged;
     824
     825    protected virtual void SendPropertyChanging() {
     826      if ((this.PropertyChanging != null)) {
     827        this.PropertyChanging(this, emptyChangingEventArgs);
     828      }
     829    }
     830
     831    protected virtual void SendPropertyChanged(String propertyName) {
     832      if ((this.PropertyChanged != null)) {
     833        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     834      }
     835    }
     836  }
     837
     838  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.ClientLog")]
     839  public partial class ClientLog : INotifyPropertyChanging, INotifyPropertyChanged {
     840
     841    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     842
     843    private System.DateTime _Timestamp;
     844
     845    private System.Guid _ResourceId;
     846
     847    private string _Message;
     848
     849    private EntityRef<Resource> _Resource;
     850
    759851    #region Extensibility Method Definitions
    760852    partial void OnLoaded();
     
    767859    partial void OnMessageChanging(string value);
    768860    partial void OnMessageChanged();
    769     partial void OnExceptionChanging(string value);
    770     partial void OnExceptionChanged();
    771861    #endregion
    772    
    773     public ClientLog()
    774     {
    775       this._Resource = default(EntityRef<Resource>);
    776       OnCreated();
    777     }
    778    
    779     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Timestamp", DbType="DateTime NOT NULL", IsPrimaryKey=true)]
    780     public System.DateTime Timestamp
    781     {
    782       get
    783       {
    784         return this._Timestamp;
    785       }
    786       set
    787       {
    788         if ((this._Timestamp != value))
    789         {
    790           this.OnTimestampChanging(value);
    791           this.SendPropertyChanging();
    792           this._Timestamp = value;
    793           this.SendPropertyChanged("Timestamp");
    794           this.OnTimestampChanged();
    795         }
    796       }
    797     }
    798    
    799     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    800     public System.Guid ResourceId
    801     {
    802       get
    803       {
    804         return this._ResourceId;
    805       }
    806       set
    807       {
    808         if ((this._ResourceId != value))
    809         {
    810           if (this._Resource.HasLoadedOrAssignedValue)
    811           {
    812             throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
    813           }
    814           this.OnResourceIdChanging(value);
    815           this.SendPropertyChanging();
    816           this._ResourceId = value;
    817           this.SendPropertyChanged("ResourceId");
    818           this.OnResourceIdChanged();
    819         }
    820       }
    821     }
    822    
    823     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Message", DbType="NVarChar(MAX)")]
    824     public string Message
    825     {
    826       get
    827       {
    828         return this._Message;
    829       }
    830       set
    831       {
    832         if ((this._Message != value))
    833         {
    834           this.OnMessageChanging(value);
    835           this.SendPropertyChanging();
    836           this._Message = value;
    837           this.SendPropertyChanged("Message");
    838           this.OnMessageChanged();
    839         }
    840       }
    841     }
    842    
    843     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Exception", DbType="NVarChar(MAX)")]
    844     public string Exception
    845     {
    846       get
    847       {
    848         return this._Exception;
    849       }
    850       set
    851       {
    852         if ((this._Exception != value))
    853         {
    854           this.OnExceptionChanging(value);
    855           this.SendPropertyChanging();
    856           this._Exception = value;
    857           this.SendPropertyChanged("Exception");
    858           this.OnExceptionChanged();
    859         }
    860       }
    861     }
    862    
    863     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_ClientLog", Storage="_Resource", ThisKey="ResourceId", OtherKey="Id", IsForeignKey=true)]
    864     public Resource Resource
    865     {
    866       get
    867       {
    868         return this._Resource.Entity;
    869       }
    870       set
    871       {
    872         Resource previousValue = this._Resource.Entity;
    873         if (((previousValue != value)
    874               || (this._Resource.HasLoadedOrAssignedValue == false)))
    875         {
    876           this.SendPropertyChanging();
    877           if ((previousValue != null))
    878           {
    879             this._Resource.Entity = null;
    880             previousValue.ClientLogs.Remove(this);
    881           }
    882           this._Resource.Entity = value;
    883           if ((value != null))
    884           {
    885             value.ClientLogs.Add(this);
    886             this._ResourceId = value.Id;
    887           }
    888           else
    889           {
    890             this._ResourceId = default(System.Guid);
    891           }
    892           this.SendPropertyChanged("Resource");
    893         }
    894       }
    895     }
    896    
    897     public event PropertyChangingEventHandler PropertyChanging;
    898    
    899     public event PropertyChangedEventHandler PropertyChanged;
    900    
    901     protected virtual void SendPropertyChanging()
    902     {
    903       if ((this.PropertyChanging != null))
    904       {
    905         this.PropertyChanging(this, emptyChangingEventArgs);
    906       }
    907     }
    908    
    909     protected virtual void SendPropertyChanged(String propertyName)
    910     {
    911       if ((this.PropertyChanged != null))
    912       {
    913         this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    914       }
    915     }
    916   }
    917  
    918   [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.[User]")]
    919   public partial class User : INotifyPropertyChanging, INotifyPropertyChanged
    920   {
    921    
    922     private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    923    
    924     private System.Guid _Id;
    925    
    926     private string _FullName;
    927    
    928     private EntitySet<UserUserGroup> _UserUserGroups;
    929    
     862
     863    public ClientLog() {
     864      this._Resource = default(EntityRef<Resource>);
     865      OnCreated();
     866    }
     867
     868    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Timestamp", DbType = "DateTime NOT NULL", IsPrimaryKey = true)]
     869    public System.DateTime Timestamp {
     870      get {
     871        return this._Timestamp;
     872      }
     873      set {
     874        if ((this._Timestamp != value)) {
     875          this.OnTimestampChanging(value);
     876          this.SendPropertyChanging();
     877          this._Timestamp = value;
     878          this.SendPropertyChanged("Timestamp");
     879          this.OnTimestampChanged();
     880        }
     881      }
     882    }
     883
     884    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_ResourceId", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true)]
     885    public System.Guid ResourceId {
     886      get {
     887        return this._ResourceId;
     888      }
     889      set {
     890        if ((this._ResourceId != value)) {
     891          if (this._Resource.HasLoadedOrAssignedValue) {
     892            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     893          }
     894          this.OnResourceIdChanging(value);
     895          this.SendPropertyChanging();
     896          this._ResourceId = value;
     897          this.SendPropertyChanged("ResourceId");
     898          this.OnResourceIdChanged();
     899        }
     900      }
     901    }
     902
     903    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Message", DbType = "NVarChar(MAX)")]
     904    public string Message {
     905      get {
     906        return this._Message;
     907      }
     908      set {
     909        if ((this._Message != value)) {
     910          this.OnMessageChanging(value);
     911          this.SendPropertyChanging();
     912          this._Message = value;
     913          this.SendPropertyChanged("Message");
     914          this.OnMessageChanged();
     915        }
     916      }
     917    }
     918
     919    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Resource_ClientLog", Storage = "_Resource", ThisKey = "ResourceId", OtherKey = "Id", IsForeignKey = true)]
     920    public Resource Resource {
     921      get {
     922        return this._Resource.Entity;
     923      }
     924      set {
     925        Resource previousValue = this._Resource.Entity;
     926        if (((previousValue != value)
     927              || (this._Resource.HasLoadedOrAssignedValue == false))) {
     928          this.SendPropertyChanging();
     929          if ((previousValue != null)) {
     930            this._Resource.Entity = null;
     931            previousValue.ClientLogs.Remove(this);
     932          }
     933          this._Resource.Entity = value;
     934          if ((value != null)) {
     935            value.ClientLogs.Add(this);
     936            this._ResourceId = value.Id;
     937          } else {
     938            this._ResourceId = default(System.Guid);
     939          }
     940          this.SendPropertyChanged("Resource");
     941        }
     942      }
     943    }
     944
     945    public event PropertyChangingEventHandler PropertyChanging;
     946
     947    public event PropertyChangedEventHandler PropertyChanged;
     948
     949    protected virtual void SendPropertyChanging() {
     950      if ((this.PropertyChanging != null)) {
     951        this.PropertyChanging(this, emptyChangingEventArgs);
     952      }
     953    }
     954
     955    protected virtual void SendPropertyChanged(String propertyName) {
     956      if ((this.PropertyChanged != null)) {
     957        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     958      }
     959    }
     960  }
     961
     962  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.ClientError")]
     963  public partial class ClientError : INotifyPropertyChanging, INotifyPropertyChanged {
     964
     965    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     966
     967    private System.Guid _Id;
     968
     969    private System.DateTime _Timestamp;
     970
     971    private string _Exception;
     972
     973    private string _UserComment;
     974
     975    private string _ConfigDump;
     976
     977    private System.Nullable<System.Guid> _ClientId;
     978
     979    private System.Nullable<System.Guid> _UserId;
     980
     981    private EntityRef<Resource> _Resource;
     982
     983    private EntityRef<UserGroupBase> _UserGroupBase;
     984
    930985    #region Extensibility Method Definitions
    931986    partial void OnLoaded();
     
    934989    partial void OnIdChanging(System.Guid value);
    935990    partial void OnIdChanged();
     991    partial void OnTimestampChanging(System.DateTime value);
     992    partial void OnTimestampChanged();
     993    partial void OnExceptionChanging(string value);
     994    partial void OnExceptionChanged();
     995    partial void OnUserCommentChanging(string value);
     996    partial void OnUserCommentChanged();
     997    partial void OnConfigDumpChanging(string value);
     998    partial void OnConfigDumpChanged();
     999    partial void OnClientIdChanging(System.Nullable<System.Guid> value);
     1000    partial void OnClientIdChanged();
     1001    partial void OnUserIdChanging(System.Nullable<System.Guid> value);
     1002    partial void OnUserIdChanged();
     1003    #endregion
     1004
     1005    public ClientError() {
     1006      this._Resource = default(EntityRef<Resource>);
     1007      this._UserGroupBase = default(EntityRef<UserGroupBase>);
     1008      OnCreated();
     1009    }
     1010
     1011    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Id", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true, IsDbGenerated = true)]
     1012    public System.Guid Id {
     1013      get {
     1014        return this._Id;
     1015      }
     1016      set {
     1017        if ((this._Id != value)) {
     1018          this.OnIdChanging(value);
     1019          this.SendPropertyChanging();
     1020          this._Id = value;
     1021          this.SendPropertyChanged("Id");
     1022          this.OnIdChanged();
     1023        }
     1024      }
     1025    }
     1026
     1027    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Timestamp", DbType = "DateTime NOT NULL")]
     1028    public System.DateTime Timestamp {
     1029      get {
     1030        return this._Timestamp;
     1031      }
     1032      set {
     1033        if ((this._Timestamp != value)) {
     1034          this.OnTimestampChanging(value);
     1035          this.SendPropertyChanging();
     1036          this._Timestamp = value;
     1037          this.SendPropertyChanged("Timestamp");
     1038          this.OnTimestampChanged();
     1039        }
     1040      }
     1041    }
     1042
     1043    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Exception", DbType = "NVarChar(MAX)")]
     1044    public string Exception {
     1045      get {
     1046        return this._Exception;
     1047      }
     1048      set {
     1049        if ((this._Exception != value)) {
     1050          this.OnExceptionChanging(value);
     1051          this.SendPropertyChanging();
     1052          this._Exception = value;
     1053          this.SendPropertyChanged("Exception");
     1054          this.OnExceptionChanged();
     1055        }
     1056      }
     1057    }
     1058
     1059    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_UserComment", DbType = "NVarChar(MAX)")]
     1060    public string UserComment {
     1061      get {
     1062        return this._UserComment;
     1063      }
     1064      set {
     1065        if ((this._UserComment != value)) {
     1066          this.OnUserCommentChanging(value);
     1067          this.SendPropertyChanging();
     1068          this._UserComment = value;
     1069          this.SendPropertyChanged("UserComment");
     1070          this.OnUserCommentChanged();
     1071        }
     1072      }
     1073    }
     1074
     1075    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_ConfigDump", DbType = "NVarChar(MAX)")]
     1076    public string ConfigDump {
     1077      get {
     1078        return this._ConfigDump;
     1079      }
     1080      set {
     1081        if ((this._ConfigDump != value)) {
     1082          this.OnConfigDumpChanging(value);
     1083          this.SendPropertyChanging();
     1084          this._ConfigDump = value;
     1085          this.SendPropertyChanged("ConfigDump");
     1086          this.OnConfigDumpChanged();
     1087        }
     1088      }
     1089    }
     1090
     1091    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_ClientId", DbType = "UniqueIdentifier")]
     1092    public System.Nullable<System.Guid> ClientId {
     1093      get {
     1094        return this._ClientId;
     1095      }
     1096      set {
     1097        if ((this._ClientId != value)) {
     1098          if (this._Resource.HasLoadedOrAssignedValue) {
     1099            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     1100          }
     1101          this.OnClientIdChanging(value);
     1102          this.SendPropertyChanging();
     1103          this._ClientId = value;
     1104          this.SendPropertyChanged("ClientId");
     1105          this.OnClientIdChanged();
     1106        }
     1107      }
     1108    }
     1109
     1110    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_UserId", DbType = "UniqueIdentifier")]
     1111    public System.Nullable<System.Guid> UserId {
     1112      get {
     1113        return this._UserId;
     1114      }
     1115      set {
     1116        if ((this._UserId != value)) {
     1117          if (this._UserGroupBase.HasLoadedOrAssignedValue) {
     1118            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     1119          }
     1120          this.OnUserIdChanging(value);
     1121          this.SendPropertyChanging();
     1122          this._UserId = value;
     1123          this.SendPropertyChanged("UserId");
     1124          this.OnUserIdChanged();
     1125        }
     1126      }
     1127    }
     1128
     1129    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Resource_ClientError", Storage = "_Resource", ThisKey = "ClientId", OtherKey = "Id", IsForeignKey = true)]
     1130    public Resource Resource {
     1131      get {
     1132        return this._Resource.Entity;
     1133      }
     1134      set {
     1135        Resource previousValue = this._Resource.Entity;
     1136        if (((previousValue != value)
     1137              || (this._Resource.HasLoadedOrAssignedValue == false))) {
     1138          this.SendPropertyChanging();
     1139          if ((previousValue != null)) {
     1140            this._Resource.Entity = null;
     1141            previousValue.ClientErrors.Remove(this);
     1142          }
     1143          this._Resource.Entity = value;
     1144          if ((value != null)) {
     1145            value.ClientErrors.Add(this);
     1146            this._ClientId = value.Id;
     1147          } else {
     1148            this._ClientId = default(Nullable<System.Guid>);
     1149          }
     1150          this.SendPropertyChanged("Resource");
     1151        }
     1152      }
     1153    }
     1154
     1155    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "UserGroupBase_ClientError", Storage = "_UserGroupBase", ThisKey = "UserId", OtherKey = "Id", IsForeignKey = true)]
     1156    public UserGroupBase UserGroupBase {
     1157      get {
     1158        return this._UserGroupBase.Entity;
     1159      }
     1160      set {
     1161        UserGroupBase previousValue = this._UserGroupBase.Entity;
     1162        if (((previousValue != value)
     1163              || (this._UserGroupBase.HasLoadedOrAssignedValue == false))) {
     1164          this.SendPropertyChanging();
     1165          if ((previousValue != null)) {
     1166            this._UserGroupBase.Entity = null;
     1167            previousValue.ClientErrors.Remove(this);
     1168          }
     1169          this._UserGroupBase.Entity = value;
     1170          if ((value != null)) {
     1171            value.ClientErrors.Add(this);
     1172            this._UserId = value.Id;
     1173          } else {
     1174            this._UserId = default(Nullable<System.Guid>);
     1175          }
     1176          this.SendPropertyChanged("UserGroupBase");
     1177        }
     1178      }
     1179    }
     1180
     1181    public event PropertyChangingEventHandler PropertyChanging;
     1182
     1183    public event PropertyChangedEventHandler PropertyChanged;
     1184
     1185    protected virtual void SendPropertyChanging() {
     1186      if ((this.PropertyChanging != null)) {
     1187        this.PropertyChanging(this, emptyChangingEventArgs);
     1188      }
     1189    }
     1190
     1191    protected virtual void SendPropertyChanged(String propertyName) {
     1192      if ((this.PropertyChanged != null)) {
     1193        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     1194      }
     1195    }
     1196  }
     1197
     1198  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.UserGroup")]
     1199  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code = "UserGroupBase", Type = typeof(UserGroupBase))]
     1200  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code = "User", Type = typeof(User))]
     1201  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code = "UserGroup", Type = typeof(UserGroup))]
     1202  public partial class UserGroupBase : INotifyPropertyChanging, INotifyPropertyChanged {
     1203
     1204    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     1205
     1206    private System.Guid _Id;
     1207
     1208    private string _Type;
     1209
     1210    private EntitySet<ClientError> _ClientErrors;
     1211
     1212    private EntitySet<UserGroupUserGroup> _UserGroupUserGroups;
     1213
     1214    private EntitySet<UserGroupUserGroup> _UserGroupUserGroups1;
     1215
     1216    #region Extensibility Method Definitions
     1217    partial void OnLoaded();
     1218    partial void OnValidate(System.Data.Linq.ChangeAction action);
     1219    partial void OnCreated();
     1220    partial void OnIdChanging(System.Guid value);
     1221    partial void OnIdChanged();
     1222    partial void OnTypeChanging(string value);
     1223    partial void OnTypeChanged();
     1224    #endregion
     1225
     1226    public UserGroupBase() {
     1227      this._ClientErrors = new EntitySet<ClientError>(new Action<ClientError>(this.attach_ClientErrors), new Action<ClientError>(this.detach_ClientErrors));
     1228      this._UserGroupUserGroups = new EntitySet<UserGroupUserGroup>(new Action<UserGroupUserGroup>(this.attach_UserGroupUserGroups), new Action<UserGroupUserGroup>(this.detach_UserGroupUserGroups));
     1229      this._UserGroupUserGroups1 = new EntitySet<UserGroupUserGroup>(new Action<UserGroupUserGroup>(this.attach_UserGroupUserGroups1), new Action<UserGroupUserGroup>(this.detach_UserGroupUserGroups1));
     1230      OnCreated();
     1231    }
     1232
     1233    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Id", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true, IsDbGenerated = true)]
     1234    public System.Guid Id {
     1235      get {
     1236        return this._Id;
     1237      }
     1238      set {
     1239        if ((this._Id != value)) {
     1240          this.OnIdChanging(value);
     1241          this.SendPropertyChanging();
     1242          this._Id = value;
     1243          this.SendPropertyChanged("Id");
     1244          this.OnIdChanged();
     1245        }
     1246      }
     1247    }
     1248
     1249    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Type", DbType = "NVarChar(10) NOT NULL", CanBeNull = false, IsDiscriminator = true)]
     1250    public string Type {
     1251      get {
     1252        return this._Type;
     1253      }
     1254      set {
     1255        if ((this._Type != value)) {
     1256          this.OnTypeChanging(value);
     1257          this.SendPropertyChanging();
     1258          this._Type = value;
     1259          this.SendPropertyChanged("Type");
     1260          this.OnTypeChanged();
     1261        }
     1262      }
     1263    }
     1264
     1265    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "UserGroupBase_ClientError", Storage = "_ClientErrors", ThisKey = "Id", OtherKey = "UserId")]
     1266    public EntitySet<ClientError> ClientErrors {
     1267      get {
     1268        return this._ClientErrors;
     1269      }
     1270      set {
     1271        this._ClientErrors.Assign(value);
     1272      }
     1273    }
     1274
     1275    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "UserGroupBase_UserGroupUserGroup", Storage = "_UserGroupUserGroups", ThisKey = "Id", OtherKey = "UserGroupId")]
     1276    public EntitySet<UserGroupUserGroup> UserGroupUserGroupsChilds {
     1277      get {
     1278        return this._UserGroupUserGroups;
     1279      }
     1280      set {
     1281        this._UserGroupUserGroups.Assign(value);
     1282      }
     1283    }
     1284
     1285    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "UserGroupBase_UserGroupUserGroup1", Storage = "_UserGroupUserGroups1", ThisKey = "Id", OtherKey = "UserGroupUserGroupId")]
     1286    public EntitySet<UserGroupUserGroup> UserGroupUserGroupsParents {
     1287      get {
     1288        return this._UserGroupUserGroups1;
     1289      }
     1290      set {
     1291        this._UserGroupUserGroups1.Assign(value);
     1292      }
     1293    }
     1294
     1295    public event PropertyChangingEventHandler PropertyChanging;
     1296
     1297    public event PropertyChangedEventHandler PropertyChanged;
     1298
     1299    protected virtual void SendPropertyChanging() {
     1300      if ((this.PropertyChanging != null)) {
     1301        this.PropertyChanging(this, emptyChangingEventArgs);
     1302      }
     1303    }
     1304
     1305    protected virtual void SendPropertyChanged(String propertyName) {
     1306      if ((this.PropertyChanged != null)) {
     1307        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     1308      }
     1309    }
     1310
     1311    private void attach_ClientErrors(ClientError entity) {
     1312      this.SendPropertyChanging();
     1313      entity.UserGroupBase = this;
     1314    }
     1315
     1316    private void detach_ClientErrors(ClientError entity) {
     1317      this.SendPropertyChanging();
     1318      entity.UserGroupBase = null;
     1319    }
     1320
     1321    private void attach_UserGroupUserGroups(UserGroupUserGroup entity) {
     1322      this.SendPropertyChanging();
     1323      entity.UserGroup = this;
     1324    }
     1325
     1326    private void detach_UserGroupUserGroups(UserGroupUserGroup entity) {
     1327      this.SendPropertyChanging();
     1328      entity.UserGroup = null;
     1329    }
     1330
     1331    private void attach_UserGroupUserGroups1(UserGroupUserGroup entity) {
     1332      this.SendPropertyChanging();
     1333      entity.UserGroupBase = this;
     1334    }
     1335
     1336    private void detach_UserGroupUserGroups1(UserGroupUserGroup entity) {
     1337      this.SendPropertyChanging();
     1338      entity.UserGroupBase = null;
     1339    }
     1340  }
     1341
     1342  public partial class User : UserGroupBase {
     1343
     1344    private string _FullName;
     1345
     1346    #region Extensibility Method Definitions
     1347    partial void OnLoaded();
     1348    partial void OnValidate(System.Data.Linq.ChangeAction action);
     1349    partial void OnCreated();
    9361350    partial void OnFullNameChanging(string value);
    9371351    partial void OnFullNameChanged();
    9381352    #endregion
    939    
    940     public User()
    941     {
    942       this._UserUserGroups = new EntitySet<UserUserGroup>(new Action<UserUserGroup>(this.attach_UserUserGroups), new Action<UserUserGroup>(this.detach_UserUserGroups));
    943       OnCreated();
    944     }
    945    
    946     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    947     public System.Guid Id
    948     {
    949       get
    950       {
    951         return this._Id;
    952       }
    953       set
    954       {
    955         if ((this._Id != value))
    956         {
    957           this.OnIdChanging(value);
    958           this.SendPropertyChanging();
    959           this._Id = value;
    960           this.SendPropertyChanged("Id");
    961           this.OnIdChanged();
    962         }
    963       }
    964     }
    965    
    966     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FullName", DbType="NVarChar(MAX)")]
    967     public string FullName
    968     {
    969       get
    970       {
    971         return this._FullName;
    972       }
    973       set
    974       {
    975         if ((this._FullName != value))
    976         {
    977           this.OnFullNameChanging(value);
    978           this.SendPropertyChanging();
    979           this._FullName = value;
    980           this.SendPropertyChanged("FullName");
    981           this.OnFullNameChanged();
    982         }
    983       }
    984     }
    985    
    986     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="User_UserUserGroup", Storage="_UserUserGroups", ThisKey="Id", OtherKey="UserId")]
    987     public EntitySet<UserUserGroup> UserUserGroups
    988     {
    989       get
    990       {
    991         return this._UserUserGroups;
    992       }
    993       set
    994       {
    995         this._UserUserGroups.Assign(value);
    996       }
    997     }
    998    
    999     public event PropertyChangingEventHandler PropertyChanging;
    1000    
    1001     public event PropertyChangedEventHandler PropertyChanged;
    1002    
    1003     protected virtual void SendPropertyChanging()
    1004     {
    1005       if ((this.PropertyChanging != null))
    1006       {
    1007         this.PropertyChanging(this, emptyChangingEventArgs);
    1008       }
    1009     }
    1010    
    1011     protected virtual void SendPropertyChanged(String propertyName)
    1012     {
    1013       if ((this.PropertyChanged != null))
    1014       {
    1015         this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    1016       }
    1017     }
    1018    
    1019     private void attach_UserUserGroups(UserUserGroup entity)
    1020     {
    1021       this.SendPropertyChanging();
    1022       entity.User = this;
    1023     }
    1024    
    1025     private void detach_UserUserGroups(UserUserGroup entity)
    1026     {
    1027       this.SendPropertyChanging();
    1028       entity.User = null;
    1029     }
    1030   }
    1031  
    1032   [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.UserGroup")]
    1033   public partial class UserGroup : INotifyPropertyChanging, INotifyPropertyChanged
    1034   {
    1035    
    1036     private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    1037    
    1038     private System.Guid _Id;
    1039    
    1040     private string _Name;
    1041    
    1042     private System.Nullable<System.Guid> _ParentUserGroup;
    1043    
    1044     private EntitySet<UserUserGroup> _UserUserGroups;
    1045    
     1353
     1354    public User() {
     1355      OnCreated();
     1356    }
     1357
     1358    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_FullName", DbType = "NVarChar(MAX)")]
     1359    public string FullName {
     1360      get {
     1361        return this._FullName;
     1362      }
     1363      set {
     1364        if ((this._FullName != value)) {
     1365          this.OnFullNameChanging(value);
     1366          this.SendPropertyChanging();
     1367          this._FullName = value;
     1368          this.SendPropertyChanged("FullName");
     1369          this.OnFullNameChanged();
     1370        }
     1371      }
     1372    }
     1373  }
     1374
     1375  public partial class UserGroup : UserGroupBase {
     1376
     1377    private string _Name;
     1378
     1379    #region Extensibility Method Definitions
     1380    partial void OnLoaded();
     1381    partial void OnValidate(System.Data.Linq.ChangeAction action);
     1382    partial void OnCreated();
     1383    partial void OnNameChanging(string value);
     1384    partial void OnNameChanged();
     1385    #endregion
     1386
     1387    public UserGroup() {
     1388      OnCreated();
     1389    }
     1390
     1391    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Name", DbType = "NVarChar(MAX)")]
     1392    public string Name {
     1393      get {
     1394        return this._Name;
     1395      }
     1396      set {
     1397        if ((this._Name != value)) {
     1398          this.OnNameChanging(value);
     1399          this.SendPropertyChanging();
     1400          this._Name = value;
     1401          this.SendPropertyChanged("Name");
     1402          this.OnNameChanged();
     1403        }
     1404      }
     1405    }
     1406  }
     1407
     1408  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.ClientType")]
     1409  public partial class ClientType : INotifyPropertyChanging, INotifyPropertyChanged {
     1410
     1411    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     1412
     1413    private System.Guid _Id;
     1414
     1415    private string _Name;
     1416
     1417    private EntityRef<Client> _Client;
     1418
    10461419    #region Extensibility Method Definitions
    10471420    partial void OnLoaded();
     
    10521425    partial void OnNameChanging(string value);
    10531426    partial void OnNameChanged();
    1054     partial void OnParentUserGroupChanging(System.Nullable<System.Guid> value);
    1055     partial void OnParentUserGroupChanged();
    10561427    #endregion
    1057    
    1058     public UserGroup()
    1059     {
    1060       this._UserUserGroups = new EntitySet<UserUserGroup>(new Action<UserUserGroup>(this.attach_UserUserGroups), new Action<UserUserGroup>(this.detach_UserUserGroups));
    1061       OnCreated();
    1062     }
    1063    
    1064     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    1065     public System.Guid Id
    1066     {
    1067       get
    1068       {
    1069         return this._Id;
    1070       }
    1071       set
    1072       {
    1073         if ((this._Id != value))
    1074         {
    1075           this.OnIdChanging(value);
    1076           this.SendPropertyChanging();
    1077           this._Id = value;
    1078           this.SendPropertyChanged("Id");
    1079           this.OnIdChanged();
    1080         }
    1081       }
    1082     }
    1083    
    1084     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(MAX) NOT NULL", CanBeNull=false)]
    1085     public string Name
    1086     {
    1087       get
    1088       {
    1089         return this._Name;
    1090       }
    1091       set
    1092       {
    1093         if ((this._Name != value))
    1094         {
    1095           this.OnNameChanging(value);
    1096           this.SendPropertyChanging();
    1097           this._Name = value;
    1098           this.SendPropertyChanged("Name");
    1099           this.OnNameChanged();
    1100         }
    1101       }
    1102     }
    1103    
    1104     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentUserGroup", DbType="UniqueIdentifier")]
    1105     public System.Nullable<System.Guid> ParentUserGroup
    1106     {
    1107       get
    1108       {
    1109         return this._ParentUserGroup;
    1110       }
    1111       set
    1112       {
    1113         if ((this._ParentUserGroup != value))
    1114         {
    1115           this.OnParentUserGroupChanging(value);
    1116           this.SendPropertyChanging();
    1117           this._ParentUserGroup = value;
    1118           this.SendPropertyChanged("ParentUserGroup");
    1119           this.OnParentUserGroupChanged();
    1120         }
    1121       }
    1122     }
    1123    
    1124     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="UserGroup_UserUserGroup", Storage="_UserUserGroups", ThisKey="Id", OtherKey="UserGroupId")]
    1125     public EntitySet<UserUserGroup> UserUserGroups
    1126     {
    1127       get
    1128       {
    1129         return this._UserUserGroups;
    1130       }
    1131       set
    1132       {
    1133         this._UserUserGroups.Assign(value);
    1134       }
    1135     }
    1136    
    1137     public event PropertyChangingEventHandler PropertyChanging;
    1138    
    1139     public event PropertyChangedEventHandler PropertyChanged;
    1140    
    1141     protected virtual void SendPropertyChanging()
    1142     {
    1143       if ((this.PropertyChanging != null))
    1144       {
    1145         this.PropertyChanging(this, emptyChangingEventArgs);
    1146       }
    1147     }
    1148    
    1149     protected virtual void SendPropertyChanged(String propertyName)
    1150     {
    1151       if ((this.PropertyChanged != null))
    1152       {
    1153         this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    1154       }
    1155     }
    1156    
    1157     private void attach_UserUserGroups(UserUserGroup entity)
    1158     {
    1159       this.SendPropertyChanging();
    1160       entity.UserGroup = this;
    1161     }
    1162    
    1163     private void detach_UserUserGroups(UserUserGroup entity)
    1164     {
    1165       this.SendPropertyChanging();
    1166       entity.UserGroup = null;
    1167     }
    1168   }
    1169  
    1170   [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.UserUserGroup")]
    1171   public partial class UserUserGroup : INotifyPropertyChanging, INotifyPropertyChanged
    1172   {
    1173    
    1174     private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    1175    
    1176     private System.Guid _UserId;
    1177    
    1178     private System.Guid _UserGroupId;
    1179    
    1180     private EntityRef<User> _User;
    1181    
    1182     private EntityRef<UserGroup> _UserGroup;
    1183    
     1428
     1429    public ClientType() {
     1430      this._Client = default(EntityRef<Client>);
     1431      OnCreated();
     1432    }
     1433
     1434    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Id", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true, IsDbGenerated = true)]
     1435    public System.Guid Id {
     1436      get {
     1437        return this._Id;
     1438      }
     1439      set {
     1440        if ((this._Id != value)) {
     1441          if (this._Client.HasLoadedOrAssignedValue) {
     1442            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     1443          }
     1444          this.OnIdChanging(value);
     1445          this.SendPropertyChanging();
     1446          this._Id = value;
     1447          this.SendPropertyChanged("Id");
     1448          this.OnIdChanged();
     1449        }
     1450      }
     1451    }
     1452
     1453    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Name", DbType = "NVarChar(MAX) NOT NULL", CanBeNull = false)]
     1454    public string Name {
     1455      get {
     1456        return this._Name;
     1457      }
     1458      set {
     1459        if ((this._Name != value)) {
     1460          this.OnNameChanging(value);
     1461          this.SendPropertyChanging();
     1462          this._Name = value;
     1463          this.SendPropertyChanged("Name");
     1464          this.OnNameChanged();
     1465        }
     1466      }
     1467    }
     1468
     1469    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Client_ClientType", Storage = "_Client", ThisKey = "Id", OtherKey = "ClientTypeId", IsForeignKey = true)]
     1470    public Client Client {
     1471      get {
     1472        return this._Client.Entity;
     1473      }
     1474      set {
     1475        Client previousValue = this._Client.Entity;
     1476        if (((previousValue != value)
     1477              || (this._Client.HasLoadedOrAssignedValue == false))) {
     1478          this.SendPropertyChanging();
     1479          if ((previousValue != null)) {
     1480            this._Client.Entity = null;
     1481            previousValue.ClientType = null;
     1482          }
     1483          this._Client.Entity = value;
     1484          if ((value != null)) {
     1485            value.ClientType = this;
     1486            this._Id = value.ClientTypeId;
     1487          } else {
     1488            this._Id = default(System.Guid);
     1489          }
     1490          this.SendPropertyChanged("Client");
     1491        }
     1492      }
     1493    }
     1494
     1495    public event PropertyChangingEventHandler PropertyChanging;
     1496
     1497    public event PropertyChangedEventHandler PropertyChanged;
     1498
     1499    protected virtual void SendPropertyChanging() {
     1500      if ((this.PropertyChanging != null)) {
     1501        this.PropertyChanging(this, emptyChangingEventArgs);
     1502      }
     1503    }
     1504
     1505    protected virtual void SendPropertyChanged(String propertyName) {
     1506      if ((this.PropertyChanged != null)) {
     1507        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     1508      }
     1509    }
     1510  }
     1511
     1512  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.OperatingSystem")]
     1513  public partial class OperatingSystem : INotifyPropertyChanging, INotifyPropertyChanged {
     1514
     1515    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     1516
     1517    private System.Guid _Id;
     1518
     1519    private string _Name;
     1520
     1521    private EntityRef<Client> _Client;
     1522
    11841523    #region Extensibility Method Definitions
    11851524    partial void OnLoaded();
    11861525    partial void OnValidate(System.Data.Linq.ChangeAction action);
    11871526    partial void OnCreated();
    1188     partial void OnUserIdChanging(System.Guid value);
    1189     partial void OnUserIdChanged();
     1527    partial void OnIdChanging(System.Guid value);
     1528    partial void OnIdChanged();
     1529    partial void OnNameChanging(string value);
     1530    partial void OnNameChanged();
     1531    #endregion
     1532
     1533    public OperatingSystem() {
     1534      this._Client = default(EntityRef<Client>);
     1535      OnCreated();
     1536    }
     1537
     1538    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Id", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true, IsDbGenerated = true)]
     1539    public System.Guid Id {
     1540      get {
     1541        return this._Id;
     1542      }
     1543      set {
     1544        if ((this._Id != value)) {
     1545          if (this._Client.HasLoadedOrAssignedValue) {
     1546            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     1547          }
     1548          this.OnIdChanging(value);
     1549          this.SendPropertyChanging();
     1550          this._Id = value;
     1551          this.SendPropertyChanged("Id");
     1552          this.OnIdChanged();
     1553        }
     1554      }
     1555    }
     1556
     1557    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Name", DbType = "NVarChar(MAX) NOT NULL", CanBeNull = false)]
     1558    public string Name {
     1559      get {
     1560        return this._Name;
     1561      }
     1562      set {
     1563        if ((this._Name != value)) {
     1564          this.OnNameChanging(value);
     1565          this.SendPropertyChanging();
     1566          this._Name = value;
     1567          this.SendPropertyChanged("Name");
     1568          this.OnNameChanged();
     1569        }
     1570      }
     1571    }
     1572
     1573    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Client_OperatingSystem", Storage = "_Client", ThisKey = "Id", OtherKey = "OperatingSystemId", IsForeignKey = true)]
     1574    public Client Client {
     1575      get {
     1576        return this._Client.Entity;
     1577      }
     1578      set {
     1579        Client previousValue = this._Client.Entity;
     1580        if (((previousValue != value)
     1581              || (this._Client.HasLoadedOrAssignedValue == false))) {
     1582          this.SendPropertyChanging();
     1583          if ((previousValue != null)) {
     1584            this._Client.Entity = null;
     1585            previousValue.OperatingSystem = null;
     1586          }
     1587          this._Client.Entity = value;
     1588          if ((value != null)) {
     1589            value.OperatingSystem = this;
     1590            this._Id = value.OperatingSystemId;
     1591          } else {
     1592            this._Id = default(System.Guid);
     1593          }
     1594          this.SendPropertyChanged("Client");
     1595        }
     1596      }
     1597    }
     1598
     1599    public event PropertyChangingEventHandler PropertyChanging;
     1600
     1601    public event PropertyChangedEventHandler PropertyChanged;
     1602
     1603    protected virtual void SendPropertyChanging() {
     1604      if ((this.PropertyChanging != null)) {
     1605        this.PropertyChanging(this, emptyChangingEventArgs);
     1606      }
     1607    }
     1608
     1609    protected virtual void SendPropertyChanged(String propertyName) {
     1610      if ((this.PropertyChanged != null)) {
     1611        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     1612      }
     1613    }
     1614  }
     1615
     1616  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.Country")]
     1617  public partial class Country : INotifyPropertyChanging, INotifyPropertyChanged {
     1618
     1619    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     1620
     1621    private System.Guid _Id;
     1622
     1623    private string _Name;
     1624
     1625    private EntityRef<Client> _Client;
     1626
     1627    #region Extensibility Method Definitions
     1628    partial void OnLoaded();
     1629    partial void OnValidate(System.Data.Linq.ChangeAction action);
     1630    partial void OnCreated();
     1631    partial void OnIdChanging(System.Guid value);
     1632    partial void OnIdChanged();
     1633    partial void OnNameChanging(string value);
     1634    partial void OnNameChanged();
     1635    #endregion
     1636
     1637    public Country() {
     1638      this._Client = default(EntityRef<Client>);
     1639      OnCreated();
     1640    }
     1641
     1642    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Id", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true, IsDbGenerated = true)]
     1643    public System.Guid Id {
     1644      get {
     1645        return this._Id;
     1646      }
     1647      set {
     1648        if ((this._Id != value)) {
     1649          if (this._Client.HasLoadedOrAssignedValue) {
     1650            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     1651          }
     1652          this.OnIdChanging(value);
     1653          this.SendPropertyChanging();
     1654          this._Id = value;
     1655          this.SendPropertyChanged("Id");
     1656          this.OnIdChanged();
     1657        }
     1658      }
     1659    }
     1660
     1661    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Name", DbType = "NVarChar(MAX) NOT NULL", CanBeNull = false)]
     1662    public string Name {
     1663      get {
     1664        return this._Name;
     1665      }
     1666      set {
     1667        if ((this._Name != value)) {
     1668          this.OnNameChanging(value);
     1669          this.SendPropertyChanging();
     1670          this._Name = value;
     1671          this.SendPropertyChanged("Name");
     1672          this.OnNameChanged();
     1673        }
     1674      }
     1675    }
     1676
     1677    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Client_Country", Storage = "_Client", ThisKey = "Id", OtherKey = "CountryId", IsForeignKey = true)]
     1678    public Client Client {
     1679      get {
     1680        return this._Client.Entity;
     1681      }
     1682      set {
     1683        Client previousValue = this._Client.Entity;
     1684        if (((previousValue != value)
     1685              || (this._Client.HasLoadedOrAssignedValue == false))) {
     1686          this.SendPropertyChanging();
     1687          if ((previousValue != null)) {
     1688            this._Client.Entity = null;
     1689            previousValue.Country = null;
     1690          }
     1691          this._Client.Entity = value;
     1692          if ((value != null)) {
     1693            value.Country = this;
     1694            this._Id = value.CountryId;
     1695          } else {
     1696            this._Id = default(System.Guid);
     1697          }
     1698          this.SendPropertyChanged("Client");
     1699        }
     1700      }
     1701    }
     1702
     1703    public event PropertyChangingEventHandler PropertyChanging;
     1704
     1705    public event PropertyChangedEventHandler PropertyChanged;
     1706
     1707    protected virtual void SendPropertyChanging() {
     1708      if ((this.PropertyChanging != null)) {
     1709        this.PropertyChanging(this, emptyChangingEventArgs);
     1710      }
     1711    }
     1712
     1713    protected virtual void SendPropertyChanged(String propertyName) {
     1714      if ((this.PropertyChanged != null)) {
     1715        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     1716      }
     1717    }
     1718  }
     1719
     1720  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.ClientConfiguration")]
     1721  public partial class ClientConfiguration : INotifyPropertyChanging, INotifyPropertyChanged {
     1722
     1723    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     1724
     1725    private System.Guid _Id;
     1726
     1727    private string _Hash;
     1728
     1729    private string _Description;
     1730
     1731    private EntityRef<Client> _Client;
     1732
     1733    #region Extensibility Method Definitions
     1734    partial void OnLoaded();
     1735    partial void OnValidate(System.Data.Linq.ChangeAction action);
     1736    partial void OnCreated();
     1737    partial void OnIdChanging(System.Guid value);
     1738    partial void OnIdChanged();
     1739    partial void OnHashChanging(string value);
     1740    partial void OnHashChanged();
     1741    partial void OnDescriptionChanging(string value);
     1742    partial void OnDescriptionChanged();
     1743    #endregion
     1744
     1745    public ClientConfiguration() {
     1746      this._Client = default(EntityRef<Client>);
     1747      OnCreated();
     1748    }
     1749
     1750    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Id", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true, IsDbGenerated = true)]
     1751    public System.Guid Id {
     1752      get {
     1753        return this._Id;
     1754      }
     1755      set {
     1756        if ((this._Id != value)) {
     1757          if (this._Client.HasLoadedOrAssignedValue) {
     1758            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     1759          }
     1760          this.OnIdChanging(value);
     1761          this.SendPropertyChanging();
     1762          this._Id = value;
     1763          this.SendPropertyChanged("Id");
     1764          this.OnIdChanged();
     1765        }
     1766      }
     1767    }
     1768
     1769    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Hash", DbType = "NVarChar(MAX) NOT NULL", CanBeNull = false)]
     1770    public string Hash {
     1771      get {
     1772        return this._Hash;
     1773      }
     1774      set {
     1775        if ((this._Hash != value)) {
     1776          this.OnHashChanging(value);
     1777          this.SendPropertyChanging();
     1778          this._Hash = value;
     1779          this.SendPropertyChanged("Hash");
     1780          this.OnHashChanged();
     1781        }
     1782      }
     1783    }
     1784
     1785    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Description", DbType = "NVarChar(MAX)")]
     1786    public string Description {
     1787      get {
     1788        return this._Description;
     1789      }
     1790      set {
     1791        if ((this._Description != value)) {
     1792          this.OnDescriptionChanging(value);
     1793          this.SendPropertyChanging();
     1794          this._Description = value;
     1795          this.SendPropertyChanged("Description");
     1796          this.OnDescriptionChanged();
     1797        }
     1798      }
     1799    }
     1800
     1801    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Client_ClientConfiguration", Storage = "_Client", ThisKey = "Id", OtherKey = "ClientConfigurationId", IsForeignKey = true)]
     1802    public Client Client {
     1803      get {
     1804        return this._Client.Entity;
     1805      }
     1806      set {
     1807        Client previousValue = this._Client.Entity;
     1808        if (((previousValue != value)
     1809              || (this._Client.HasLoadedOrAssignedValue == false))) {
     1810          this.SendPropertyChanging();
     1811          if ((previousValue != null)) {
     1812            this._Client.Entity = null;
     1813            previousValue.ClientConfiguration = null;
     1814          }
     1815          this._Client.Entity = value;
     1816          if ((value != null)) {
     1817            value.ClientConfiguration = this;
     1818            this._Id = value.ClientConfigurationId;
     1819          } else {
     1820            this._Id = default(System.Guid);
     1821          }
     1822          this.SendPropertyChanged("Client");
     1823        }
     1824      }
     1825    }
     1826
     1827    public event PropertyChangingEventHandler PropertyChanging;
     1828
     1829    public event PropertyChangedEventHandler PropertyChanged;
     1830
     1831    protected virtual void SendPropertyChanging() {
     1832      if ((this.PropertyChanging != null)) {
     1833        this.PropertyChanging(this, emptyChangingEventArgs);
     1834      }
     1835    }
     1836
     1837    protected virtual void SendPropertyChanged(String propertyName) {
     1838      if ((this.PropertyChanged != null)) {
     1839        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     1840      }
     1841    }
     1842  }
     1843
     1844  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.Plugin")]
     1845  public partial class Plugin : INotifyPropertyChanging, INotifyPropertyChanged {
     1846
     1847    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     1848
     1849    private System.Guid _Id;
     1850
     1851    private string _Name;
     1852
     1853    private string _StrongName;
     1854
     1855    private string _Version;
     1856
     1857    private EntitySet<ResourcePlugin> _ResourcePlugins;
     1858
     1859    #region Extensibility Method Definitions
     1860    partial void OnLoaded();
     1861    partial void OnValidate(System.Data.Linq.ChangeAction action);
     1862    partial void OnCreated();
     1863    partial void OnIdChanging(System.Guid value);
     1864    partial void OnIdChanged();
     1865    partial void OnNameChanging(string value);
     1866    partial void OnNameChanged();
     1867    partial void OnStrongNameChanging(string value);
     1868    partial void OnStrongNameChanged();
     1869    partial void OnVersionChanging(string value);
     1870    partial void OnVersionChanged();
     1871    #endregion
     1872
     1873    public Plugin() {
     1874      this._ResourcePlugins = new EntitySet<ResourcePlugin>(new Action<ResourcePlugin>(this.attach_ResourcePlugins), new Action<ResourcePlugin>(this.detach_ResourcePlugins));
     1875      OnCreated();
     1876    }
     1877
     1878    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Id", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true, IsDbGenerated = true)]
     1879    public System.Guid Id {
     1880      get {
     1881        return this._Id;
     1882      }
     1883      set {
     1884        if ((this._Id != value)) {
     1885          this.OnIdChanging(value);
     1886          this.SendPropertyChanging();
     1887          this._Id = value;
     1888          this.SendPropertyChanged("Id");
     1889          this.OnIdChanged();
     1890        }
     1891      }
     1892    }
     1893
     1894    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Name", DbType = "NVarChar(MAX) NOT NULL", CanBeNull = false)]
     1895    public string Name {
     1896      get {
     1897        return this._Name;
     1898      }
     1899      set {
     1900        if ((this._Name != value)) {
     1901          this.OnNameChanging(value);
     1902          this.SendPropertyChanging();
     1903          this._Name = value;
     1904          this.SendPropertyChanged("Name");
     1905          this.OnNameChanged();
     1906        }
     1907      }
     1908    }
     1909
     1910    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_StrongName", DbType = "NVarChar(MAX)")]
     1911    public string StrongName {
     1912      get {
     1913        return this._StrongName;
     1914      }
     1915      set {
     1916        if ((this._StrongName != value)) {
     1917          this.OnStrongNameChanging(value);
     1918          this.SendPropertyChanging();
     1919          this._StrongName = value;
     1920          this.SendPropertyChanged("StrongName");
     1921          this.OnStrongNameChanged();
     1922        }
     1923      }
     1924    }
     1925
     1926    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Version", DbType = "NVarChar(20) NOT NULL", CanBeNull = false)]
     1927    public string Version {
     1928      get {
     1929        return this._Version;
     1930      }
     1931      set {
     1932        if ((this._Version != value)) {
     1933          this.OnVersionChanging(value);
     1934          this.SendPropertyChanging();
     1935          this._Version = value;
     1936          this.SendPropertyChanged("Version");
     1937          this.OnVersionChanged();
     1938        }
     1939      }
     1940    }
     1941
     1942    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Plugin_ResourcePlugin", Storage = "_ResourcePlugins", ThisKey = "Id", OtherKey = "PluginId")]
     1943    public EntitySet<ResourcePlugin> ResourcePlugins {
     1944      get {
     1945        return this._ResourcePlugins;
     1946      }
     1947      set {
     1948        this._ResourcePlugins.Assign(value);
     1949      }
     1950    }
     1951
     1952    public event PropertyChangingEventHandler PropertyChanging;
     1953
     1954    public event PropertyChangedEventHandler PropertyChanged;
     1955
     1956    protected virtual void SendPropertyChanging() {
     1957      if ((this.PropertyChanging != null)) {
     1958        this.PropertyChanging(this, emptyChangingEventArgs);
     1959      }
     1960    }
     1961
     1962    protected virtual void SendPropertyChanged(String propertyName) {
     1963      if ((this.PropertyChanged != null)) {
     1964        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     1965      }
     1966    }
     1967
     1968    private void attach_ResourcePlugins(ResourcePlugin entity) {
     1969      this.SendPropertyChanging();
     1970      entity.Plugin = this;
     1971    }
     1972
     1973    private void detach_ResourcePlugins(ResourcePlugin entity) {
     1974      this.SendPropertyChanging();
     1975      entity.Plugin = null;
     1976    }
     1977  }
     1978
     1979  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.ResourcePlugin")]
     1980  public partial class ResourcePlugin : INotifyPropertyChanging, INotifyPropertyChanged {
     1981
     1982    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     1983
     1984    private System.Guid _ResourceId;
     1985
     1986    private System.Guid _PluginId;
     1987
     1988    private EntityRef<Plugin> _Plugin;
     1989
     1990    private EntityRef<Resource> _Resource;
     1991
     1992    #region Extensibility Method Definitions
     1993    partial void OnLoaded();
     1994    partial void OnValidate(System.Data.Linq.ChangeAction action);
     1995    partial void OnCreated();
     1996    partial void OnResourceIdChanging(System.Guid value);
     1997    partial void OnResourceIdChanged();
     1998    partial void OnPluginIdChanging(System.Guid value);
     1999    partial void OnPluginIdChanged();
     2000    #endregion
     2001
     2002    public ResourcePlugin() {
     2003      this._Plugin = default(EntityRef<Plugin>);
     2004      this._Resource = default(EntityRef<Resource>);
     2005      OnCreated();
     2006    }
     2007
     2008    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_ResourceId", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true)]
     2009    public System.Guid ResourceId {
     2010      get {
     2011        return this._ResourceId;
     2012      }
     2013      set {
     2014        if ((this._ResourceId != value)) {
     2015          if (this._Resource.HasLoadedOrAssignedValue) {
     2016            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     2017          }
     2018          this.OnResourceIdChanging(value);
     2019          this.SendPropertyChanging();
     2020          this._ResourceId = value;
     2021          this.SendPropertyChanged("ResourceId");
     2022          this.OnResourceIdChanged();
     2023        }
     2024      }
     2025    }
     2026
     2027    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_PluginId", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true)]
     2028    public System.Guid PluginId {
     2029      get {
     2030        return this._PluginId;
     2031      }
     2032      set {
     2033        if ((this._PluginId != value)) {
     2034          if (this._Plugin.HasLoadedOrAssignedValue) {
     2035            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     2036          }
     2037          this.OnPluginIdChanging(value);
     2038          this.SendPropertyChanging();
     2039          this._PluginId = value;
     2040          this.SendPropertyChanged("PluginId");
     2041          this.OnPluginIdChanged();
     2042        }
     2043      }
     2044    }
     2045
     2046    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Plugin_ResourcePlugin", Storage = "_Plugin", ThisKey = "PluginId", OtherKey = "Id", IsForeignKey = true)]
     2047    public Plugin Plugin {
     2048      get {
     2049        return this._Plugin.Entity;
     2050      }
     2051      set {
     2052        Plugin previousValue = this._Plugin.Entity;
     2053        if (((previousValue != value)
     2054              || (this._Plugin.HasLoadedOrAssignedValue == false))) {
     2055          this.SendPropertyChanging();
     2056          if ((previousValue != null)) {
     2057            this._Plugin.Entity = null;
     2058            previousValue.ResourcePlugins.Remove(this);
     2059          }
     2060          this._Plugin.Entity = value;
     2061          if ((value != null)) {
     2062            value.ResourcePlugins.Add(this);
     2063            this._PluginId = value.Id;
     2064          } else {
     2065            this._PluginId = default(System.Guid);
     2066          }
     2067          this.SendPropertyChanged("Plugin");
     2068        }
     2069      }
     2070    }
     2071
     2072    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "Resource_ResourcePlugin", Storage = "_Resource", ThisKey = "ResourceId", OtherKey = "Id", IsForeignKey = true)]
     2073    public Resource Resource {
     2074      get {
     2075        return this._Resource.Entity;
     2076      }
     2077      set {
     2078        Resource previousValue = this._Resource.Entity;
     2079        if (((previousValue != value)
     2080              || (this._Resource.HasLoadedOrAssignedValue == false))) {
     2081          this.SendPropertyChanging();
     2082          if ((previousValue != null)) {
     2083            this._Resource.Entity = null;
     2084            previousValue.ResourcePlugins.Remove(this);
     2085          }
     2086          this._Resource.Entity = value;
     2087          if ((value != null)) {
     2088            value.ResourcePlugins.Add(this);
     2089            this._ResourceId = value.Id;
     2090          } else {
     2091            this._ResourceId = default(System.Guid);
     2092          }
     2093          this.SendPropertyChanged("Resource");
     2094        }
     2095      }
     2096    }
     2097
     2098    public event PropertyChangingEventHandler PropertyChanging;
     2099
     2100    public event PropertyChangedEventHandler PropertyChanged;
     2101
     2102    protected virtual void SendPropertyChanging() {
     2103      if ((this.PropertyChanging != null)) {
     2104        this.PropertyChanging(this, emptyChangingEventArgs);
     2105      }
     2106    }
     2107
     2108    protected virtual void SendPropertyChanged(String propertyName) {
     2109      if ((this.PropertyChanged != null)) {
     2110        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     2111      }
     2112    }
     2113  }
     2114
     2115  [global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.UserGroupUserGroup")]
     2116  public partial class UserGroupUserGroup : INotifyPropertyChanging, INotifyPropertyChanged {
     2117
     2118    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     2119
     2120    private System.Guid _UserGroupId;
     2121
     2122    private System.Guid _UserGroupUserGroupId;
     2123
     2124    private EntityRef<UserGroupBase> _UserGroup;
     2125
     2126    private EntityRef<UserGroupBase> _UserGroupBase;
     2127
     2128    #region Extensibility Method Definitions
     2129    partial void OnLoaded();
     2130    partial void OnValidate(System.Data.Linq.ChangeAction action);
     2131    partial void OnCreated();
    11902132    partial void OnUserGroupIdChanging(System.Guid value);
    11912133    partial void OnUserGroupIdChanged();
     2134    partial void OnUserGroupUserGroupIdChanging(System.Guid value);
     2135    partial void OnUserGroupUserGroupIdChanged();
    11922136    #endregion
    1193    
    1194     public UserUserGroup()
    1195     {
    1196       this._User = default(EntityRef<User>);
    1197       this._UserGroup = default(EntityRef<UserGroup>);
    1198       OnCreated();
    1199     }
    1200    
    1201     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    1202     public System.Guid UserId
    1203     {
    1204       get
    1205       {
    1206         return this._UserId;
    1207       }
    1208       set
    1209       {
    1210         if ((this._UserId != value))
    1211         {
    1212           if (this._User.HasLoadedOrAssignedValue)
    1213           {
    1214             throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
    1215           }
    1216           this.OnUserIdChanging(value);
    1217           this.SendPropertyChanging();
    1218           this._UserId = value;
    1219           this.SendPropertyChanged("UserId");
    1220           this.OnUserIdChanged();
    1221         }
    1222       }
    1223     }
    1224    
    1225     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserGroupId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    1226     public System.Guid UserGroupId
    1227     {
    1228       get
    1229       {
    1230         return this._UserGroupId;
    1231       }
    1232       set
    1233       {
    1234         if ((this._UserGroupId != value))
    1235         {
    1236           if (this._UserGroup.HasLoadedOrAssignedValue)
    1237           {
    1238             throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
    1239           }
    1240           this.OnUserGroupIdChanging(value);
    1241           this.SendPropertyChanging();
    1242           this._UserGroupId = value;
    1243           this.SendPropertyChanged("UserGroupId");
    1244           this.OnUserGroupIdChanged();
    1245         }
    1246       }
    1247     }
    1248    
    1249     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="User_UserUserGroup", Storage="_User", ThisKey="UserId", OtherKey="Id", IsForeignKey=true)]
    1250     public User User
    1251     {
    1252       get
    1253       {
    1254         return this._User.Entity;
    1255       }
    1256       set
    1257       {
    1258         User previousValue = this._User.Entity;
    1259         if (((previousValue != value)
    1260               || (this._User.HasLoadedOrAssignedValue == false)))
    1261         {
    1262           this.SendPropertyChanging();
    1263           if ((previousValue != null))
    1264           {
    1265             this._User.Entity = null;
    1266             previousValue.UserUserGroups.Remove(this);
    1267           }
    1268           this._User.Entity = value;
    1269           if ((value != null))
    1270           {
    1271             value.UserUserGroups.Add(this);
    1272             this._UserId = value.Id;
    1273           }
    1274           else
    1275           {
    1276             this._UserId = default(System.Guid);
    1277           }
    1278           this.SendPropertyChanged("User");
    1279         }
    1280       }
    1281     }
    1282    
    1283     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="UserGroup_UserUserGroup", Storage="_UserGroup", ThisKey="UserGroupId", OtherKey="Id", IsForeignKey=true)]
    1284     public UserGroup UserGroup
    1285     {
    1286       get
    1287       {
    1288         return this._UserGroup.Entity;
    1289       }
    1290       set
    1291       {
    1292         UserGroup previousValue = this._UserGroup.Entity;
    1293         if (((previousValue != value)
    1294               || (this._UserGroup.HasLoadedOrAssignedValue == false)))
    1295         {
    1296           this.SendPropertyChanging();
    1297           if ((previousValue != null))
    1298           {
    1299             this._UserGroup.Entity = null;
    1300             previousValue.UserUserGroups.Remove(this);
    1301           }
    1302           this._UserGroup.Entity = value;
    1303           if ((value != null))
    1304           {
    1305             value.UserUserGroups.Add(this);
    1306             this._UserGroupId = value.Id;
    1307           }
    1308           else
    1309           {
    1310             this._UserGroupId = default(System.Guid);
    1311           }
    1312           this.SendPropertyChanged("UserGroup");
    1313         }
    1314       }
    1315     }
    1316    
    1317     public event PropertyChangingEventHandler PropertyChanging;
    1318    
    1319     public event PropertyChangedEventHandler PropertyChanged;
    1320    
    1321     protected virtual void SendPropertyChanging()
    1322     {
    1323       if ((this.PropertyChanging != null))
    1324       {
    1325         this.PropertyChanging(this, emptyChangingEventArgs);
    1326       }
    1327     }
    1328    
    1329     protected virtual void SendPropertyChanged(String propertyName)
    1330     {
    1331       if ((this.PropertyChanged != null))
    1332       {
    1333         this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    1334       }
    1335     }
    1336   }
     2137
     2138    public UserGroupUserGroup() {
     2139      this._UserGroup = default(EntityRef<UserGroupBase>);
     2140      this._UserGroupBase = default(EntityRef<UserGroupBase>);
     2141      OnCreated();
     2142    }
     2143
     2144    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_UserGroupId", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true)]
     2145    public System.Guid UserGroupId {
     2146      get {
     2147        return this._UserGroupId;
     2148      }
     2149      set {
     2150        if ((this._UserGroupId != value)) {
     2151          if (this._UserGroup.HasLoadedOrAssignedValue) {
     2152            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     2153          }
     2154          this.OnUserGroupIdChanging(value);
     2155          this.SendPropertyChanging();
     2156          this._UserGroupId = value;
     2157          this.SendPropertyChanged("UserGroupId");
     2158          this.OnUserGroupIdChanged();
     2159        }
     2160      }
     2161    }
     2162
     2163    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_UserGroupUserGroupId", DbType = "UniqueIdentifier NOT NULL", IsPrimaryKey = true)]
     2164    public System.Guid UserGroupUserGroupId {
     2165      get {
     2166        return this._UserGroupUserGroupId;
     2167      }
     2168      set {
     2169        if ((this._UserGroupUserGroupId != value)) {
     2170          if (this._UserGroupBase.HasLoadedOrAssignedValue) {
     2171            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     2172          }
     2173          this.OnUserGroupUserGroupIdChanging(value);
     2174          this.SendPropertyChanging();
     2175          this._UserGroupUserGroupId = value;
     2176          this.SendPropertyChanged("UserGroupUserGroupId");
     2177          this.OnUserGroupUserGroupIdChanged();
     2178        }
     2179      }
     2180    }
     2181
     2182    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "UserGroupBase_UserGroupUserGroup", Storage = "_UserGroup", ThisKey = "UserGroupId", OtherKey = "Id", IsForeignKey = true)]
     2183    public UserGroupBase UserGroup {
     2184      get {
     2185        return this._UserGroup.Entity;
     2186      }
     2187      set {
     2188        UserGroupBase previousValue = this._UserGroup.Entity;
     2189        if (((previousValue != value)
     2190              || (this._UserGroup.HasLoadedOrAssignedValue == false))) {
     2191          this.SendPropertyChanging();
     2192          if ((previousValue != null)) {
     2193            this._UserGroup.Entity = null;
     2194            previousValue.UserGroupUserGroupsChilds.Remove(this);
     2195          }
     2196          this._UserGroup.Entity = value;
     2197          if ((value != null)) {
     2198            value.UserGroupUserGroupsChilds.Add(this);
     2199            this._UserGroupId = value.Id;
     2200          } else {
     2201            this._UserGroupId = default(System.Guid);
     2202          }
     2203          this.SendPropertyChanged("UserGroup");
     2204        }
     2205      }
     2206    }
     2207
     2208    [global::System.Data.Linq.Mapping.AssociationAttribute(Name = "UserGroupBase_UserGroupUserGroup1", Storage = "_UserGroupBase", ThisKey = "UserGroupUserGroupId", OtherKey = "Id", IsForeignKey = true)]
     2209    public UserGroupBase UserGroupBase {
     2210      get {
     2211        return this._UserGroupBase.Entity;
     2212      }
     2213      set {
     2214        UserGroupBase previousValue = this._UserGroupBase.Entity;
     2215        if (((previousValue != value)
     2216              || (this._UserGroupBase.HasLoadedOrAssignedValue == false))) {
     2217          this.SendPropertyChanging();
     2218          if ((previousValue != null)) {
     2219            this._UserGroupBase.Entity = null;
     2220            previousValue.UserGroupUserGroupsParents.Remove(this);
     2221          }
     2222          this._UserGroupBase.Entity = value;
     2223          if ((value != null)) {
     2224            value.UserGroupUserGroupsParents.Add(this);
     2225            this._UserGroupUserGroupId = value.Id;
     2226          } else {
     2227            this._UserGroupUserGroupId = default(System.Guid);
     2228          }
     2229          this.SendPropertyChanged("UserGroupBase");
     2230        }
     2231      }
     2232    }
     2233
     2234    public event PropertyChangingEventHandler PropertyChanging;
     2235
     2236    public event PropertyChangedEventHandler PropertyChanged;
     2237
     2238    protected virtual void SendPropertyChanging() {
     2239      if ((this.PropertyChanging != null)) {
     2240        this.PropertyChanging(this, emptyChangingEventArgs);
     2241      }
     2242    }
     2243
     2244    protected virtual void SendPropertyChanged(String propertyName) {
     2245      if ((this.PropertyChanged != null)) {
     2246        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     2247      }
     2248    }
     2249  }
    13372250}
    13382251#pragma warning restore 1591
  • branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/SQL Scripts/Initialize ClientManagement.sql

    r6820 r6825  
    22GO
    33
    4 /****** Object:  Table [dbo].[Resource]    Script Date: 09/22/2011 12:53:30 ******/
     4/****** Object:  Table [dbo].[Resource]    Script Date: 09/23/2011 17:55:12 ******/
    55SET ANSI_NULLS ON
    66GO
     
    1616  [ProcessorType] [nvarchar](max) NULL,
    1717  [NumberOfCores] [int] NULL,
    18   [IPAddress] [nvarchar](max) NULL,
    1918  [MemorySize] [int] NULL,
    20   [OperatingSystem] [nvarchar](max) NULL,
    21   [Country] [nvarchar](max) NULL,
     19  [OperatingSystem] [uniqueidentifier] NULL,
     20  [Country] [uniqueidentifier] NULL,
    2221  [HeuristicLabVersion] [nvarchar](max) NULL,
    23   [ClientType] [nvarchar](max) NULL,
     22  [ClientType] [uniqueidentifier] NULL,
     23  [ClientConfiguration] [uniqueidentifier] NULL,
     24  [Timestamp] [datetime] NULL,
    2425 CONSTRAINT [PK_Resource] PRIMARY KEY CLUSTERED
    2526(
     
    2930
    3031GO
    31 /****** Object:  Table [dbo].[ResourceResourceGroup]    Script Date: 09/22/2011 12:53:47 ******/
     32
     33ALTER TABLE [dbo].[Resource]  WITH CHECK ADD  CONSTRAINT [FK_Resource_ClientConfiguration] FOREIGN KEY([ClientConfiguration])
     34REFERENCES [dbo].[ClientConfiguration] ([Id])
     35GO
     36
     37ALTER TABLE [dbo].[Resource] CHECK CONSTRAINT [FK_Resource_ClientConfiguration]
     38GO
     39
     40ALTER TABLE [dbo].[Resource]  WITH CHECK ADD  CONSTRAINT [FK_Resource_ClientType] FOREIGN KEY([ClientType])
     41REFERENCES [dbo].[ClientType] ([Id])
     42GO
     43
     44ALTER TABLE [dbo].[Resource] CHECK CONSTRAINT [FK_Resource_ClientType]
     45GO
     46
     47ALTER TABLE [dbo].[Resource]  WITH CHECK ADD  CONSTRAINT [FK_Resource_Country] FOREIGN KEY([Country])
     48REFERENCES [dbo].[Country] ([Id])
     49GO
     50
     51ALTER TABLE [dbo].[Resource] CHECK CONSTRAINT [FK_Resource_Country]
     52GO
     53
     54ALTER TABLE [dbo].[Resource]  WITH CHECK ADD  CONSTRAINT [FK_Resource_OperatingSystem] FOREIGN KEY([OperatingSystem])
     55REFERENCES [dbo].[OperatingSystem] ([Id])
     56GO
     57
     58ALTER TABLE [dbo].[Resource] CHECK CONSTRAINT [FK_Resource_OperatingSystem]
     59GO
     60
     61ALTER TABLE [dbo].[Resource] ADD  CONSTRAINT [DF_Resource_Id]  DEFAULT (newsequentialid()) FOR [Id]
     62GO
     63
     64
     65/****** Object:  Table [dbo].[ResourceResourceGroup]    Script Date: 09/23/2011 13:34:10 ******/
    3266SET ANSI_NULLS ON
    3367GO
     
    6094
    6195ALTER TABLE [dbo].[ResourceResourceGroup] CHECK CONSTRAINT [FK_ResourceResourceGroup_ResourceId]
    62 
    63 /****** Object:  Table [dbo].[ClientLog]    Script Date: 09/22/2011 12:54:07 ******/
     96GO
     97
     98
     99/****** Object:  Table [dbo].[Plugin]    Script Date: 09/23/2011 13:34:39 ******/
     100SET ANSI_NULLS ON
     101GO
     102
     103SET QUOTED_IDENTIFIER ON
     104GO
     105
     106CREATE TABLE [dbo].[Plugin](
     107  [Id] [uniqueidentifier] NOT NULL,
     108  [Name] [nvarchar](max) NOT NULL,
     109  [StrongName] [nvarchar](max) NULL,
     110  [Version] [nvarchar](20) NOT NULL,
     111 CONSTRAINT [PK_Plugin] PRIMARY KEY CLUSTERED
     112(
     113  [Id] ASC
     114)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
     115) ON [PRIMARY]
     116
     117GO
     118
     119/****** Object:  Table [dbo].[ResourcePlugin]    Script Date: 09/23/2011 13:34:53 ******/
     120SET ANSI_NULLS ON
     121GO
     122
     123SET QUOTED_IDENTIFIER ON
     124GO
     125
     126CREATE TABLE [dbo].[ResourcePlugin](
     127  [ResourceId] [uniqueidentifier] NOT NULL,
     128  [PluginId] [uniqueidentifier] NOT NULL,
     129 CONSTRAINT [PK_ResourcePlugin] PRIMARY KEY CLUSTERED
     130(
     131  [ResourceId] ASC,
     132  [PluginId] ASC
     133)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
     134) ON [PRIMARY]
     135
     136GO
     137
     138ALTER TABLE [dbo].[ResourcePlugin]  WITH CHECK ADD  CONSTRAINT [FK_ResourcePlugin_Plugin] FOREIGN KEY([PluginId])
     139REFERENCES [dbo].[Plugin] ([Id])
     140GO
     141
     142ALTER TABLE [dbo].[ResourcePlugin] CHECK CONSTRAINT [FK_ResourcePlugin_Plugin]
     143GO
     144
     145ALTER TABLE [dbo].[ResourcePlugin]  WITH CHECK ADD  CONSTRAINT [FK_ResourcePlugin_Resource] FOREIGN KEY([ResourceId])
     146REFERENCES [dbo].[Resource] ([Id])
     147GO
     148
     149ALTER TABLE [dbo].[ResourcePlugin] CHECK CONSTRAINT [FK_ResourcePlugin_Resource]
     150GO
     151
     152
     153/****** Object:  Table [dbo].[UserGroup]    Script Date: 09/23/2011 13:35:16 ******/
     154SET ANSI_NULLS ON
     155GO
     156
     157SET QUOTED_IDENTIFIER ON
     158GO
     159
     160CREATE TABLE [dbo].[UserGroup](
     161  [Id] [uniqueidentifier] NOT NULL,
     162  [FullName] [nvarchar](max) NULL,
     163  [Name] [nvarchar](max) NULL,
     164  [Type] [nvarchar](10) NOT NULL,
     165 CONSTRAINT [PK_UserGroup] PRIMARY KEY CLUSTERED
     166(
     167  [Id] ASC
     168)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
     169) ON [PRIMARY]
     170
     171GO
     172
     173
     174
     175/****** Object:  Table [dbo].[UserGroupUserGroup]    Script Date: 09/23/2011 14:24:45 ******/
     176SET ANSI_NULLS ON
     177GO
     178
     179SET QUOTED_IDENTIFIER ON
     180GO
     181
     182CREATE TABLE [dbo].[UserGroupUserGroup](
     183  [UserGroupId] [uniqueidentifier] NOT NULL,
     184  [UserGroupUserGroupId] [uniqueidentifier] NOT NULL,
     185 CONSTRAINT [PK_UserGroupUserGroup] PRIMARY KEY CLUSTERED
     186(
     187  [UserGroupId] ASC,
     188  [UserGroupUserGroupId] ASC
     189)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
     190) ON [PRIMARY]
     191
     192GO
     193
     194ALTER TABLE [dbo].[UserGroupUserGroup]  WITH CHECK ADD  CONSTRAINT [FK_UserGroupUserGroup_UserGroup] FOREIGN KEY([UserGroupId])
     195REFERENCES [dbo].[UserGroup] ([Id])
     196GO
     197
     198ALTER TABLE [dbo].[UserGroupUserGroup] CHECK CONSTRAINT [FK_UserGroupUserGroup_UserGroup]
     199GO
     200
     201ALTER TABLE [dbo].[UserGroupUserGroup]  WITH CHECK ADD  CONSTRAINT [FK_UserGroupUserGroup_UserGroup1] FOREIGN KEY([UserGroupUserGroupId])
     202REFERENCES [dbo].[UserGroup] ([Id])
     203GO
     204
     205ALTER TABLE [dbo].[UserGroupUserGroup] CHECK CONSTRAINT [FK_UserGroupUserGroup_UserGroup1]
     206GO
     207
     208
     209
     210
     211/****** Object:  Table [dbo].[OperatingSystem]    Script Date: 09/23/2011 13:36:01 ******/
     212SET ANSI_NULLS ON
     213GO
     214
     215SET QUOTED_IDENTIFIER ON
     216GO
     217
     218CREATE TABLE [dbo].[OperatingSystem](
     219  [Id] [uniqueidentifier] NOT NULL,
     220  [Name] [nvarchar](max) NOT NULL,
     221 CONSTRAINT [PK_OperatingSystem] PRIMARY KEY CLUSTERED
     222(
     223  [Id] ASC
     224)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
     225) ON [PRIMARY]
     226
     227GO
     228
     229
     230
     231/****** Object:  Table [dbo].[Country]    Script Date: 09/23/2011 13:36:11 ******/
     232SET ANSI_NULLS ON
     233GO
     234
     235SET QUOTED_IDENTIFIER ON
     236GO
     237
     238CREATE TABLE [dbo].[Country](
     239  [Id] [uniqueidentifier] NOT NULL,
     240  [Name] [nvarchar](max) NOT NULL,
     241 CONSTRAINT [PK_Country] PRIMARY KEY CLUSTERED
     242(
     243  [Id] ASC
     244)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
     245) ON [PRIMARY]
     246
     247GO
     248
     249
     250/****** Object:  Table [dbo].[ClientType]    Script Date: 09/23/2011 13:36:24 ******/
     251SET ANSI_NULLS ON
     252GO
     253
     254SET QUOTED_IDENTIFIER ON
     255GO
     256
     257CREATE TABLE [dbo].[ClientType](
     258  [Id] [uniqueidentifier] NOT NULL,
     259  [Name] [nvarchar](max) NOT NULL,
     260 CONSTRAINT [PK_ClientType] PRIMARY KEY CLUSTERED
     261(
     262  [Id] ASC
     263)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
     264) ON [PRIMARY]
     265
     266GO
     267
     268/****** Object:  Table [dbo].[ClientLog]    Script Date: 09/23/2011 13:36:35 ******/
    64269SET ANSI_NULLS ON
    65270GO
     
    72277  [ResourceId] [uniqueidentifier] NOT NULL,
    73278  [Message] [nvarchar](max) NULL,
    74   [Exception] [nvarchar](max) NULL,
    75279 CONSTRAINT [PK_ClientLog] PRIMARY KEY CLUSTERED
    76280(
     
    89293GO
    90294
    91 /****** Object:  Table [dbo].[User]    Script Date: 09/22/2011 12:54:23 ******/
    92 SET ANSI_NULLS ON
    93 GO
    94 
    95 SET QUOTED_IDENTIFIER ON
    96 GO
    97 
    98 CREATE TABLE [dbo].[User](
    99   [Id] [uniqueidentifier] NOT NULL,
    100   [FullName] [nvarchar](max) NULL,
    101  CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
    102 (
    103   [Id] ASC
    104 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    105 ) ON [PRIMARY]
    106 
    107 GO
    108 
    109 /****** Object:  Table [dbo].[UserGroup]    Script Date: 09/22/2011 12:54:35 ******/
    110 SET ANSI_NULLS ON
    111 GO
    112 
    113 SET QUOTED_IDENTIFIER ON
    114 GO
    115 
    116 CREATE TABLE [dbo].[UserGroup](
    117   [Id] [uniqueidentifier] NOT NULL,
    118   [Name] [nvarchar](max) NOT NULL,
    119   [ParentUserGroup] [uniqueidentifier] NULL,
    120  CONSTRAINT [PK_UserGroup] PRIMARY KEY CLUSTERED
    121 (
    122   [Id] ASC
    123 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    124 ) ON [PRIMARY]
    125 
    126 GO
    127 
    128 /****** Object:  Table [dbo].[UserUserGroup]    Script Date: 09/22/2011 12:54:52 ******/
    129 SET ANSI_NULLS ON
    130 GO
    131 
    132 SET QUOTED_IDENTIFIER ON
    133 GO
    134 
    135 CREATE TABLE [dbo].[UserUserGroup](
    136   [UserId] [uniqueidentifier] NOT NULL,
    137   [UserGroupId] [uniqueidentifier] NOT NULL,
    138  CONSTRAINT [PK_UserUserGroup] PRIMARY KEY CLUSTERED
    139 (
    140   [UserId] ASC,
    141   [UserGroupId] ASC
    142 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    143 ) ON [PRIMARY]
    144 
    145 GO
    146 
    147 ALTER TABLE [dbo].[UserUserGroup]  WITH CHECK ADD  CONSTRAINT [FK_UserUserGroup_User] FOREIGN KEY([UserId])
    148 REFERENCES [dbo].[User] ([Id])
    149 GO
    150 
    151 ALTER TABLE [dbo].[UserUserGroup] CHECK CONSTRAINT [FK_UserUserGroup_User]
    152 GO
    153 
    154 ALTER TABLE [dbo].[UserUserGroup]  WITH CHECK ADD  CONSTRAINT [FK_UserUserGroup_UserGroup] FOREIGN KEY([UserGroupId])
     295USE [HeuristicLab.ClientManagement]
     296GO
     297
     298/****** Object:  Table [dbo].[ClientError]    Script Date: 09/23/2011 13:36:46 ******/
     299SET ANSI_NULLS ON
     300GO
     301
     302SET QUOTED_IDENTIFIER ON
     303GO
     304
     305CREATE TABLE [dbo].[ClientError](
     306  [Id] [uniqueidentifier] NOT NULL,
     307  [Timestamp] [datetime] NOT NULL,
     308  [Exception] [nvarchar](max) NULL,
     309  [UserComment] [nvarchar](max) NULL,
     310  [ConfigDump] [nvarchar](max) NULL,
     311  [ClientId] [uniqueidentifier] NULL,
     312  [UserId] [uniqueidentifier] NULL,
     313 CONSTRAINT [PK_ClientError] PRIMARY KEY CLUSTERED
     314(
     315  [Id] ASC
     316)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
     317) ON [PRIMARY]
     318
     319GO
     320
     321ALTER TABLE [dbo].[ClientError]  WITH CHECK ADD  CONSTRAINT [FK_ClientError_Resource] FOREIGN KEY([ClientId])
     322REFERENCES [dbo].[Resource] ([Id])
     323GO
     324
     325ALTER TABLE [dbo].[ClientError] CHECK CONSTRAINT [FK_ClientError_Resource]
     326GO
     327
     328ALTER TABLE [dbo].[ClientError]  WITH CHECK ADD  CONSTRAINT [FK_ClientError_UserGroup] FOREIGN KEY([UserId])
    155329REFERENCES [dbo].[UserGroup] ([Id])
    156330GO
    157331
    158 ALTER TABLE [dbo].[UserUserGroup] CHECK CONSTRAINT [FK_UserUserGroup_UserGroup]
    159 GO
     332ALTER TABLE [dbo].[ClientError] CHECK CONSTRAINT [FK_ClientError_UserGroup]
     333GO
     334
     335/****** Object:  Table [dbo].[ClientConfiguration]    Script Date: 09/23/2011 13:36:55 ******/
     336SET ANSI_NULLS ON
     337GO
     338
     339SET QUOTED_IDENTIFIER ON
     340GO
     341
     342CREATE TABLE [dbo].[ClientConfiguration](
     343  [Id] [uniqueidentifier] NOT NULL,
     344  [Hash] [nvarchar](max) NOT NULL,
     345  [Description] [nvarchar](max) NULL,
     346 CONSTRAINT [PK_ClientConfiguration] PRIMARY KEY CLUSTERED
     347(
     348  [Id] ASC
     349)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
     350) ON [PRIMARY]
     351
     352GO
  • branches/ClientUserManagement/HeuristicLab.Services.Access.sln

    r6821 r6825  
    44Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{FAC56B1A-B544-430E-931B-68519E07E8AF}"
    55  ProjectSection(SolutionItems) = preProject
     6    HeuristicLab.Services.Access.vsmdi = HeuristicLab.Services.Access.vsmdi
     7    Local.testsettings = Local.testsettings
    68    PreBuildEvent.cmd = PreBuildEvent.cmd
     9    TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings
    710  EndProjectSection
    811EndProject
     
    1417EndProject
    1518Global
     19  GlobalSection(TestCaseManagementSettings) = postSolution
     20    CategoryFile = HeuristicLab.Services.Access.vsmdi
     21  EndGlobalSection
    1622  GlobalSection(SolutionConfigurationPlatforms) = preSolution
    1723    Debug|Any CPU = Debug|Any CPU
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3

    • Property svn:ignore
      •  

        old new  
        22bin
        33obj
         4HeuristicLab.Services.Access-3.3.csproj.user
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/AccessService.cs

    r6815 r6825  
    2424namespace HeuristicLab.Services.Access {
    2525  [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
    26   public class AccessService : IAccessService {
    27     #region IAccessService Members
     26  public class AccessService {
    2827
    29     public bool ClientExists(System.Guid id) {
    30       throw new System.NotImplementedException();
    31     }
    32 
    33     public DataTransfer.Client GetClient(System.Guid id) {
    34       throw new System.NotImplementedException();
    35     }
    36 
    37     public System.Collections.Generic.IEnumerable<DataTransfer.Client> GetClients() {
    38       throw new System.NotImplementedException();
    39     }
    40 
    41     public System.Guid AddClient(DataTransfer.Client client) {
    42       throw new System.NotImplementedException();
    43     }
    44 
    45     public void UpdateClient(DataTransfer.Client client) {
    46       throw new System.NotImplementedException();
    47     }
    48 
    49     public void DeleteClient(DataTransfer.Client client) {
    50       throw new System.NotImplementedException();
    51     }
    52 
    53     public DataTransfer.ClientLog GetLastClientLog(System.Guid clientId) {
    54       throw new System.NotImplementedException();
    55     }
    56 
    57     public System.Collections.Generic.IEnumerable<DataTransfer.ClientLog> GetClientLogs(System.Guid clientId) {
    58       throw new System.NotImplementedException();
    59     }
    60 
    61     public System.Collections.Generic.IEnumerable<DataTransfer.ClientLog> GetClientLogsSince(System.DateTime startDate) {
    62       throw new System.NotImplementedException();
    63     }
    64 
    65     public void AddClientLogEntry(DataTransfer.ClientLog log) {
    66       throw new System.NotImplementedException();
    67     }
    68 
    69     public void DeleteClientLogEntry(DataTransfer.ClientLog log) {
    70       throw new System.NotImplementedException();
    71     }
    72 
    73     public System.Collections.Generic.IEnumerable<DataTransfer.ClientGroup> GetClientGroups() {
    74       throw new System.NotImplementedException();
    75     }
    76 
    77     public System.Guid AddClientGroup(DataTransfer.ClientGroup group) {
    78       throw new System.NotImplementedException();
    79     }
    80 
    81     public void UpdateClientGroup(DataTransfer.ClientGroup group) {
    82       throw new System.NotImplementedException();
    83     }
    84 
    85     public void DeleteClientGroup(DataTransfer.ClientGroup group) {
    86       throw new System.NotImplementedException();
    87     }
    88 
    89     public void Login() {
    90       throw new System.NotImplementedException();
    91     }
    92 
    93     public System.Collections.Generic.IEnumerable<DataTransfer.User> GetUsers() {
    94       throw new System.NotImplementedException();
    95     }
    96 
    97     public DataTransfer.User AddUser(DataTransfer.User user) {
    98       throw new System.NotImplementedException();
    99     }
    100 
    101     public void DeleteUser(DataTransfer.User user) {
    102       throw new System.NotImplementedException();
    103     }
    104 
    105     public void UpdateUser(DataTransfer.User user) {
    106       throw new System.NotImplementedException();
    107     }
    108 
    109     public void AddUserToRole(DataTransfer.Role role, DataTransfer.User user) {
    110       throw new System.NotImplementedException();
    111     }
    112 
    113     public void RemoveUserFromRole(DataTransfer.Role role, DataTransfer.User user) {
    114       throw new System.NotImplementedException();
    115     }
    116 
    117     public void ResetPassword(DataTransfer.User user, string password) {
    118       throw new System.NotImplementedException();
    119     }
    120 
    121     public System.Collections.Generic.IEnumerable<DataTransfer.Role> GetRoles() {
    122       throw new System.NotImplementedException();
    123     }
    124 
    125     public DataTransfer.Role AddRole(DataTransfer.Role role) {
    126       throw new System.NotImplementedException();
    127     }
    128 
    129     public void UpdateRole(DataTransfer.Role role) {
    130       throw new System.NotImplementedException();
    131     }
    132 
    133     public void DeleteRole(DataTransfer.Role role) {
    134       throw new System.NotImplementedException();
    135     }
    136 
    137     public System.Collections.Generic.IEnumerable<DataTransfer.Role> GetUserRoles(DataTransfer.User user) {
    138       throw new System.NotImplementedException();
    139     }
    140 
    141     public System.Collections.Generic.IEnumerable<DataTransfer.UserGroup> GetUserGroups() {
    142       throw new System.NotImplementedException();
    143     }
    144 
    145     public DataTransfer.UserGroup AddUserGroup(DataTransfer.UserGroup group) {
    146       throw new System.NotImplementedException();
    147     }
    148 
    149     public void UpdateUserGroup(DataTransfer.UserGroup group) {
    150       throw new System.NotImplementedException();
    151     }
    152 
    153     public void DeleteUserGroup(DataTransfer.UserGroup group) {
    154       throw new System.NotImplementedException();
    155     }
    156 
    157     #endregion
    15828  }
    15929}
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/Convert.cs

    r6820 r6825  
    2020#endregion
    2121
     22using System;
     23using System.Linq;
    2224using DA = HeuristicLab.Services.Access.DataAccess;
    2325using DT = HeuristicLab.Services.Access.DataTransfer;
     26
    2427
    2528namespace HeuristicLab.Services.ClientManagement {
     
    3134        Id = source.Id,
    3235        Description = source.Description,
    33         Name = source.Name,
    34         Type = source.Type
     36        Name = source.Name
    3537      };
    3638    }
     
    4042        Id = source.Id,
    4143        Description = source.Description,
    42         Name = source.Name,
    43         Type = source.Type
    44       };
    45     }
    46     #endregion
    47 
    48     #region Group
    49     public static DT.ClientGroup ToDto(DA.Group source) {
     44        Name = source.Name
     45      };
     46    }
     47    #endregion
     48
     49    #region ClientGroup
     50    public static DT.ClientGroup ToDto(DA.ClientGroup source) {
    5051      return new DT.ClientGroup() {
    5152        Id = source.Id,
    5253        Description = source.Description,
    53         Name = source.Name,
    54         Type = source.Type
    55       };
    56     }
    57 
    58     public static DA.Group ToEntity(DT.ClientGroup source) {
    59       return new DA.Group() {
    60         Id = source.Id,
    61         Description = source.Description,
    62         Name = source.Name,
    63         Type = source.Type
     54        Name = source.Name
     55      };
     56    }
     57
     58    public static DA.ClientGroup ToEntity(DT.ClientGroup source) {
     59      return new DA.ClientGroup() {
     60        Id = source.Id,
     61        Description = source.Description,
     62        Name = source.Name,
     63
     64      };
     65    }
     66    #endregion
     67
     68    #region Country
     69    public static DT.Country ToDto(DA.Country source) {
     70      return new DT.Country() {
     71        Id = source.Id,
     72        Name = source.Name
     73      };
     74    }
     75
     76    public static DA.Country ToEntity(DT.Country source) {
     77      return new DA.Country() {
     78        Id = source.Id,
     79        Name = source.Name,
     80
     81      };
     82    }
     83    #endregion
     84
     85    #region OperatingSystem
     86    public static DT.OperatingSystem ToDto(DA.OperatingSystem source) {
     87      return new DT.OperatingSystem() {
     88        Id = source.Id,
     89        Name = source.Name
     90      };
     91    }
     92
     93    public static DA.OperatingSystem ToEntity(DT.OperatingSystem source) {
     94      return new DA.OperatingSystem() {
     95        Id = source.Id,
     96        Name = source.Name,
     97
     98      };
     99    }
     100    #endregion
     101
     102    #region ClientType
     103    public static DT.ClientType ToDto(DA.ClientType source) {
     104      return new DT.ClientType() {
     105        Id = source.Id,
     106        Name = source.Name
     107      };
     108    }
     109
     110    public static DA.ClientType ToEntity(DT.ClientType source) {
     111      return new DA.ClientType() {
     112        Id = source.Id,
     113        Name = source.Name,
     114
     115      };
     116    }
     117    #endregion
     118
     119    #region ClientConfiguration
     120    public static DT.ClientConfiguration ToDto(DA.ClientConfiguration source) {
     121      return new DT.ClientConfiguration() {
     122        Id = source.Id,
     123        Hash = source.Hash,
     124        Description = source.Description
     125      };
     126    }
     127
     128    public static DA.ClientConfiguration ToEntity(DT.ClientConfiguration source) {
     129      return new DA.ClientConfiguration() {
     130        Id = source.Id,
     131        Hash = source.Hash,
     132        Description = source.Description
     133      };
     134    }
     135    #endregion
     136
     137    #region Plugin
     138    public static DT.Plugin ToDto(DA.Plugin source) {
     139      return new DT.Plugin() {
     140        Id = source.Id,
     141        Name = source.Name,
     142        StrongName = source.StrongName,
     143        Version = source.Version
     144      };
     145    }
     146
     147    public static DA.Plugin ToEntity(DT.Plugin source) {
     148      return new DA.Plugin() {
     149        Id = source.Id,
     150        Name = source.Name,
     151        StrongName = source.StrongName,
     152        Version = source.Version
    64153      };
    65154    }
     
    72161        Description = source.Description,
    73162        Name = source.Name,
    74         Type = source.Type,
    75         Country = source.Country,
     163        ClientConfiguration = ToDto(source.ClientConfiguration),
    76164        HeuristicLabVersion = source.HeuristicLabVersion,
    77         IPAddress = source.IPAddress,
    78         MemorySize = source.MemorySize,
    79         NumberOfCores = source.NumberOfCores,
    80         OperatingSystem = source.OperatingSystem,
     165        Country = ToDto(source.Country),
     166        OperatingSystem = ToDto(source.OperatingSystem),
     167        MemorySize = source.MemorySize.GetValueOrDefault(),
     168        Timestamp = source.Timestamp.GetValueOrDefault(),
     169        NumberOfCores = source.NumberOfCores.GetValueOrDefault(),
    81170        ProcessorType = source.ProcessorType,
    82         ClientType = source.ClientType
     171        ClientType = ToDto(source.ClientType)
    83172      };
    84173    }
     
    89178        Description = source.Description,
    90179        Name = source.Name,
    91         Type = source.Type,
    92         Country = source.Country,
     180        ClientConfiguration = ToEntity(source.ClientConfiguration),
    93181        HeuristicLabVersion = source.HeuristicLabVersion,
    94         IPAddress = source.IPAddress,
     182        Country = ToEntity(source.Country),
     183        OperatingSystem = ToEntity(source.OperatingSystem),
    95184        MemorySize = source.MemorySize,
     185        Timestamp = source.Timestamp,
    96186        NumberOfCores = source.NumberOfCores,
    97         OperatingSystem = source.OperatingSystem,
    98187        ProcessorType = source.ProcessorType,
    99         ClientType = source.ClientType
     188        ClientType = ToEntity(source.ClientType)
    100189      };
    101190    }
     
    107196        Timestamp = source.Timestamp,
    108197        ResourceId = source.ResourceId,
    109         Exception = source.Exception,
    110198        Message = source.Message
    111199      };
     
    116204        Timestamp = source.Timestamp,
    117205        ResourceId = source.ResourceId,
     206        Message = source.Message
     207      };
     208    }
     209    #endregion
     210
     211    #region ClientError
     212    public static DT.ClientError ToDto(DA.ClientError source) {
     213      return new DT.ClientError() {
     214        Id = source.Id,
     215        Timestamp = source.Timestamp,
    118216        Exception = source.Exception,
    119         Message = source.Message
    120       };
     217        UserComment = source.UserComment,
     218        ConfigDump = source.ConfigDump,
     219        ClientId = source.ClientId.GetValueOrDefault(),
     220        UserId = source.UserId.GetValueOrDefault()
     221      };
     222    }
     223
     224    public static DA.ClientError ToEntity(DT.ClientError source) {
     225      return new DA.ClientError() {
     226        Id = source.Id,
     227        Timestamp = source.Timestamp,
     228        Exception = source.Exception,
     229        UserComment = source.UserComment,
     230        ConfigDump = source.ConfigDump,
     231        ClientId = source.ClientId,
     232        UserId = source.UserId
     233      };
     234    }
     235    #endregion
     236
     237    #region UserGroup
     238    public static DT.UserGroup ToDto(DA.UserGroup source) {
     239      return new DT.UserGroup() {
     240        Id = source.Id,
     241        Name = source.Name
     242      };
     243    }
     244
     245    public static DA.UserGroup ToEntity(DT.UserGroup source) {
     246      return new DA.UserGroup() {
     247        Id = source.Id,
     248        Name = source.Name
     249      };
     250    }
     251    #endregion
     252
     253    #region User
     254    public static DT.User ToDto(DA.User source, DA.aspnet_User aspUserSource, DA.aspnet_Membership aspMembershipSource) {
     255      return new DT.User() {
     256        Id = source.Id,
     257        FullName = source.FullName,
     258        Comment = aspMembershipSource.Comment,
     259        CreationDate = aspMembershipSource.CreateDate,
     260        Email = aspMembershipSource.Email,
     261        IsApproved = aspMembershipSource.IsApproved,
     262        LastActivityDate = aspUserSource.LastActivityDate,
     263        LastLoginDate = aspMembershipSource.LastLoginDate,
     264        LastPasswordChangedDate = aspMembershipSource.LastPasswordChangedDate,
     265        UserName = aspUserSource.UserName
     266      };
     267    }
     268
     269    public static void ToEntity(DT.User source, out DA.User accessUser, out DA.aspnet_User aspUser, out DA.aspnet_Membership aspMembership, out bool userExistsInASP) {
     270      userExistsInASP = false;
     271      accessUser = new DA.User();
     272      aspUser = new DA.aspnet_User();
     273      aspMembership = new DA.aspnet_Membership();
     274
     275      if (source.Id != Guid.Empty) {
     276        using (DA.ASPNETAuthenticationDataContext context = new DA.ASPNETAuthenticationDataContext()) {
     277          var userCol = context.aspnet_Users.Where(s => s.UserId == source.Id);
     278          var membershipCol = context.aspnet_Memberships.Where(s => s.UserId == source.Id);
     279          if (userCol.Count() > 0 && membershipCol.Count() > 0) {
     280            aspUser = userCol.First();
     281            aspMembership = membershipCol.First();
     282            userExistsInASP = true;
     283          }
     284        }
     285      }
     286
     287      accessUser.Id = source.Id;
     288      accessUser.FullName = source.FullName;
     289
     290      aspUser.UserId = source.Id;
     291      aspUser.LastActivityDate = source.LastActivityDate;
     292      aspUser.UserName = source.UserName;
     293
     294      aspMembership.UserId = source.Id;
     295      aspMembership.Comment = source.Comment;
     296      aspMembership.CreateDate = source.CreationDate;
     297      aspMembership.Email = source.Email;
     298      aspMembership.IsApproved = source.IsApproved;
     299      aspMembership.LastLoginDate = source.LastLoginDate;
     300      aspMembership.LastPasswordChangedDate = source.LastPasswordChangedDate;
    121301    }
    122302    #endregion
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/Client.cs

    r6820 r6825  
    2020#endregion
    2121
     22using System;
    2223using System.Runtime.Serialization;
    2324
     
    2627  public class Client : Resource {
    2728    [DataMember]
    28     public string ProcessorType { get; set; }
     29    public ClientConfiguration ClientConfiguration { get; set; }
    2930    [DataMember]
    30     public int? NumberOfCores { get; set; }
    31     [DataMember]
    32     public int? MemorySize { get; set; }
    33     [DataMember]
    34     public string OperatingSystem { get; set; }
    35     [DataMember]
    36     public string IPAddress { get; set; }
     31    public ClientType ClientType { get; set; }
    3732    [DataMember]
    3833    public string HeuristicLabVersion { get; set; }
    3934    [DataMember]
    40     public string Country { get; set; }
     35    public Country Country { get; set; }
    4136    [DataMember]
    42     public string ClientType { get; set; }
     37    public HeuristicLab.Services.Access.DataTransfer.OperatingSystem OperatingSystem { get; set; }
     38    [DataMember]
     39    public int MemorySize { get; set; }
     40    [DataMember]
     41    public DateTime Timestamp { get; set; }
     42    [DataMember]
     43    public int NumberOfCores { get; set; }
     44    [DataMember]
     45    public string ProcessorType { get; set; }
    4346  }
    4447}
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/ClientLog.cs

    r6815 r6825  
    3131    [DataMember]
    3232    public string Message { get; set; }
    33     [DataMember]
    34     public string Exception { get; set; }
    3533  }
    3634}
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/Resource.cs

    r6815 r6825  
    2121
    2222using System;
    23 using System.Collections.Generic;
    2423using System.Runtime.Serialization;
    2524
     
    3332    [DataMember]
    3433    public string Description { get; set; }
    35     [DataMember]
    36     public string Type { get; set; }
    37     [DataMember]
    38     public IEnumerable<ClientGroup> ParentGroups { get; set; }
    3934  }
    4035}
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/User.cs

    r6820 r6825  
    2626namespace HeuristicLab.Services.Access.DataTransfer {
    2727  [DataContract]
    28   public class User : AccessItem {
     28  public class User : UserGroupBase {
    2929    [DataMember]
    3030    public string UserName { get; set; }
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/UserGroup.cs

    r6820 r6825  
    2020#endregion
    2121
    22 using System;
    2322using System.Runtime.Serialization;
    2423
    2524namespace HeuristicLab.Services.Access.DataTransfer {
    2625  [DataContract]
    27   public class UserGroup : AccessItem {
     26  public class UserGroup : UserGroupBase {
    2827    [DataMember]
    2928    public string Name { get; set; }
    30     [DataMember]
    31     public Guid ParentUserGroup { get; set; }
    3229  }
    3330}
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/HeuristicLab.Services.Access-3.3.csproj

    r6821 r6825  
    4545    <Reference Include="System.Core" />
    4646    <Reference Include="System.Data" />
     47    <Reference Include="System.Data.Linq" />
    4748    <Reference Include="System.Runtime.Serialization" />
    4849    <Reference Include="System.ServiceModel" />
     
    5354    <Compile Include="Convert.cs" />
    5455    <Compile Include="DataTransfer\Client.cs" />
     56    <Compile Include="DataTransfer\ClientConfiguration.cs" />
     57    <Compile Include="DataTransfer\ClientError.cs" />
    5558    <Compile Include="DataTransfer\ClientLog.cs" />
    5659    <Compile Include="DataTransfer\AccessItem.cs" />
    5760    <Compile Include="DataTransfer\ClientGroup.cs" />
     61    <Compile Include="DataTransfer\ClientType.cs" />
     62    <Compile Include="DataTransfer\Country.cs" />
     63    <Compile Include="DataTransfer\OperatingSystem.cs" />
     64    <Compile Include="DataTransfer\Plugin.cs" />
    5865    <Compile Include="DataTransfer\Resource.cs" />
    5966    <Compile Include="DataTransfer\Role.cs" />
    6067    <Compile Include="DataTransfer\User.cs" />
    6168    <Compile Include="DataTransfer\UserGroup.cs" />
     69    <Compile Include="DataTransfer\UserGroupBase.cs" />
    6270    <Compile Include="IAccessService.cs" />
    6371    <Compile Include="Properties\AssemblyInfo.cs" />
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/IAccessService.cs

    r6815 r6825  
    7272
    7373    [OperationContract]
     74    IEnumerable<ClientGroup> GetParentGroups(Guid id);
     75
     76    [OperationContract]
    7477    Guid AddClientGroup(ClientGroup group);
    7578
Note: See TracChangeset for help on using the changeset viewer.