Changeset 15526


Ignore:
Timestamp:
12/14/17 15:04:56 (3 years ago)
Author:
jzenisek
Message:

#2839 reverted changes from last revision (r15523)

Location:
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml

    r15523 r15526  
    1 <?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.Hive-3.3" Class="HiveDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
    2   <Connection Mode="AppSettings" ConnectionString="Data Source=HIVELAB;Initial Catalog=HeuristicLab.Hive-3.3;Integrated Security=True" SettingsObjectName="HeuristicLab.Services.Hive.DataAccess.Settings" SettingsPropertyName="HeuristicLab_Hive_3_3ConnectionString" Provider="System.Data.SqlClient" />
    3   <Table Name="dbo.AssignedJobResource" Member="AssignedJobResources">
    4     <Type Name="AssignedJobResource">
    5       <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    6       <Column Name="JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    7       <Association Name="Job_AssignedJobResource" Member="Job" ThisKey="JobId" OtherKey="JobId" Type="Job" IsForeignKey="true" />
    8       <Association Name="Resource_AssignedJobResource" Member="Resource" ThisKey="ResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" />
    9     </Type>
    10   </Table>
    11   <Table Name="[statistics].FactTask" Member="FactTasks">
    12     <Type Name="FactTask">
    13       <Column Name="TaskId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    14       <Column Name="CalculatingTime" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    15       <Column Name="WaitingTime" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    16       <Column Name="TransferTime" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    17       <Column Name="NumCalculationRuns" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    18       <Column Name="NumRetries" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    19       <Column Name="CoresRequired" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    20       <Column Name="MemoryRequired" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    21       <Column Name="Priority" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    22       <Column Name="LastClientId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    23       <Column Name="JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    24       <Column Name="StartTime" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
    25       <Column Name="EndTime" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
    26       <Column Name="TaskState" Type="System.String" DbType="VarChar(30) NOT NULL" CanBeNull="false" />
    27       <Column Name="Exception" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
    28       <Column Name="InitialWaitingTime" Type="System.Int32" DbType="Int" CanBeNull="true" />
    29       <Association Name="DimClient_FactTask" Member="DimClient" ThisKey="LastClientId" OtherKey="Id" Type="DimClient" IsForeignKey="true" />
    30       <Association Name="DimJob_FactTask" Member="DimJob" ThisKey="JobId" OtherKey="JobId" Type="DimJob" IsForeignKey="true" />
    31     </Type>
    32   </Table>
     1<?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.Hive" Class="HiveDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
    332  <Table Name="dbo.AssignedProjectResource" Member="AssignedProjectResources">
    343    <Type Name="AssignedProjectResource">
    354      <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    36       <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    37       <Association Name="Project_AssignedProjectResource" Member="Project" ThisKey="ProjectId" OtherKey="ProjectId" Type="Project" IsForeignKey="true" DeleteRule="CASCADE" DeleteOnNull="true" />
    38       <Association Name="Resource_AssignedProjectResource" Member="Resource" ThisKey="ResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" DeleteRule="CASCADE" DeleteOnNull="true" />
    39     </Type>
    40   </Table>
    41   <Table Name="dbo.Downtime" Member="Downtimes">
    42     <Type Name="Downtime">
    43       <Column Name="DowntimeId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    44       <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    45       <Column Name="StartDate" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    46       <Column Name="EndDate" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    47       <Column Name="AllDayEvent" Type="System.Boolean" DbType="Bit NOT NULL" CanBeNull="false" />
    48       <Column Name="Recurring" Type="System.Boolean" DbType="Bit NOT NULL" CanBeNull="false" />
    49       <Column Name="RecurringId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    50       <Column Name="DowntimeType" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
    51       <Association Name="Resource_Downtime" Member="Resource" ThisKey="ResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" />
    52     </Type>
    53   </Table>
    54   <Table Name="dbo.Job" Member="Jobs">
    55     <Type Name="Job">
    56       <Column Name="JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    57       <Column Name="Name" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
    58       <Column Name="Description" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
    59       <Column Name="OwnerUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    60       <Column Name="DateCreated" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    61       <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    62       <Association Name="Job_AssignedJobResource" Member="AssignedJobResources" ThisKey="JobId" OtherKey="JobId" Type="AssignedJobResource" />
    63       <Association Name="Job_JobPermission" Member="JobPermissions" ThisKey="JobId" OtherKey="JobId" Type="JobPermission" />
    64       <Association Name="Job_Task" Member="Tasks" ThisKey="JobId" OtherKey="JobId" Type="Task" />
    65       <Association Name="Project_Job" Member="Project" ThisKey="ProjectId" OtherKey="ProjectId" Type="Project" IsForeignKey="true" DeleteRule="CASCADE" DeleteOnNull="true" />
    66     </Type>
    67   </Table>
    68   <Table Name="dbo.JobPermission" Member="JobPermissions">
    69     <Type Name="JobPermission">
    70       <Column Name="JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    71       <Column Name="GrantedUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    72       <Column Name="GrantedByUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    73       <Column Name="Permission" Type="System.String" DbType="VarChar(15) NOT NULL" CanBeNull="false" />
    74       <Association Name="Job_JobPermission" Member="Job" ThisKey="JobId" OtherKey="JobId" Type="Job" IsForeignKey="true" DeleteRule="CASCADE" DeleteOnNull="true" />
    75     </Type>
    76   </Table>
    77   <Table Name="dbo.Lifecycle" Member="Lifecycles">
    78     <Type Name="Lifecycle">
    79       <Column Name="LifecycleId" Type="System.Int32" DbType="Int NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    80       <Column Name="LastCleanup" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
     5      <Column Name="ProjectId" Storage="_JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     6      <Association Name="Resource_AssignedResource" Member="Resource" ThisKey="ResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" DeleteRule="CASCADE" />
     7      <Association Name="Project_AssignedResource" Member="Project" ThisKey="ProjectId" OtherKey="ProjectId" Type="Project" IsForeignKey="true" DeleteRule="CASCADE" />
    818    </Type>
    829  </Table>
    8310  <Table Name="dbo.Plugin" Member="Plugins">
    8411    <Type Name="Plugin">
    85       <Column Name="PluginId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    86       <Column Name="Name" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
    87       <Column Name="Version" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
    88       <Column Name="UserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    89       <Column Name="DateCreated" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    90       <Column Name="Hash" Type="System.Data.Linq.Binary" DbType="VarBinary(20) NOT NULL" CanBeNull="false" UpdateCheck="Never" />
    91       <Association Name="Plugin_PluginData" Member="PluginDatas" ThisKey="PluginId" OtherKey="PluginId" Type="PluginData" />
     12      <Column Name="PluginId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     13      <Column Name="Name" Type="System.String" DbType="VarChar(MAX)" CanBeNull="false" />
     14      <Column Name="Version" Type="System.String" DbType="VarChar(MAX)" CanBeNull="false" />
     15      <Column Name="UserId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="false" />
     16      <Column Name="DateCreated" Type="System.DateTime" DbType="DateTime" CanBeNull="false" />
     17      <Column Name="Hash" Type="System.Byte[]" DbType="VarBinary(20) NOT NULL" CanBeNull="false" />
    9218      <Association Name="Plugin_RequiredPlugin" Member="RequiredPlugins" ThisKey="PluginId" OtherKey="PluginId" Type="RequiredPlugin" />
    93     </Type>
    94   </Table>
    95   <Table Name="dbo.PluginData" Member="PluginDatas">
    96     <Type Name="PluginData">
    97       <Column Name="PluginDataId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    98       <Column Name="PluginId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    99       <Column Name="Data" Type="System.Data.Linq.Binary" DbType="VarBinary(MAX) NOT NULL" CanBeNull="false" UpdateCheck="Never" />
    100       <Column Name="FileName" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
    101       <Association Name="Plugin_PluginData" Member="Plugin" ThisKey="PluginId" OtherKey="PluginId" Type="Plugin" IsForeignKey="true" DeleteRule="CASCADE" DeleteOnNull="true" />
    102     </Type>
    103   </Table>
    104   <Table Name="dbo.Project" Member="Projects">
    105     <Type Name="Project">
    106       <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    107       <Column Name="ParentProjectId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    108       <Column Name="DateCreated" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    109       <Column Name="Name" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
    110       <Column Name="Description" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
    111       <Column Name="OwnerUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    112       <Column Name="StartDate" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    113       <Column Name="EndDate" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
    114       <Association Name="Project_AssignedProjectResource" Member="AssignedProjectResources" ThisKey="ProjectId" OtherKey="ProjectId" Type="AssignedProjectResource" />
    115       <Association Name="Project_Job" Member="Jobs" ThisKey="ProjectId" OtherKey="ProjectId" Type="Job" />
    116       <Association Name="Project_Project" Member="Projects" ThisKey="ProjectId" OtherKey="ParentProjectId" Type="Project" />
    117       <Association Name="Project_ProjectPermission" Member="ProjectPermissions" ThisKey="ProjectId" OtherKey="ProjectId" Type="ProjectPermission" />
    118       <Association Name="Project_Project" Member="Project1" ThisKey="ParentProjectId" OtherKey="ProjectId" Type="Project" IsForeignKey="true" />
    119     </Type>
    120   </Table>
    121   <Table Name="dbo.ProjectPermission" Member="ProjectPermissions">
    122     <Type Name="ProjectPermission">
    123       <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    124       <Column Name="GrantedUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    125       <Column Name="GrantedByUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    126       <Association Name="Project_ProjectPermission" Member="Project" ThisKey="ProjectId" OtherKey="ProjectId" Type="Project" IsForeignKey="true" DeleteRule="CASCADE" DeleteOnNull="true" />
     19      <Association Name="Plugin_PluginData" Member="PluginData" ThisKey="PluginId" OtherKey="PluginId" Type="PluginData" />
    12720    </Type>
    12821  </Table>
    12922  <Table Name="dbo.RequiredPlugins" Member="RequiredPlugins">
    13023    <Type Name="RequiredPlugin">
    131       <Column Name="RequiredPluginId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    132       <Column Name="TaskId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     24      <Column Name="RequiredPluginId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" UpdateCheck="Never" />
     25      <Column Name="TaskId" Storage="_JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    13326      <Column Name="PluginId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    134       <Association Name="Plugin_RequiredPlugin" Member="Plugin" ThisKey="PluginId" OtherKey="PluginId" Type="Plugin" IsForeignKey="true" DeleteRule="CASCADE" DeleteOnNull="true" />
    135       <Association Name="Task_RequiredPlugin" Member="Task" ThisKey="TaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" DeleteRule="CASCADE" DeleteOnNull="true" />
     27      <Association Name="Plugin_RequiredPlugin" Member="Plugin" Storage="_PluginInfo" ThisKey="PluginId" OtherKey="PluginId" Type="Plugin" IsForeignKey="true" DeleteRule="CASCADE" />
     28      <Association Name="Task_RequiredPlugin" Member="Task" Storage="_Job" ThisKey="TaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" />
    13629    </Type>
    13730  </Table>
    13831  <Table Name="dbo.Resource" Member="Resources">
    139     <Type Name="Resource">
    140       <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    141       <Column Name="Name" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
    142       <Column Name="ResourceType" Type="System.String" DbType="NVarChar(4000) NOT NULL" CanBeNull="false" />
     32    <Type Name="Resource" InheritanceCode="RESOURCE">
     33      <Column Name="ResourceId" AutoSync="OnInsert" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     34      <Column Name="Name" Type="System.String" DbType="VarChar(MAX)" CanBeNull="false" />
     35      <Column Name="ResourceType" Type="System.String" CanBeNull="false" IsDiscriminator="true" />
    14336      <Column Name="ParentResourceId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    144       <Column Name="CpuSpeed" Type="System.Int32" DbType="Int" CanBeNull="true" />
    145       <Column Name="Memory" Type="System.Int32" DbType="Int" CanBeNull="true" />
    146       <Column Name="Login" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
    147       <Column Name="SlaveState" Type="System.String" DbType="VarChar(15)" CanBeNull="true" />
    148       <Column Name="Cores" Type="System.Int32" DbType="Int" CanBeNull="true" />
    149       <Column Name="FreeCores" Type="System.Int32" DbType="Int" CanBeNull="true" />
    150       <Column Name="FreeMemory" Type="System.Int32" DbType="Int" CanBeNull="true" />
    151       <Column Name="IsAllowedToCalculate" Type="System.Boolean" DbType="Bit" CanBeNull="true" />
    152       <Column Name="CpuArchitecture" Type="System.String" DbType="VarChar(3)" CanBeNull="true" />
    153       <Column Name="OperatingSystem" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
    154       <Column Name="LastHeartbeat" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
    155       <Column Name="CpuUtilization" Type="System.Double" DbType="Float" CanBeNull="true" />
    156       <Column Name="HbInterval" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    157       <Column Name="IsDisposable" Type="System.Boolean" DbType="Bit" CanBeNull="true" />
     37      <Column Name="HbInterval" Type="System.Int32" DbType="Int" CanBeNull="false" />
    15838      <Column Name="OwnerUserId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    159       <Association Name="Resource_AssignedJobResource" Member="AssignedJobResources" ThisKey="ResourceId" OtherKey="ResourceId" Type="AssignedJobResource" />
    160       <Association Name="Resource_AssignedProjectResource" Member="AssignedProjectResources" ThisKey="ResourceId" OtherKey="ResourceId" Type="AssignedProjectResource" />
    161       <Association Name="Resource_Downtime" Member="Downtimes" ThisKey="ResourceId" OtherKey="ResourceId" Type="Downtime" />
    162       <Association Name="Resource_Resource" Member="Resources" ThisKey="ResourceId" OtherKey="ParentResourceId" Type="Resource" />
     39      <Association Name="Resource_AssignedResource" Member="AssignedProjectResources" Storage="_AssignedResources" ThisKey="ResourceId" OtherKey="ResourceId" Type="AssignedProjectResource" />
     40      <Association Name="Resource_Resource" Member="ChildResources" ThisKey="ResourceId" OtherKey="ParentResourceId" Type="Resource" />
     41      <Association Name="Resource_Downtime" Member="Downtimes" Storage="_UptimeCalendars" ThisKey="ResourceId" OtherKey="ResourceId" Type="Downtime" />
    16342      <Association Name="Resource_StateLog" Member="StateLogs" ThisKey="ResourceId" OtherKey="SlaveId" Type="StateLog" />
    164       <Association Name="Resource_Resource" Member="Resource1" ThisKey="ParentResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" />
    165     </Type>
    166   </Table>
    167   <Table Name="dbo.StateLog" Member="StateLogs">
    168     <Type Name="StateLog">
    169       <Column Name="StateLogId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    170       <Column Name="State" Type="System.String" DbType="VarChar(30) NOT NULL" CanBeNull="false" />
    171       <Column Name="DateTime" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    172       <Column Name="TaskId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    173       <Column Name="UserId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    174       <Column Name="SlaveId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    175       <Column Name="Exception" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
    176       <Association Name="Resource_StateLog" Member="Resource" ThisKey="SlaveId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" DeleteRule="SET NULL" />
    177       <Association Name="Task_StateLog" Member="Task" ThisKey="TaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" DeleteRule="CASCADE" DeleteOnNull="true" />
     43      <Association Name="Resource_ResourcePermission" Member="ResourcePermissions" ThisKey="ResourceId" OtherKey="ResourceId" Type="ResourcePermission" />
     44      <Association Name="Resource_AssignedTaskResource" Member="AssignedTaskResources" ThisKey="ResourceId" OtherKey="ResourceId" Type="AssignedTaskResource" />
     45      <Association Name="Resource_Resource" Member="ParentResource" ThisKey="ParentResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" />
     46      <Type Name="Slave" InheritanceCode="Slave" IsInheritanceDefault="true">
     47        <Column Name="CpuSpeed" Storage="_CPUSpeed" Type="System.Int32" DbType="Int" CanBeNull="true" />
     48        <Column Name="Memory" Type="System.Int32" DbType="Int" CanBeNull="true" />
     49        <Column Name="Login" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
     50        <Column Name="SlaveState" Storage="_Status" Type="global::HeuristicLab.Services.Hive.DataAccess.SlaveState" DbType="VarChar(15)" CanBeNull="true" />
     51        <Column Name="Cores" Storage="_NumberOfCores" Type="System.Int32" DbType="Int" CanBeNull="true" />
     52        <Column Name="FreeCores" Storage="_NumberOfFreeCores" Type="System.Int32" DbType="Int" CanBeNull="true" />
     53        <Column Name="FreeMemory" Type="System.Int32" DbType="Int" CanBeNull="true" />
     54        <Column Name="IsAllowedToCalculate" Type="System.Boolean" DbType="Bit" CanBeNull="false" />
     55        <Column Name="CpuArchitecture" Type="global::HeuristicLab.Services.Hive.DataAccess.CpuArchitecture" DbType="VarChar(3)" CanBeNull="false" />
     56        <Column Name="OperatingSystem" Type="System.String" DbType="VarChar(MAX)" CanBeNull="false" UpdateCheck="Never" />
     57        <Column Name="LastHeartbeat" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
     58        <Column Name="CpuUtilization" Type="System.Double" DbType="float" CanBeNull="false" />
     59        <Column Name="IsDisposable" Type="System.Boolean" DbType="Bit" CanBeNull="true" />
     60      </Type>
     61      <Type Name="SlaveGroup" InheritanceCode="GROUP" />
    17862    </Type>
    17963  </Table>
    18064  <Table Name="dbo.Task" Member="Tasks">
    18165    <Type Name="Task">
    182       <Column Name="TaskId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    183       <Column Name="TaskState" Type="System.String" DbType="VarChar(30) NOT NULL" CanBeNull="false" />
    184       <Column Name="ExecutionTimeMs" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
     66      <Column Name="TaskId" Storage="_JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     67      <Column Name="TaskState" Member="State" Type="global::HeuristicLab.Services.Hive.DataAccess.TaskState" DbType="VarChar(30)" CanBeNull="false" />
     68      <Column Name="ExecutionTimeMs" Storage="_ExecutionTime" Type="System.Double" DbType="float" CanBeNull="false" />
    18569      <Column Name="LastHeartbeat" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
    186       <Column Name="ParentTaskId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
     70      <Column Name="ParentTaskId" Storage="_ParentJobId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    18771      <Column Name="Priority" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    18872      <Column Name="CoresNeeded" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    18973      <Column Name="MemoryNeeded" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    190       <Column Name="IsParentTask" Type="System.Boolean" DbType="Bit NOT NULL" CanBeNull="false" />
    191       <Column Name="FinishWhenChildJobsFinished" Type="System.Boolean" DbType="Bit NOT NULL" CanBeNull="false" />
    192       <Column Name="Command" Type="System.String" DbType="VarChar(30)" CanBeNull="true" />
    193       <Column Name="JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     74      <Column Name="IsParentTask" Storage="_IsParentJob" Type="System.Boolean" DbType="Bit" CanBeNull="false" />
     75      <Column Name="FinishWhenChildJobsFinished" Type="System.Boolean" DbType="Bit" CanBeNull="false" />
     76      <Column Name="Command" Type="global::HeuristicLab.Services.Hive.DataAccess.Command?" DbType="VarChar(30)" CanBeNull="true" />
     77      <Column Name="JobId" Storage="_HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    19478      <Association Name="Task_RequiredPlugin" Member="RequiredPlugins" ThisKey="TaskId" OtherKey="TaskId" Type="RequiredPlugin" />
     79      <Association Name="Task_Task" Member="ChildJobs" Storage="_Jobs" ThisKey="TaskId" OtherKey="ParentTaskId" Type="Task" />
     80      <Association Name="Task_TaskData" Member="JobData" ThisKey="TaskId" OtherKey="TaskId" Type="TaskData" Cardinality="One" />
    19581      <Association Name="Task_StateLog" Member="StateLogs" ThisKey="TaskId" OtherKey="TaskId" Type="StateLog" />
    196       <Association Name="Task_Task" Member="Tasks" ThisKey="TaskId" OtherKey="ParentTaskId" Type="Task" />
    197       <Association Name="Task_TaskData" Member="TaskData" ThisKey="TaskId" OtherKey="TaskId" Type="TaskData" Cardinality="One" />
    198       <Association Name="Job_Task" Member="Job" ThisKey="JobId" OtherKey="JobId" Type="Job" IsForeignKey="true" />
    199       <Association Name="Task_Task" Member="Task1" ThisKey="ParentTaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" />
     82      <Association Name="Task_AssignedTaskResource" Member="AssignedTaskResources" ThisKey="TaskId" OtherKey="TaskId" Type="AssignedTaskResource" />
     83      <Association Name="Task_Task" Member="ParentJob" Storage="_Job1" ThisKey="ParentTaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" />
     84      <Association Name="Job_Task" Member="Job" Storage="_HiveExperiment" ThisKey="JobId" OtherKey="JobId" Type="Job" IsForeignKey="true" />
     85    </Type>
     86  </Table>
     87  <Table Name="dbo.Downtime" Member="Downtimes">
     88    <Type Name="Downtime">
     89      <Column Name="DowntimeId" Storage="_UptimeCalendarId" Type="System.Guid" DbType="UniqueIdentifier" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     90      <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="false" />
     91      <Column Name="StartDate" Type="System.DateTime" DbType="DateTime" CanBeNull="false" />
     92      <Column Name="EndDate" Type="System.DateTime" DbType="DateTime" CanBeNull="false" />
     93      <Column Name="AllDayEvent" Type="System.Boolean" DbType="Bit" CanBeNull="false" />
     94      <Column Name="Recurring" Type="System.Boolean" DbType="Bit" CanBeNull="false" />
     95      <Column Name="RecurringId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="false" />
     96      <Column Name="DowntimeType" Storage="_Type" Type="global::HeuristicLab.Services.Hive.DataAccess.DowntimeType" DbType="VarChar(MAX)" CanBeNull="false" />
     97      <Association Name="Resource_Downtime" Member="Resource" ThisKey="ResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" DeleteRule="CASCADE" />
     98    </Type>
     99  </Table>
     100  <Table Name="dbo.Job" Member="Jobs">
     101    <Type Name="Job">
     102      <Column Name="JobId" Storage="_HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     103      <Column Name="Name" Type="System.String" DbType="VarChar(MAX)" CanBeNull="false" />
     104      <Column Name="Description" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
     105      <Column Name="ResourceIds" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
     106      <Column Name="OwnerUserId" Storage="_UserId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="false" />
     107      <Column Name="DateCreated" Type="System.DateTime" DbType="DateTime" CanBeNull="false" />
     108      <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     109      <Association Name="Job_Task" Member="Tasks" Storage="_Jobs" ThisKey="JobId" OtherKey="JobId" Type="Task" />
     110      <Association Name="Job_JobPermission" Member="JobPermissions" Storage="_HiveExperimentPermissions" ThisKey="JobId" OtherKey="JobId" Type="JobPermission" />
     111      <Association Name="Project_Job" Member="Project" ThisKey="ProjectId" OtherKey="ProjectId" Type="Project" IsForeignKey="true" />
    200112    </Type>
    201113  </Table>
    202114  <Table Name="dbo.TaskData" Member="TaskDatas">
    203115    <Type Name="TaskData">
    204       <Column Name="TaskId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    205       <Column Name="Data" Type="System.Data.Linq.Binary" DbType="VarBinary(MAX) NOT NULL" CanBeNull="false" UpdateCheck="Never" />
    206       <Column Name="LastUpdate" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    207       <Association Name="Task_TaskData" Member="Task" ThisKey="TaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" />
    208     </Type>
    209   </Table>
    210   <Table Name="dbo.UserPriority" Member="UserPriorities">
     116      <Column Name="TaskId" Storage="_JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     117      <Column Name="Data" Type="System.Byte[]" DbType="VarBinary(MAX)" CanBeNull="false" UpdateCheck="Never" IsDelayLoaded="true" />
     118      <Column Name="LastUpdate" Type="System.DateTime" DbType="DateTime" CanBeNull="false" />
     119      <Association Name="Task_TaskData" Member="Task" Storage="_Job" ThisKey="TaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" />
     120    </Type>
     121  </Table>
     122  <Table Name="dbo.PluginData" Member="PluginDatas">
     123    <Type Name="PluginData">
     124      <Column Name="PluginDataId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     125      <Column Name="PluginId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     126      <Column Name="Data" Type="System.Byte[]" DbType="VarBinary(MAX) NOT NULL" CanBeNull="false" UpdateCheck="Never" IsDelayLoaded="true" />
     127      <Column Name="FileName" Type="System.String" DbType="VarChar(MAX)" CanBeNull="false" />
     128      <Association Name="Plugin_PluginData" Member="Plugin" ThisKey="PluginId" OtherKey="PluginId" Type="Plugin" IsForeignKey="true" />
     129    </Type>
     130  </Table>
     131  <Table Name="dbo.StateLog" Member="StateLogs">
     132    <Type Name="StateLog">
     133      <Column Name="StateLogId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     134      <Column Name="State" Type="global::HeuristicLab.Services.Hive.DataAccess.TaskState" DbType="VarChar(30) NOT NULL" CanBeNull="false" />
     135      <Column Name="DateTime" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
     136      <Column Name="TaskId" Storage="_JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     137      <Column Name="UserId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
     138      <Column Name="SlaveId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
     139      <Column Name="Exception" Type="System.String" DbType="VarChar(MAX)" CanBeNull="false" />
     140      <Association Name="Task_StateLog" Member="Task" Storage="_Job" ThisKey="TaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" />
     141      <Association Name="Resource_StateLog" Member="Resource" ThisKey="SlaveId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" />
     142    </Type>
     143  </Table>
     144  <Table Name="dbo.JobPermission" Member="JobPermissions">
     145    <Type Name="JobPermission">
     146      <Column Name="JobId" Storage="_HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     147      <Column Name="GrantedUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     148      <Column Name="GrantedByUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     149      <Column Name="Permission" Type="global::HeuristicLab.Services.Hive.DataAccess.Permission" DbType="VarChar(15) NOT NULL" CanBeNull="false" />
     150      <Association Name="Job_JobPermission" Member="Job" Storage="_HiveExperiment" ThisKey="JobId" OtherKey="JobId" Type="Job" IsForeignKey="true" />
     151    </Type>
     152  </Table>
     153  <Table Name="" Member="Lifecycles">
     154    <Type Name="Lifecycle">
     155      <Column Name="LifecycleId" Type="System.Int32" DbType="Int" IsPrimaryKey="true" CanBeNull="false" />
     156      <Column Name="LastCleanup" Type="System.DateTime" DbType="DateTime" CanBeNull="false" />
     157    </Type>
     158  </Table>
     159  <Table Name="dbo.ResourcePermission" Member="ResourcePermissions">
     160    <Type Name="ResourcePermission">
     161      <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     162      <Column Name="GrantedUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     163      <Column Name="GrantedByUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     164      <Association Name="Resource_ResourcePermission" Member="Resource" ThisKey="ResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" />
     165    </Type>
     166  </Table>
     167  <Table Name="" Member="UserPriorities">
    211168    <Type Name="UserPriority">
    212169      <Column Name="UserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     
    216173  <Table Name="[statistics].DimClient" Member="DimClients">
    217174    <Type Name="DimClient">
    218       <Column Name="Id" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     175      <Column Name="Id" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
    219176      <Column Name="Name" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
    220177      <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     
    222179      <Column Name="ResourceGroupId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    223180      <Column Name="ResourceGroup2Id" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    224       <Column Name="GroupName" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
    225       <Column Name="GroupName2" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
     181      <Column Name="GroupName" Type="System.String" CanBeNull="true" />
     182      <Column Name="GroupName2" Type="System.String" CanBeNull="true" />
    226183      <Association Name="DimClient_FactTask" Member="FactTasks" ThisKey="Id" OtherKey="LastClientId" Type="FactTask" />
    227184      <Association Name="DimClient_FactClientInfo" Member="FactClientInfos" ThisKey="Id" OtherKey="ClientId" Type="FactClientInfo" />
     185    </Type>
     186  </Table>
     187  <Table Name="[statistics].FactTask" Member="FactTasks">
     188    <Type Name="FactTask">
     189      <Column Name="TaskId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     190      <Column Name="CalculatingTime" Storage="_TotalRuntime" Type="System.Int64" DbType="INT NOT NULL" CanBeNull="false" />
     191      <Column Name="WaitingTime" Storage="_TotalWaitingTime" Type="System.Int64" DbType="INT NOT NULL" CanBeNull="false" />
     192      <Column Name="TransferTime" Storage="_TotalTransferTime" Type="System.Int64" DbType="INT NOT NULL" CanBeNull="false" />
     193      <Column Name="NumCalculationRuns" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     194      <Column Name="NumRetries" Storage="_NumFails" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     195      <Column Name="CoresRequired" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     196      <Column Name="MemoryRequired" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     197      <Column Name="Priority" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     198      <Column Name="LastClientId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="true" />
     199      <Column Name="JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     200      <Column Name="EndTime" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="true" />
     201      <Column Name="TaskState" Type="global::HeuristicLab.Services.Hive.DataAccess.TaskState" DbType="varchar(30)" CanBeNull="false" />
     202      <Column Name="Exception" Type="System.String" DbType="varchar(MAX)" CanBeNull="true" />
     203      <Column Name="InitialWaitingTime" Storage="_InitialWaitingTimeMs" Type="System.Int64" DbType="INT" CanBeNull="false" />
     204      <Column Name="StartTime" Type="System.DateTime" CanBeNull="true" />
     205      <Association Name="DimClient_FactTask" Member="DimClient" ThisKey="LastClientId" OtherKey="Id" Type="DimClient" IsForeignKey="true" />
     206      <Association Name="DimJob_FactTask" Member="DimJob" ThisKey="JobId" OtherKey="JobId" Type="DimJob" IsForeignKey="true" />
    228207    </Type>
    229208  </Table>
     
    235214      <Column Name="UserName" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
    236215      <Column Name="DateCreated" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    237       <Column Name="TotalTasks" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    238       <Column Name="CompletedTasks" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    239       <Column Name="DateCompleted" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
     216      <Column Name="TotalTasks" Type="System.Int32" DbType="INT NOT NULL" CanBeNull="false" />
     217      <Column Name="CompletedTasks" Type="System.Int32" DbType="INT NOT NULL" CanBeNull="false" />
     218      <Column Name="DateCompleted" Type="System.DateTime" DbType="DateTime NULL" CanBeNull="true" />
    240219      <Association Name="DimJob_FactTask" Member="FactTasks" ThisKey="JobId" OtherKey="JobId" Type="FactTask" />
    241220    </Type>
     
    244223    <Type Name="DimTime">
    245224      <Column Name="Time" Type="System.DateTime" DbType="DateTime NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
    246       <Column Name="Minute" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    247225      <Column Name="Hour" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
    248226      <Column Name="Day" Type="System.DateTime" DbType="Date NOT NULL" CanBeNull="false" />
    249227      <Column Name="Month" Type="System.DateTime" DbType="Date NOT NULL" CanBeNull="false" />
    250228      <Column Name="Year" Type="System.DateTime" DbType="Date NOT NULL" CanBeNull="false" />
     229      <Column Name="Minute" Type="System.DateTime" CanBeNull="false" />
    251230      <Association Name="DimTime_FactClientInfo" Member="FactClientInfos" ThisKey="Time" OtherKey="Time" Type="FactClientInfo" />
    252231    </Type>
     
    269248      <Column Name="TotalMemory" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    270249      <Column Name="CpuUtilization" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
    271       <Column Name="SlaveState" Type="System.String" DbType="VarChar(15) NOT NULL" CanBeNull="false" />
    272       <Column Name="IdleTime" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    273       <Column Name="OfflineTime" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    274       <Column Name="UnavailableTime" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    275       <Column Name="IsAllowedToCalculate" Type="System.Boolean" DbType="Bit NOT NULL" CanBeNull="false" />
     250      <Column Name="IdleTime" Storage="_TotalTimeIdle" Type="System.Int64" DbType="INT NOT NULL" CanBeNull="false" />
     251      <Column Name="OfflineTime" Storage="_TotalTimeOffline" Type="System.Int64" DbType="INT NOT NULL" CanBeNull="false" />
     252      <Column Name="UnavailableTime" Storage="_TotalTimeUnavailable" Type="System.Int64" DbType="INT NOT NULL" CanBeNull="false" />
     253      <Column Name="SlaveState" Type="global::HeuristicLab.Services.Hive.DataAccess.SlaveState" DbType="VarChar(15)" CanBeNull="false" />
     254      <Column Name="IsAllowedToCalculate" Type="System.Boolean" DbType="BIT" CanBeNull="false" />
    276255      <Association Name="DimClient_FactClientInfo" Member="DimClient" ThisKey="ClientId" OtherKey="Id" Type="DimClient" IsForeignKey="true" />
    277256      <Association Name="DimTime_FactClientInfo" Member="DimTime" ThisKey="Time" OtherKey="Time" Type="DimTime" IsForeignKey="true" />
     
    279258    </Type>
    280259  </Table>
     260  <Table Name="dbo.Project" Member="Projects">
     261    <Type Name="Project">
     262      <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     263      <Column Name="ParentProjectId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
     264      <Column Name="DateCreated" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
     265      <Column Name="Name" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
     266      <Column Name="Description" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
     267      <Column Name="OwnerUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     268      <Column Name="StartDate" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
     269      <Column Name="EndDate" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
     270      <Association Name="Project_AssignedResource" Member="AssignedProjectResources" Storage="_AssignedResources" ThisKey="ProjectId" OtherKey="ProjectId" Type="AssignedProjectResource" />
     271      <Association Name="Project_Job" Member="Jobs" ThisKey="ProjectId" OtherKey="ProjectId" Type="Job" />
     272      <Association Name="Project_Project" Member="ChildProjects" Storage="_Projects" ThisKey="ProjectId" OtherKey="ParentProjectId" Type="Project" />
     273      <Association Name="Project_ProjectPermission" Member="ProjectPermissions" ThisKey="ProjectId" OtherKey="ProjectId" Type="ProjectPermission" />
     274      <Association Name="Project_Project" Member="ParentProject" Storage="_Project1" ThisKey="ParentProjectId" OtherKey="ProjectId" Type="Project" IsForeignKey="true" />
     275    </Type>
     276  </Table>
     277  <Table Name="dbo.ProjectPermission" Member="ProjectPermissions">
     278    <Type Name="ProjectPermission">
     279      <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     280      <Column Name="GrantedUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     281      <Column Name="GrantedByUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     282      <Association Name="Project_ProjectPermission" Member="Project" ThisKey="ProjectId" OtherKey="ProjectId" Type="Project" IsForeignKey="true" />
     283    </Type>
     284  </Table>
     285  <Table Name="dbo.AssignedTaskResource" Member="AssignedTaskResources">
     286    <Type Name="AssignedTaskResource">
     287      <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     288      <Column Name="TaskId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     289      <Association Name="Task_AssignedTaskResource" Member="Task" ThisKey="TaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" />
     290      <Association Name="Resource_AssignedTaskResource" Member="Resource" ThisKey="ResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" />
     291    </Type>
     292  </Table>
    281293</Database>
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout

    r15523 r15526  
    11<?xml version="1.0" encoding="utf-8"?>
    2 <ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 17.75, 21.875" name="HiveDataContext">
     2<ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 16.25, 17.875" name="HiveDataContext">
    33  <DataContextMoniker Name="/HiveDataContext" />
    44  <nestedChildShapes>
    5     <classShape Id="008ed438-fca9-4253-9ae5-7a98f1b3c350" absoluteBounds="9.25, 12.125, 2, 1.1939925130208344">
    6       <DataClassMoniker Name="/HiveDataContext/AssignedJobResource" />
    7       <nestedChildShapes>
    8         <elementListCompartment Id="313a5b97-17ab-4abb-9b55-09e4877bf7a8" absoluteBounds="9.265, 12.585, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    9       </nestedChildShapes>
    10     </classShape>
    11     <classShape Id="3812f3a3-0ccd-4f24-b669-d0d7950caa6e" absoluteBounds="15.5, 4, 2, 3.886212565104167">
     5    <classShape Id="a929c9dc-69f4-4488-ba1c-a2342bf81d89" absoluteBounds="13.875, 8.25, 2, 1.1939925130208327">
     6      <DataClassMoniker Name="/HiveDataContext/AssignedProjectResource" />
     7      <nestedChildShapes>
     8        <elementListCompartment Id="8b005775-f0ee-41b0-ae10-6d1151003708" absoluteBounds="13.89, 8.71, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     9      </nestedChildShapes>
     10    </classShape>
     11    <classShape Id="7d998e56-4fba-41ca-a1a8-1dcdb9068edf" absoluteBounds="8.875, 5.875, 2, 1.9631982421874996">
     12      <DataClassMoniker Name="/HiveDataContext/Plugin" />
     13      <nestedChildShapes>
     14        <elementListCompartment Id="ec4ba325-6dff-4418-baad-59af81ae2024" absoluteBounds="8.89, 6.3350000000000009, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     15      </nestedChildShapes>
     16    </classShape>
     17    <classShape Id="97b00810-fa30-457e-b484-b4e80b22f91b" absoluteBounds="6.5, 5.875, 2, 1.3862939453124996">
     18      <DataClassMoniker Name="/HiveDataContext/RequiredPlugin" />
     19      <nestedChildShapes>
     20        <elementListCompartment Id="df6451e5-069e-4ca0-a909-61b8213b5047" absoluteBounds="6.5150000000000006, 6.3350000000000009, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     21      </nestedChildShapes>
     22    </classShape>
     23    <classShape Id="706a4581-6daf-4e71-ae2a-87d50b27a051" absoluteBounds="11.25, 1, 2, 1.9631982421875">
     24      <DataClassMoniker Name="/HiveDataContext/Resource" />
     25      <nestedChildShapes>
     26        <elementListCompartment Id="8c24f5bf-2164-4d0f-832e-1730eb0066df" absoluteBounds="11.265, 1.46, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     27      </nestedChildShapes>
     28    </classShape>
     29    <classShape Id="695bfc39-59f3-4e60-8644-f847964bf62c" absoluteBounds="6.5, 1, 2, 3.1170068359374996">
     30      <DataClassMoniker Name="/HiveDataContext/Task" />
     31      <nestedChildShapes>
     32        <elementListCompartment Id="a6a30e11-03d1-4869-82e6-b733f4ef9974" absoluteBounds="6.5150000000000006, 1.46, 1.9700000000000002, 2.5570068359375" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     33      </nestedChildShapes>
     34    </classShape>
     35    <classShape Id="8d5712f7-7a1a-4a89-bd4d-fd60200d3306" absoluteBounds="13.5, 2.5, 2, 2.3478011067708326">
     36      <DataClassMoniker Name="/HiveDataContext/Downtime" />
     37      <nestedChildShapes>
     38        <elementListCompartment Id="7d8f121b-35bb-4753-a25f-3fac1562e68e" absoluteBounds="13.515, 2.9600000000000009, 1.9700000000000002, 1.7878011067708333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     39      </nestedChildShapes>
     40    </classShape>
     41    <classShape Id="e6f840cc-2968-4be1-b234-eef624ccacbb" absoluteBounds="4.125, 2.625, 2, 2.1554996744791666">
     42      <DataClassMoniker Name="/HiveDataContext/Job" />
     43      <nestedChildShapes>
     44        <elementListCompartment Id="0c65d4e1-256a-4a91-9a57-392f25e4de7f" absoluteBounds="4.1400000000000006, 3.0850000000000009, 1.9700000000000002, 1.5954996744791665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     45      </nestedChildShapes>
     46    </classShape>
     47    <classShape Id="26f4edfa-91dd-4941-a058-359f89e567a8" absoluteBounds="8.875, 0.75, 2, 3.3093082682291666">
     48      <DataClassMoniker Name="/HiveDataContext/Slave" />
     49      <nestedChildShapes>
     50        <elementListCompartment Id="1e61f36b-08dc-4df7-8594-c9dcd95c0791" absoluteBounds="8.89, 1.21, 1.9700000000000002, 2.7493082682291665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     51      </nestedChildShapes>
     52    </classShape>
     53    <classShape Id="bbd91675-92f2-4a69-8429-0950008fc8a4" absoluteBounds="13.5, 1, 2, 0.8093896484375">
     54      <DataClassMoniker Name="/HiveDataContext/SlaveGroup" />
     55      <nestedChildShapes>
     56        <elementListCompartment Id="5a790e8f-6e2e-4bf5-bd2b-f8a82224d9d7" absoluteBounds="13.5, 1, 0.125, 0.2493896484375" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     57      </nestedChildShapes>
     58    </classShape>
     59    <inheritanceConnector edgePoints="[(11.25 : 1.98159912109375); (10.875 : 1.98159912109375)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     60      <nodes>
     61        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     62        <classShapeMoniker Id="26f4edfa-91dd-4941-a058-359f89e567a8" />
     63      </nodes>
     64    </inheritanceConnector>
     65    <inheritanceConnector edgePoints="[(13.25 : 1.40469482421875); (13.5 : 1.40469482421875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     66      <nodes>
     67        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     68        <classShapeMoniker Id="bbd91675-92f2-4a69-8429-0950008fc8a4" />
     69      </nodes>
     70    </inheritanceConnector>
     71    <associationConnector edgePoints="[(13.25 : 2.15469482421875); (15.71875 : 2.15469482421875); (15.71875 : 8.25)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
     72      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_AssignedResource" />
     73      <nodes>
     74        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     75        <classShapeMoniker Id="a929c9dc-69f4-4488-ba1c-a2342bf81d89" />
     76      </nodes>
     77    </associationConnector>
     78    <classShape Id="6bc13f26-f9a8-4597-b054-35be34190d12" absoluteBounds="4.125, 1, 2, 1.3862939453125">
     79      <DataClassMoniker Name="/HiveDataContext/TaskData" />
     80      <nestedChildShapes>
     81        <elementListCompartment Id="a068522c-7974-4679-b356-e33c941c465b" absoluteBounds="4.14, 1.46, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     82      </nestedChildShapes>
     83    </classShape>
     84    <classShape Id="ad25bd0f-80e8-4a06-abd8-190eb678eec7" absoluteBounds="11.25, 5.875, 2, 1.5785953776041666">
     85      <DataClassMoniker Name="/HiveDataContext/PluginData" />
     86      <nestedChildShapes>
     87        <elementListCompartment Id="acddb513-7de6-4bb4-8335-d6982fb2ef35" absoluteBounds="11.265, 6.3350000000000009, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     88      </nestedChildShapes>
     89    </classShape>
     90    <associationConnector edgePoints="[(10.875 : 6.66429768880208); (11.25 : 6.66429768880208)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     91      <AssociationMoniker Name="/HiveDataContext/Plugin/Plugin_PluginData" />
     92      <nodes>
     93        <classShapeMoniker Id="7d998e56-4fba-41ca-a1a8-1dcdb9068edf" />
     94        <classShapeMoniker Id="ad25bd0f-80e8-4a06-abd8-190eb678eec7" />
     95      </nodes>
     96    </associationConnector>
     97    <associationConnector edgePoints="[(8.875 : 6.56814697265625); (8.5 : 6.56814697265625)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     98      <AssociationMoniker Name="/HiveDataContext/Plugin/Plugin_RequiredPlugin" />
     99      <nodes>
     100        <classShapeMoniker Id="7d998e56-4fba-41ca-a1a8-1dcdb9068edf" />
     101        <classShapeMoniker Id="97b00810-fa30-457e-b484-b4e80b22f91b" />
     102      </nodes>
     103    </associationConnector>
     104    <associationConnector edgePoints="[(11.9586362792969 : 1); (11.9586362792969 : 0.75); (12.5552381835937 : 0.75); (12.5552381835937 : 1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     105      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_Resource" />
     106      <nodes>
     107        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     108        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     109      </nodes>
     110    </associationConnector>
     111    <classShape Id="00352397-340e-449a-8e23-6ddd216e8617" absoluteBounds="1.75, 1, 2, 2.1554996744791666">
     112      <DataClassMoniker Name="/HiveDataContext/StateLog" />
     113      <nestedChildShapes>
     114        <elementListCompartment Id="9a003897-deef-4bb5-b180-4c4bcdb7fadc" absoluteBounds="1.765, 1.46, 1.9700000000000002, 1.5954996744791665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     115      </nestedChildShapes>
     116    </classShape>
     117    <classShape Id="4d800dc9-1b18-469f-b02c-d4554757c5e1" absoluteBounds="1.75, 3.625, 2, 1.5785953776041666">
     118      <DataClassMoniker Name="/HiveDataContext/JobPermission" />
     119      <nestedChildShapes>
     120        <elementListCompartment Id="dedd97d3-a9a2-45a2-9b95-d7366fb65a7f" absoluteBounds="1.765, 4.085, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     121      </nestedChildShapes>
     122    </classShape>
     123    <associationConnector edgePoints="[(11.25 : 1.44547136382195); (11.0260416666667 : 1.44547136382195); (11.0260416666667 : 0.5625); (2.75 : 0.5625); (2.75 : 1)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
     124      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_StateLog" />
     125      <nodes>
     126        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     127        <classShapeMoniker Id="00352397-340e-449a-8e23-6ddd216e8617" />
     128      </nodes>
     129    </associationConnector>
     130    <classShape Id="b4e7aaa8-a382-4560-a1fd-498de77e9340" absoluteBounds="1.75, 5.5, 2, 1.1939925130208327">
     131      <DataClassMoniker Name="/HiveDataContext/Lifecycle" />
     132      <nestedChildShapes>
     133        <elementListCompartment Id="03597a2c-5c5d-4c2c-b741-c49ab5aa34d5" absoluteBounds="1.7650000000000001, 5.96, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     134      </nestedChildShapes>
     135    </classShape>
     136    <associationConnector edgePoints="[(13.25 : 2.73159912109375); (13.5 : 2.73159912109375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     137      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_Downtime" />
     138      <nodes>
     139        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     140        <classShapeMoniker Id="8d5712f7-7a1a-4a89-bd4d-fd60200d3306" />
     141      </nodes>
     142    </associationConnector>
     143    <associationConnector edgePoints="[(7.4687475 : 4.1170068359375); (7.4687475 : 5.875)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     144      <AssociationMoniker Name="/HiveDataContext/Task/Task_RequiredPlugin" />
     145      <nodes>
     146        <classShapeMoniker Id="695bfc39-59f3-4e60-8644-f847964bf62c" />
     147        <classShapeMoniker Id="97b00810-fa30-457e-b484-b4e80b22f91b" />
     148      </nodes>
     149    </associationConnector>
     150    <associationConnector edgePoints="[(7.20923076923077 : 1); (7.20923076923077 : 0.770833333333333); (7.80461538461539 : 0.770833333333333); (7.80461538461539 : 1)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
     151      <AssociationMoniker Name="/HiveDataContext/Task/Task_Task" />
     152      <nodes>
     153        <classShapeMoniker Id="695bfc39-59f3-4e60-8644-f847964bf62c" />
     154        <classShapeMoniker Id="695bfc39-59f3-4e60-8644-f847964bf62c" />
     155      </nodes>
     156    </associationConnector>
     157    <associationConnector edgePoints="[(6.5 : 1.69314697265625); (6.125 : 1.69314697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     158      <AssociationMoniker Name="/HiveDataContext/Task/Task_TaskData" />
     159      <nodes>
     160        <classShapeMoniker Id="695bfc39-59f3-4e60-8644-f847964bf62c" />
     161        <classShapeMoniker Id="6bc13f26-f9a8-4597-b054-35be34190d12" />
     162      </nodes>
     163    </associationConnector>
     164    <associationConnector edgePoints="[(6.5 : 2.50564697265625); (3.75 : 2.50564697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     165      <AssociationMoniker Name="/HiveDataContext/Task/Task_StateLog" />
     166      <nodes>
     167        <classShapeMoniker Id="695bfc39-59f3-4e60-8644-f847964bf62c" />
     168        <classShapeMoniker Id="00352397-340e-449a-8e23-6ddd216e8617" />
     169      </nodes>
     170    </associationConnector>
     171    <associationConnector edgePoints="[(6.125 : 3.37100341796875); (6.5 : 3.37100341796875)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     172      <AssociationMoniker Name="/HiveDataContext/Job/Job_Task" />
     173      <nodes>
     174        <classShapeMoniker Id="e6f840cc-2968-4be1-b234-eef624ccacbb" />
     175        <classShapeMoniker Id="695bfc39-59f3-4e60-8644-f847964bf62c" />
     176      </nodes>
     177    </associationConnector>
     178    <associationConnector edgePoints="[(4.125 : 4.20274983723958); (3.75 : 4.20274983723958)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     179      <AssociationMoniker Name="/HiveDataContext/Job/Job_JobPermission" />
     180      <nodes>
     181        <classShapeMoniker Id="e6f840cc-2968-4be1-b234-eef624ccacbb" />
     182        <classShapeMoniker Id="4d800dc9-1b18-469f-b02c-d4554757c5e1" />
     183      </nodes>
     184    </associationConnector>
     185    <classShape Id="a3f352be-9f15-4e73-8d44-3e8ac02fb4cf" absoluteBounds="11.25, 3.875, 2, 1.3862939453124996">
     186      <DataClassMoniker Name="/HiveDataContext/ResourcePermission" />
     187      <nestedChildShapes>
     188        <elementListCompartment Id="45e2f1a8-8a1e-4647-b649-10ec55976ab4" absoluteBounds="11.265, 4.335, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     189      </nestedChildShapes>
     190    </classShape>
     191    <associationConnector edgePoints="[(12.5942481820367 : 2.9631982421875); (12.5942481820367 : 3.875)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     192      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_ResourcePermission" />
     193      <nodes>
     194        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     195        <classShapeMoniker Id="a3f352be-9f15-4e73-8d44-3e8ac02fb4cf" />
     196      </nodes>
     197    </associationConnector>
     198    <classShape Id="f9e8867f-fd15-4a72-8ca4-4f02cd3f141f" absoluteBounds="4.125, 5.5, 2, 1.1939925130208327">
     199      <DataClassMoniker Name="/HiveDataContext/UserPriority" />
     200      <nestedChildShapes>
     201        <elementListCompartment Id="ee41f516-7d9c-4a1d-a1b8-bbe00a6ffea8" absoluteBounds="4.14, 5.96, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     202      </nestedChildShapes>
     203    </classShape>
     204    <classShape Id="b5b919c2-4efc-4f09-8f52-9d541a11e961" absoluteBounds="4.625, 15.25, 2, 2.3478011067708344">
     205      <DataClassMoniker Name="/HiveDataContext/DimClient" />
     206      <nestedChildShapes>
     207        <elementListCompartment Id="30f62a7b-0b16-404e-b972-fb12bfe978dd" absoluteBounds="4.6400000000000006, 15.71, 1.9700000000000002, 1.7878011067708333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     208      </nestedChildShapes>
     209    </classShape>
     210    <classShape Id="04f52807-ce17-4d65-bd23-cc38c6dfbd7a" absoluteBounds="6.875, 11.25, 2, 3.8862125651041666">
    12211      <DataClassMoniker Name="/HiveDataContext/FactTask" />
    13212      <nestedChildShapes>
    14         <elementListCompartment Id="864cf028-1ee8-44e6-9ee1-f72a19d0ff3b" absoluteBounds="15.515, 4.46, 1.9700000000000002, 3.3262125651041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    15       </nestedChildShapes>
    16     </classShape>
    17     <classShape Id="dbbf95bc-dd06-46da-8dcb-46c47692d3b0" absoluteBounds="6.5, 9.125, 2, 1.1939925130208344">
    18       <DataClassMoniker Name="/HiveDataContext/AssignedProjectResource" />
    19       <nestedChildShapes>
    20         <elementListCompartment Id="bf3a5dab-c8ad-4ca3-aef6-77264c352095" absoluteBounds="6.515, 9.585, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    21       </nestedChildShapes>
    22     </classShape>
    23     <classShape Id="e0afe04d-6ee4-48ee-b332-14153915e733" absoluteBounds="6.5, 3.5, 2, 2.3478011067708344">
    24       <DataClassMoniker Name="/HiveDataContext/Downtime" />
    25       <nestedChildShapes>
    26         <elementListCompartment Id="85841023-0ef4-4c9b-bbf5-5cf40afac158" absoluteBounds="6.515, 3.96, 1.9700000000000002, 1.7878011067708335" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    27       </nestedChildShapes>
    28     </classShape>
    29     <classShape Id="bd66853f-65d2-491d-869d-90a593e65985" absoluteBounds="3.5, 11.75, 2, 1.9631982421874987">
    30       <DataClassMoniker Name="/HiveDataContext/Job" />
    31       <nestedChildShapes>
    32         <elementListCompartment Id="d26915ab-8d9e-4917-8f6f-b83e30a43fcd" absoluteBounds="3.515, 12.21, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    33       </nestedChildShapes>
    34     </classShape>
    35     <classShape Id="1e0c4d5c-4430-428e-8938-1f7aa6b233ed" absoluteBounds="6.25, 11.875, 2, 1.5785953776041666">
    36       <DataClassMoniker Name="/HiveDataContext/JobPermission" />
    37       <nestedChildShapes>
    38         <elementListCompartment Id="4ce7c6dd-c13d-4b30-ac7e-0de8c6d50714" absoluteBounds="6.265, 12.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    39       </nestedChildShapes>
    40     </classShape>
    41     <classShape Id="bea84727-a305-4f0f-92a4-31658e06b402" absoluteBounds="11.75, 11.5, 2, 1.1939925130208344">
    42       <DataClassMoniker Name="/HiveDataContext/Lifecycle" />
    43       <nestedChildShapes>
    44         <elementListCompartment Id="d7b8c0bf-1caf-4cc3-b3ba-96fd687f1b47" absoluteBounds="11.765, 11.96, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    45       </nestedChildShapes>
    46     </classShape>
    47     <classShape Id="bfd1449c-5d57-4c9b-9876-99c4a16c5ab8" absoluteBounds="6.25, 18.875, 2, 1.9631982421875023">
    48       <DataClassMoniker Name="/HiveDataContext/Plugin" />
    49       <nestedChildShapes>
    50         <elementListCompartment Id="e3f3b33a-0712-4fde-9ce2-5fa27e87a2f6" absoluteBounds="6.265, 19.335, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    51       </nestedChildShapes>
    52     </classShape>
    53     <classShape Id="2b387dd4-a3e4-49fd-85ac-92919b8a9c2c" absoluteBounds="9, 20, 2, 1.5785953776041666">
    54       <DataClassMoniker Name="/HiveDataContext/PluginData" />
    55       <nestedChildShapes>
    56         <elementListCompartment Id="ee2a110c-2d0a-4bd4-bcf8-059ab6832980" absoluteBounds="9.015, 20.46, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    57       </nestedChildShapes>
    58     </classShape>
    59     <classShape Id="849283f3-5196-4e0b-a93a-d3d76f4585fd" absoluteBounds="0.75, 8.5, 2, 2.3478011067708344">
     213        <elementListCompartment Id="63e3ddcb-a6fe-48e0-a674-e650a55a9f2c" absoluteBounds="6.8900000000000006, 11.71, 1.9700000000000002, 3.3262125651041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     214      </nestedChildShapes>
     215    </classShape>
     216    <classShape Id="e0cb8641-a75e-4b9f-beda-3218c56938b1" absoluteBounds="8.125, 8.25, 2, 2.3478011067708344">
     217      <DataClassMoniker Name="/HiveDataContext/DimJob" />
     218      <nestedChildShapes>
     219        <elementListCompartment Id="6b9e8260-7e4b-4357-9c26-eebebfd69504" absoluteBounds="8.14, 8.71, 1.9700000000000002, 1.7878011067708333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     220      </nestedChildShapes>
     221    </classShape>
     222    <classShape Id="a769f2ac-c8e3-4860-baa5-c46f46c38ed8" absoluteBounds="3.625, 8.5, 2, 1.9631982421875005">
     223      <DataClassMoniker Name="/HiveDataContext/DimTime" />
     224      <nestedChildShapes>
     225        <elementListCompartment Id="694c4a5a-20fb-43a9-bc9a-7b59d794a7fb" absoluteBounds="3.6399999999999997, 8.96, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     226      </nestedChildShapes>
     227    </classShape>
     228    <classShape Id="66c34ced-4fdb-4a1d-b8dd-fe094679b7fb" absoluteBounds="0.625, 8.875, 2, 1.1939925130208344">
     229      <DataClassMoniker Name="/HiveDataContext/DimUser" />
     230      <nestedChildShapes>
     231        <elementListCompartment Id="6181c560-fc74-4d43-b064-a90032bf17a5" absoluteBounds="0.64000000000000012, 9.335, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     232      </nestedChildShapes>
     233    </classShape>
     234    <classShape Id="053a5cff-b18a-4ee5-8d43-48ed5c5dcfad" absoluteBounds="2.625, 11, 2, 3.3093082682291666">
     235      <DataClassMoniker Name="/HiveDataContext/FactClientInfo" />
     236      <nestedChildShapes>
     237        <elementListCompartment Id="0a1cc913-6636-455c-95b3-302f533527db" absoluteBounds="2.6399999999999997, 11.46, 1.9700000000000002, 2.7493082682291665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     238      </nestedChildShapes>
     239    </classShape>
     240    <associationConnector edgePoints="[(6.625 : 15.25); (6.875 : 15.1362125651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     241      <AssociationMoniker Name="/HiveDataContext/DimClient/DimClient_FactTask" />
     242      <nodes>
     243        <classShapeMoniker Id="b5b919c2-4efc-4f09-8f52-9d541a11e961" />
     244        <classShapeMoniker Id="04f52807-ce17-4d65-bd23-cc38c6dfbd7a" />
     245      </nodes>
     246    </associationConnector>
     247    <associationConnector edgePoints="[(8.5 : 10.5978011067708); (8.5 : 11.25)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     248      <AssociationMoniker Name="/HiveDataContext/DimJob/DimJob_FactTask" />
     249      <nodes>
     250        <classShapeMoniker Id="e0cb8641-a75e-4b9f-beda-3218c56938b1" />
     251        <classShapeMoniker Id="04f52807-ce17-4d65-bd23-cc38c6dfbd7a" />
     252      </nodes>
     253    </associationConnector>
     254    <associationConnector edgePoints="[(5.6249975 : 15.25); (5.6249975 : 12.6546541341146); (4.625 : 12.6546541341146)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     255      <AssociationMoniker Name="/HiveDataContext/DimClient/DimClient_FactClientInfo" />
     256      <nodes>
     257        <classShapeMoniker Id="b5b919c2-4efc-4f09-8f52-9d541a11e961" />
     258        <classShapeMoniker Id="053a5cff-b18a-4ee5-8d43-48ed5c5dcfad" />
     259      </nodes>
     260    </associationConnector>
     261    <associationConnector edgePoints="[(4.125 : 10.4631982421875); (4.125 : 11)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     262      <AssociationMoniker Name="/HiveDataContext/DimTime/DimTime_FactClientInfo" />
     263      <nodes>
     264        <classShapeMoniker Id="a769f2ac-c8e3-4860-baa5-c46f46c38ed8" />
     265        <classShapeMoniker Id="053a5cff-b18a-4ee5-8d43-48ed5c5dcfad" />
     266      </nodes>
     267    </associationConnector>
     268    <associationConnector edgePoints="[(1.59375 : 10.0689925130208); (1.59375 : 12.6546541341146); (2.625 : 12.6546541341146)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     269      <AssociationMoniker Name="/HiveDataContext/DimUser/DimUser_FactClientInfo" />
     270      <nodes>
     271        <classShapeMoniker Id="66c34ced-4fdb-4a1d-b8dd-fe094679b7fb" />
     272        <classShapeMoniker Id="053a5cff-b18a-4ee5-8d43-48ed5c5dcfad" />
     273      </nodes>
     274    </associationConnector>
     275    <classShape Id="30778876-b5f6-4a97-9ec7-792011973d75" absoluteBounds="11.25, 8.25, 2, 2.3478011067708344">
    60276      <DataClassMoniker Name="/HiveDataContext/Project" />
    61277      <nestedChildShapes>
    62         <elementListCompartment Id="ed012258-3fc5-4150-8fea-e27642c63da4" absoluteBounds="0.765, 8.96, 1.9700000000000002, 1.7878011067708335" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    63       </nestedChildShapes>
    64     </classShape>
    65     <classShape Id="0f549581-f45d-467e-a6f5-3e77a87e57e9" absoluteBounds="3.5, 7.875, 2, 1.3862939453125005">
     278        <elementListCompartment Id="2c8b0555-6cea-4cc9-b028-2d066c02401c" absoluteBounds="11.265, 8.71, 1.9700000000000002, 1.7878011067708333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     279      </nestedChildShapes>
     280    </classShape>
     281    <associationConnector edgePoints="[(11.9592307692308 : 10.5978011067708); (11.9592307692308 : 10.8478011067708); (12.5546153846154 : 10.8478011067708); (12.5546153846154 : 10.5978011067708)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     282      <AssociationMoniker Name="/HiveDataContext/Project/Project_Project" />
     283      <nodes>
     284        <classShapeMoniker Id="30778876-b5f6-4a97-9ec7-792011973d75" />
     285        <classShapeMoniker Id="30778876-b5f6-4a97-9ec7-792011973d75" />
     286      </nodes>
     287    </associationConnector>
     288    <classShape Id="1c20ff2a-adeb-4830-9456-9a2a3e11cee3" absoluteBounds="13.875, 9.875, 2, 1.3862939453125005">
    66289      <DataClassMoniker Name="/HiveDataContext/ProjectPermission" />
    67290      <nestedChildShapes>
    68         <elementListCompartment Id="5ed105a5-b835-4109-97c4-774cbcd52027" absoluteBounds="3.515, 8.335, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    69       </nestedChildShapes>
    70     </classShape>
    71     <classShape Id="0824e725-5579-4ebf-9957-6fe3608829a9" absoluteBounds="9, 15.125, 2, 1.3862939453124987">
    72       <DataClassMoniker Name="/HiveDataContext/RequiredPlugin" />
    73       <nestedChildShapes>
    74         <elementListCompartment Id="cf7b9f74-3faf-46d9-8ee8-c9ff674b93ca" absoluteBounds="9.015, 15.585, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    75       </nestedChildShapes>
    76     </classShape>
    77     <classShape Id="0badebfc-601f-4e3d-a82a-30650fdd9813" absoluteBounds="3.75, 2.5, 2, 4.4631168619791666">
    78       <DataClassMoniker Name="/HiveDataContext/Resource" />
    79       <nestedChildShapes>
    80         <elementListCompartment Id="832548ae-29c2-4be5-9d22-21ba631f4481" absoluteBounds="3.765, 2.96, 1.9700000000000002, 3.903116861979167" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    81       </nestedChildShapes>
    82     </classShape>
    83     <classShape Id="71d59be5-53fa-4cc2-9901-7134eb19995d" absoluteBounds="12, 14.75, 2, 2.1554996744791648">
    84       <DataClassMoniker Name="/HiveDataContext/StateLog" />
    85       <nestedChildShapes>
    86         <elementListCompartment Id="c7bb3516-0f0c-4868-9a5e-32888a9af00b" absoluteBounds="12.015, 15.21, 1.9700000000000002, 1.5954996744791665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    87       </nestedChildShapes>
    88     </classShape>
    89     <classShape Id="05d17f5c-8a09-4026-a1e1-f9fc65a27c2a" absoluteBounds="6.25, 14.25, 2, 3.1170068359375005">
    90       <DataClassMoniker Name="/HiveDataContext/Task" />
    91       <nestedChildShapes>
    92         <elementListCompartment Id="b32af6f0-bf01-4dc6-89f4-04cc15061354" absoluteBounds="6.265, 14.71, 1.9700000000000002, 2.5570068359375" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    93       </nestedChildShapes>
    94     </classShape>
    95     <classShape Id="e096ec63-ea06-44bf-88ed-a7c15df274e3" absoluteBounds="9, 17.25, 2, 1.3862939453125023">
    96       <DataClassMoniker Name="/HiveDataContext/TaskData" />
    97       <nestedChildShapes>
    98         <elementListCompartment Id="f9028a21-b419-4c6b-9bbb-5c0f4fedb8ca" absoluteBounds="9.015, 17.71, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    99       </nestedChildShapes>
    100     </classShape>
    101     <classShape Id="b036182d-de1d-410e-b70b-272294d35f69" absoluteBounds="12.75, 9.5, 2, 1.1939925130208344">
    102       <DataClassMoniker Name="/HiveDataContext/UserPriority" />
    103       <nestedChildShapes>
    104         <elementListCompartment Id="0e3cf7e4-8821-4757-af6d-203914c8662e" absoluteBounds="12.765, 9.96, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    105       </nestedChildShapes>
    106     </classShape>
    107     <classShape Id="0b0f6e46-2970-4c62-a79a-adf31b88fa4f" absoluteBounds="9.75, 4.75, 2, 2.3478011067708344">
    108       <DataClassMoniker Name="/HiveDataContext/DimClient" />
    109       <nestedChildShapes>
    110         <elementListCompartment Id="242b58c1-1b93-4522-8ac5-a00129d49b01" absoluteBounds="9.765, 5.21, 1.9700000000000002, 1.7878011067708335" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    111       </nestedChildShapes>
    112     </classShape>
    113     <classShape Id="9b4c5294-47df-4855-9191-50fc20c03487" absoluteBounds="12.75, 0.75, 2, 2.3478011067708335">
    114       <DataClassMoniker Name="/HiveDataContext/DimJob" />
    115       <nestedChildShapes>
    116         <elementListCompartment Id="4800f367-d0f6-400d-ab63-6109389157a2" absoluteBounds="12.765, 1.21, 1.9700000000000002, 1.7878011067708335" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    117       </nestedChildShapes>
    118     </classShape>
    119     <classShape Id="b5bd8f3a-68fe-4e76-82ad-8abd47b729a0" absoluteBounds="9.75, 7.875, 2, 1.9631982421875005">
    120       <DataClassMoniker Name="/HiveDataContext/DimTime" />
    121       <nestedChildShapes>
    122         <elementListCompartment Id="496f2d00-7438-4de9-85d1-1318b8f3444e" absoluteBounds="9.765, 8.335, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    123       </nestedChildShapes>
    124     </classShape>
    125     <classShape Id="21c9583c-d7ba-42a5-b51f-640eb37b8062" absoluteBounds="9.75, 2, 2, 1.1939925130208335">
    126       <DataClassMoniker Name="/HiveDataContext/DimUser" />
    127       <nestedChildShapes>
    128         <elementListCompartment Id="4cf74fba-b36a-47a9-ae50-d8703ade6ae7" absoluteBounds="9.765, 2.46, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    129       </nestedChildShapes>
    130     </classShape>
    131     <classShape Id="8a0e5c60-ae42-4e3f-b366-68407c56bbd1" absoluteBounds="12.5, 4.25, 2, 3.3093082682291666">
    132       <DataClassMoniker Name="/HiveDataContext/FactClientInfo" />
    133       <nestedChildShapes>
    134         <elementListCompartment Id="f7f2e6a7-17b2-4830-9bf1-97dd5f6525d6" absoluteBounds="12.515, 4.71, 1.9700000000000002, 2.7493082682291665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    135       </nestedChildShapes>
    136     </classShape>
    137     <associationConnector edgePoints="[(5.5 : 13.6146468098958); (8.66666666666667 : 13.6146468098958 : JumpStart); (8.83333333333333 : 13.6146468098958 : JumpEnd); (10.25 : 13.6146468098958); (10.25 : 13.3189925130208)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    138       <AssociationMoniker Name="/HiveDataContext/Job/Job_AssignedJobResource" />
    139       <nodes>
    140         <classShapeMoniker Id="bd66853f-65d2-491d-869d-90a593e65985" />
    141         <classShapeMoniker Id="008ed438-fca9-4253-9ae5-7a98f1b3c350" />
    142       </nodes>
    143     </associationConnector>
    144     <associationConnector edgePoints="[(5.5 : 12.6642976888021); (6.25 : 12.6642976888021)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    145       <AssociationMoniker Name="/HiveDataContext/Job/Job_JobPermission" />
    146       <nodes>
    147         <classShapeMoniker Id="bd66853f-65d2-491d-869d-90a593e65985" />
    148         <classShapeMoniker Id="1e0c4d5c-4430-428e-8938-1f7aa6b233ed" />
    149       </nodes>
    150     </associationConnector>
    151     <associationConnector edgePoints="[(8.25 : 20.4190991210938); (9 : 20.4190991210938)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    152       <AssociationMoniker Name="/HiveDataContext/Plugin/Plugin_PluginData" />
    153       <nodes>
    154         <classShapeMoniker Id="bfd1449c-5d57-4c9b-9876-99c4a16c5ab8" />
    155         <classShapeMoniker Id="2b387dd4-a3e4-49fd-85ac-92919b8a9c2c" />
    156       </nodes>
    157     </associationConnector>
    158     <associationConnector edgePoints="[(2.75 : 9.82139322916667); (6.5 : 9.82139322916667)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    159       <AssociationMoniker Name="/HiveDataContext/Project/Project_AssignedProjectResource" />
    160       <nodes>
    161         <classShapeMoniker Id="849283f3-5196-4e0b-a93a-d3d76f4585fd" />
    162         <classShapeMoniker Id="dbbf95bc-dd06-46da-8dcb-46c47692d3b0" />
    163       </nodes>
    164     </associationConnector>
    165     <associationConnector edgePoints="[(1.75 : 10.8478011067708); (1.75 : 12.7315991210937); (3.5 : 12.7315991210937)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     291        <elementListCompartment Id="d115744c-dfef-4a5d-9b9a-30efc6ef4423" absoluteBounds="13.89, 10.335, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     292      </nestedChildShapes>
     293    </classShape>
     294    <associationConnector edgePoints="[(13.25 : 10.2364005533854); (13.875 : 10.2364005533854)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     295      <AssociationMoniker Name="/HiveDataContext/Project/Project_ProjectPermission" />
     296      <nodes>
     297        <classShapeMoniker Id="30778876-b5f6-4a97-9ec7-792011973d75" />
     298        <classShapeMoniker Id="1c20ff2a-adeb-4830-9456-9a2a3e11cee3" />
     299      </nodes>
     300    </associationConnector>
     301    <associationConnector edgePoints="[(13.25 : 8.84699625651042); (13.875 : 8.84699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     302      <AssociationMoniker Name="/HiveDataContext/Project/Project_AssignedResource" />
     303      <nodes>
     304        <classShapeMoniker Id="30778876-b5f6-4a97-9ec7-792011973d75" />
     305        <classShapeMoniker Id="a929c9dc-69f4-4488-ba1c-a2342bf81d89" />
     306      </nodes>
     307    </associationConnector>
     308    <associationConnector edgePoints="[(11.25 : 9.42390055338542); (10.375 : 9.42390055338542); (10.375 : 8); (4 : 8); (4 : 5.15549967447917); (5.125 : 5.15549967447917); (5.125 : 4.78049967447917)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    166309      <AssociationMoniker Name="/HiveDataContext/Project/Project_Job" />
    167310      <nodes>
    168         <classShapeMoniker Id="849283f3-5196-4e0b-a93a-d3d76f4585fd" />
    169         <classShapeMoniker Id="bd66853f-65d2-491d-869d-90a593e65985" />
    170       </nodes>
    171     </associationConnector>
    172     <associationConnector edgePoints="[(1.45923076923077 : 8.5); (1.45923076923077 : 8.25); (2.05461538461538 : 8.25); (2.05461538461538 : 8.5)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    173       <AssociationMoniker Name="/HiveDataContext/Project/Project_Project" />
    174       <nodes>
    175         <classShapeMoniker Id="849283f3-5196-4e0b-a93a-d3d76f4585fd" />
    176         <classShapeMoniker Id="849283f3-5196-4e0b-a93a-d3d76f4585fd" />
    177       </nodes>
    178     </associationConnector>
    179     <associationConnector edgePoints="[(2.75 : 8.88064697265625); (3.5 : 8.88064697265625)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    180       <AssociationMoniker Name="/HiveDataContext/Project/Project_ProjectPermission" />
    181       <nodes>
    182         <classShapeMoniker Id="849283f3-5196-4e0b-a93a-d3d76f4585fd" />
    183         <classShapeMoniker Id="0f549581-f45d-467e-a6f5-3e77a87e57e9" />
    184       </nodes>
    185     </associationConnector>
    186     <associationConnector edgePoints="[(8.25 : 18.876509152494); (8.625 : 18.501509152494); (8.625 : 15.8181469726562); (8.66666666666667 : 15.8181469726562 : JumpStart); (8.83333333333333 : 15.8181469726562 : JumpEnd); (9 : 15.8181469726562)]" fixedFrom="NotFixed" fixedTo="Algorithm">
    187       <AssociationMoniker Name="/HiveDataContext/Plugin/Plugin_RequiredPlugin" />
    188       <nodes>
    189         <classShapeMoniker Id="bfd1449c-5d57-4c9b-9876-99c4a16c5ab8" />
    190         <classShapeMoniker Id="0824e725-5579-4ebf-9957-6fe3608829a9" />
    191       </nodes>
    192     </associationConnector>
    193     <associationConnector edgePoints="[(5.75 : 3.34699625651042); (9.46875 : 3.34699625651042); (9.46875 : 12.125)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    194       <AssociationMoniker Name="/HiveDataContext/Resource/Resource_AssignedJobResource" />
    195       <nodes>
    196         <classShapeMoniker Id="0badebfc-601f-4e3d-a82a-30650fdd9813" />
    197         <classShapeMoniker Id="008ed438-fca9-4253-9ae5-7a98f1b3c350" />
    198       </nodes>
    199     </associationConnector>
    200     <associationConnector edgePoints="[(5.65625 : 6.96311686197917); (5.65625 : 9.54134108723959); (6.5 : 9.54134108723959)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    201       <AssociationMoniker Name="/HiveDataContext/Resource/Resource_AssignedProjectResource" />
    202       <nodes>
    203         <classShapeMoniker Id="0badebfc-601f-4e3d-a82a-30650fdd9813" />
    204         <classShapeMoniker Id="dbbf95bc-dd06-46da-8dcb-46c47692d3b0" />
    205       </nodes>
    206     </associationConnector>
    207     <associationConnector edgePoints="[(5.75 : 4.67390055338542); (6.5 : 4.67390055338542)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    208       <AssociationMoniker Name="/HiveDataContext/Resource/Resource_Downtime" />
    209       <nodes>
    210         <classShapeMoniker Id="0badebfc-601f-4e3d-a82a-30650fdd9813" />
    211         <classShapeMoniker Id="e0afe04d-6ee4-48ee-b332-14153915e733" />
    212       </nodes>
    213     </associationConnector>
    214     <associationConnector edgePoints="[(4.45923076923077 : 2.5); (4.45923076923077 : 2.25); (5.05461538461539 : 2.25); (5.05461538461539 : 2.5)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    215       <AssociationMoniker Name="/HiveDataContext/Resource/Resource_Resource" />
    216       <nodes>
    217         <classShapeMoniker Id="0badebfc-601f-4e3d-a82a-30650fdd9813" />
    218         <classShapeMoniker Id="0badebfc-601f-4e3d-a82a-30650fdd9813" />
    219       </nodes>
    220     </associationConnector>
    221     <associationConnector edgePoints="[(4.671873 : 6.96311686197917); (4.671873 : 7.625); (5.57291666666667 : 7.625 : JumpStart); (5.73958333333333 : 7.625 : JumpEnd); (8.75 : 7.625); (8.75 : 16.7612939453125); (11.625 : 16.7612939453125); (11.625 : 15.8277498372396); (12 : 15.8277498372396)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    222       <AssociationMoniker Name="/HiveDataContext/Resource/Resource_StateLog" />
    223       <nodes>
    224         <classShapeMoniker Id="0badebfc-601f-4e3d-a82a-30650fdd9813" />
    225         <classShapeMoniker Id="71d59be5-53fa-4cc2-9901-7134eb19995d" />
    226       </nodes>
    227     </associationConnector>
    228     <associationConnector edgePoints="[(8.25 : 15.4090734863281); (8.66666666666667 : 15.4090734863281 : JumpStart); (8.83333333333333 : 15.4090734863281 : JumpEnd); (9 : 15.4090734863281)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    229       <AssociationMoniker Name="/HiveDataContext/Task/Task_RequiredPlugin" />
    230       <nodes>
    231         <classShapeMoniker Id="05d17f5c-8a09-4026-a1e1-f9fc65a27c2a" />
    232         <classShapeMoniker Id="0824e725-5579-4ebf-9957-6fe3608829a9" />
    233       </nodes>
    234     </associationConnector>
    235     <associationConnector edgePoints="[(8.25 : 14.90625); (8.66666666666667 : 14.90625 : JumpStart); (8.83333333333333 : 14.90625 : JumpEnd); (12 : 14.90625)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    236       <AssociationMoniker Name="/HiveDataContext/Task/Task_StateLog" />
    237       <nodes>
    238         <classShapeMoniker Id="05d17f5c-8a09-4026-a1e1-f9fc65a27c2a" />
    239         <classShapeMoniker Id="71d59be5-53fa-4cc2-9901-7134eb19995d" />
    240       </nodes>
    241     </associationConnector>
    242     <associationConnector edgePoints="[(4.5 : 13.7131982421875); (4.5 : 15.8085034179688); (6.25 : 15.8085034179688)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    243       <AssociationMoniker Name="/HiveDataContext/Job/Job_Task" />
    244       <nodes>
    245         <classShapeMoniker Id="bd66853f-65d2-491d-869d-90a593e65985" />
    246         <classShapeMoniker Id="05d17f5c-8a09-4026-a1e1-f9fc65a27c2a" />
    247       </nodes>
    248     </associationConnector>
    249     <associationConnector edgePoints="[(6.95923076923077 : 17.3670068359375); (6.95923076923077 : 17.6170068359375); (7.55461538461539 : 17.6170068359375); (7.55461538461539 : 17.3670068359375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    250       <AssociationMoniker Name="/HiveDataContext/Task/Task_Task" />
    251       <nodes>
    252         <classShapeMoniker Id="05d17f5c-8a09-4026-a1e1-f9fc65a27c2a" />
    253         <classShapeMoniker Id="05d17f5c-8a09-4026-a1e1-f9fc65a27c2a" />
    254       </nodes>
    255     </associationConnector>
    256     <associationConnector edgePoints="[(6.57336288461538 : 17.3670068359375); (6.57336288461538 : 18.126650390625); (8.54166666666667 : 18.126650390625 : JumpStart); (8.70833333333333 : 18.126650390625 : JumpEnd); (9 : 18.126650390625)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    257       <AssociationMoniker Name="/HiveDataContext/Task/Task_TaskData" />
    258       <nodes>
    259         <classShapeMoniker Id="05d17f5c-8a09-4026-a1e1-f9fc65a27c2a" />
    260         <classShapeMoniker Id="e096ec63-ea06-44bf-88ed-a7c15df274e3" />
    261       </nodes>
    262     </associationConnector>
    263     <associationConnector edgePoints="[(10.75 : 4.75); (10.75 : 4.09375); (12.5104166666667 : 4.09375 : JumpStart); (12.6770833333333 : 4.09375 : JumpEnd); (14.5729166666667 : 4.09375 : JumpStart); (14.7395833333333 : 4.09375 : JumpEnd); (15.5 : 4.09375)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    264       <AssociationMoniker Name="/HiveDataContext/DimClient/DimClient_FactTask" />
    265       <nodes>
    266         <classShapeMoniker Id="0b0f6e46-2970-4c62-a79a-adf31b88fa4f" />
    267         <classShapeMoniker Id="3812f3a3-0ccd-4f24-b669-d0d7950caa6e" />
    268       </nodes>
    269     </associationConnector>
    270     <associationConnector edgePoints="[(14.65625 : 3.09780110677083); (14.65625 : 7.75401041666667); (15.5 : 7.75401041666667)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    271       <AssociationMoniker Name="/HiveDataContext/DimJob/DimJob_FactTask" />
    272       <nodes>
    273         <classShapeMoniker Id="9b4c5294-47df-4855-9191-50fc20c03487" />
    274         <classShapeMoniker Id="3812f3a3-0ccd-4f24-b669-d0d7950caa6e" />
    275       </nodes>
    276     </associationConnector>
    277     <associationConnector edgePoints="[(11.75 : 5.92390055338542); (12.5 : 5.92390055338542)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    278       <AssociationMoniker Name="/HiveDataContext/DimClient/DimClient_FactClientInfo" />
    279       <nodes>
    280         <classShapeMoniker Id="0b0f6e46-2970-4c62-a79a-adf31b88fa4f" />
    281         <classShapeMoniker Id="8a0e5c60-ae42-4e3f-b366-68407c56bbd1" />
    282       </nodes>
    283     </associationConnector>
    284     <associationConnector edgePoints="[(11.75 : 8.65625); (12.59375 : 8.65625); (12.59375 : 7.55930826822917)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    285       <AssociationMoniker Name="/HiveDataContext/DimTime/DimTime_FactClientInfo" />
    286       <nodes>
    287         <classShapeMoniker Id="b5bd8f3a-68fe-4e76-82ad-8abd47b729a0" />
    288         <classShapeMoniker Id="8a0e5c60-ae42-4e3f-b366-68407c56bbd1" />
    289       </nodes>
    290     </associationConnector>
    291     <associationConnector edgePoints="[(11.75 : 3.17714680989583); (12.59375 : 3.17714680989583); (12.59375 : 4.25)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    292       <AssociationMoniker Name="/HiveDataContext/DimUser/DimUser_FactClientInfo" />
    293       <nodes>
    294         <classShapeMoniker Id="21c9583c-d7ba-42a5-b51f-640eb37b8062" />
    295         <classShapeMoniker Id="8a0e5c60-ae42-4e3f-b366-68407c56bbd1" />
     311        <classShapeMoniker Id="30778876-b5f6-4a97-9ec7-792011973d75" />
     312        <classShapeMoniker Id="e6f840cc-2968-4be1-b234-eef624ccacbb" />
     313      </nodes>
     314    </associationConnector>
     315    <classShape Id="72ac5c1b-0fdf-43a1-bbe7-3774893b40af" absoluteBounds="8.875, 4.375, 2, 1.1939925130208327">
     316      <DataClassMoniker Name="/HiveDataContext/AssignedTaskResource" />
     317      <nestedChildShapes>
     318        <elementListCompartment Id="e9acd881-ab35-401c-b4f8-03dafc98422e" absoluteBounds="8.89, 4.835, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     319      </nestedChildShapes>
     320    </classShape>
     321    <associationConnector edgePoints="[(8.5 : 4.1170068359375); (8.875 : 4.375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     322      <AssociationMoniker Name="/HiveDataContext/Task/Task_AssignedTaskResource" />
     323      <nodes>
     324        <classShapeMoniker Id="695bfc39-59f3-4e60-8644-f847964bf62c" />
     325        <classShapeMoniker Id="72ac5c1b-0fdf-43a1-bbe7-3774893b40af" />
     326      </nodes>
     327    </associationConnector>
     328    <associationConnector edgePoints="[(12.25 : 2.9631982421875); (12.25 : 3.8125); (11.1875 : 3.8125); (11.1875 : 4.97199625651042); (10.875 : 4.97199625651042)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     329      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_AssignedTaskResource" />
     330      <nodes>
     331        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     332        <classShapeMoniker Id="72ac5c1b-0fdf-43a1-bbe7-3774893b40af" />
    296333      </nodes>
    297334    </associationConnector>
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs

    r15523 r15526  
    2323 
    2424 
    25   [global::System.Data.Linq.Mapping.DatabaseAttribute(Name="HeuristicLab.Hive-3.3")]
     25  [global::System.Data.Linq.Mapping.DatabaseAttribute(Name="HeuristicLab.Hive")]
    2626  public partial class HiveDataContext : System.Data.Linq.DataContext
    2727  {
     
    3131    #region Extensibility Method Definitions
    3232    partial void OnCreated();
    33     partial void InsertFactTask(FactTask instance);
    34     partial void UpdateFactTask(FactTask instance);
    35     partial void DeleteFactTask(FactTask instance);
    3633    partial void InsertAssignedProjectResource(AssignedProjectResource instance);
    3734    partial void UpdateAssignedProjectResource(AssignedProjectResource instance);
    3835    partial void DeleteAssignedProjectResource(AssignedProjectResource instance);
     36    partial void InsertPlugin(Plugin instance);
     37    partial void UpdatePlugin(Plugin instance);
     38    partial void DeletePlugin(Plugin instance);
     39    partial void InsertRequiredPlugin(RequiredPlugin instance);
     40    partial void UpdateRequiredPlugin(RequiredPlugin instance);
     41    partial void DeleteRequiredPlugin(RequiredPlugin instance);
     42    partial void InsertResource(Resource instance);
     43    partial void UpdateResource(Resource instance);
     44    partial void DeleteResource(Resource instance);
     45    partial void InsertTask(Task instance);
     46    partial void UpdateTask(Task instance);
     47    partial void DeleteTask(Task instance);
    3948    partial void InsertDowntime(Downtime instance);
    4049    partial void UpdateDowntime(Downtime instance);
     
    4352    partial void UpdateJob(Job instance);
    4453    partial void DeleteJob(Job instance);
     54    partial void InsertTaskData(TaskData instance);
     55    partial void UpdateTaskData(TaskData instance);
     56    partial void DeleteTaskData(TaskData instance);
     57    partial void InsertPluginData(PluginData instance);
     58    partial void UpdatePluginData(PluginData instance);
     59    partial void DeletePluginData(PluginData instance);
     60    partial void InsertStateLog(StateLog instance);
     61    partial void UpdateStateLog(StateLog instance);
     62    partial void DeleteStateLog(StateLog instance);
    4563    partial void InsertJobPermission(JobPermission instance);
    4664    partial void UpdateJobPermission(JobPermission instance);
     
    4967    partial void UpdateLifecycle(Lifecycle instance);
    5068    partial void DeleteLifecycle(Lifecycle instance);
    51     partial void InsertPlugin(Plugin instance);
    52     partial void UpdatePlugin(Plugin instance);
    53     partial void DeletePlugin(Plugin instance);
    54     partial void InsertPluginData(PluginData instance);
    55     partial void UpdatePluginData(PluginData instance);
    56     partial void DeletePluginData(PluginData instance);
    57     partial void InsertProject(Project instance);
    58     partial void UpdateProject(Project instance);
    59     partial void DeleteProject(Project instance);
    60     partial void InsertProjectPermission(ProjectPermission instance);
    61     partial void UpdateProjectPermission(ProjectPermission instance);
    62     partial void DeleteProjectPermission(ProjectPermission instance);
    63     partial void InsertRequiredPlugin(RequiredPlugin instance);
    64     partial void UpdateRequiredPlugin(RequiredPlugin instance);
    65     partial void DeleteRequiredPlugin(RequiredPlugin instance);
    66     partial void InsertResource(Resource instance);
    67     partial void UpdateResource(Resource instance);
    68     partial void DeleteResource(Resource instance);
    69     partial void InsertStateLog(StateLog instance);
    70     partial void UpdateStateLog(StateLog instance);
    71     partial void DeleteStateLog(StateLog instance);
    72     partial void InsertTask(Task instance);
    73     partial void UpdateTask(Task instance);
    74     partial void DeleteTask(Task instance);
    75     partial void InsertTaskData(TaskData instance);
    76     partial void UpdateTaskData(TaskData instance);
    77     partial void DeleteTaskData(TaskData instance);
     69    partial void InsertResourcePermission(ResourcePermission instance);
     70    partial void UpdateResourcePermission(ResourcePermission instance);
     71    partial void DeleteResourcePermission(ResourcePermission instance);
    7872    partial void InsertUserPriority(UserPriority instance);
    7973    partial void UpdateUserPriority(UserPriority instance);
     
    8276    partial void UpdateDimClient(DimClient instance);
    8377    partial void DeleteDimClient(DimClient instance);
     78    partial void InsertFactTask(FactTask instance);
     79    partial void UpdateFactTask(FactTask instance);
     80    partial void DeleteFactTask(FactTask instance);
    8481    partial void InsertDimJob(DimJob instance);
    8582    partial void UpdateDimJob(DimJob instance);
     
    9491    partial void UpdateFactClientInfo(FactClientInfo instance);
    9592    partial void DeleteFactClientInfo(FactClientInfo instance);
     93    partial void InsertProject(Project instance);
     94    partial void UpdateProject(Project instance);
     95    partial void DeleteProject(Project instance);
     96    partial void InsertProjectPermission(ProjectPermission instance);
     97    partial void UpdateProjectPermission(ProjectPermission instance);
     98    partial void DeleteProjectPermission(ProjectPermission instance);
     99    partial void InsertAssignedTaskResource(AssignedTaskResource instance);
     100    partial void UpdateAssignedTaskResource(AssignedTaskResource instance);
     101    partial void DeleteAssignedTaskResource(AssignedTaskResource instance);
    96102    #endregion
    97    
    98     public HiveDataContext() :
    99         base(global::HeuristicLab.Services.Hive.DataAccess.Settings.Default.HeuristicLab_Hive_3_3ConnectionString, mappingSource)
    100     {
    101       OnCreated();
    102     }
    103103   
    104104    public HiveDataContext(string connection) :
     
    126126    }
    127127   
    128     public System.Data.Linq.Table<AssignedJobResource> AssignedJobResources
    129     {
    130       get
    131       {
    132         return this.GetTable<AssignedJobResource>();
     128    public System.Data.Linq.Table<AssignedProjectResource> AssignedProjectResources
     129    {
     130      get
     131      {
     132        return this.GetTable<AssignedProjectResource>();
     133      }
     134    }
     135   
     136    public System.Data.Linq.Table<Plugin> Plugins
     137    {
     138      get
     139      {
     140        return this.GetTable<Plugin>();
     141      }
     142    }
     143   
     144    public System.Data.Linq.Table<RequiredPlugin> RequiredPlugins
     145    {
     146      get
     147      {
     148        return this.GetTable<RequiredPlugin>();
     149      }
     150    }
     151   
     152    public System.Data.Linq.Table<Resource> Resources
     153    {
     154      get
     155      {
     156        return this.GetTable<Resource>();
     157      }
     158    }
     159   
     160    public System.Data.Linq.Table<Task> Tasks
     161    {
     162      get
     163      {
     164        return this.GetTable<Task>();
     165      }
     166    }
     167   
     168    public System.Data.Linq.Table<Downtime> Downtimes
     169    {
     170      get
     171      {
     172        return this.GetTable<Downtime>();
     173      }
     174    }
     175   
     176    public System.Data.Linq.Table<Job> Jobs
     177    {
     178      get
     179      {
     180        return this.GetTable<Job>();
     181      }
     182    }
     183   
     184    public System.Data.Linq.Table<TaskData> TaskDatas
     185    {
     186      get
     187      {
     188        return this.GetTable<TaskData>();
     189      }
     190    }
     191   
     192    public System.Data.Linq.Table<PluginData> PluginDatas
     193    {
     194      get
     195      {
     196        return this.GetTable<PluginData>();
     197      }
     198    }
     199   
     200    public System.Data.Linq.Table<StateLog> StateLogs
     201    {
     202      get
     203      {
     204        return this.GetTable<StateLog>();
     205      }
     206    }
     207   
     208    public System.Data.Linq.Table<JobPermission> JobPermissions
     209    {
     210      get
     211      {
     212        return this.GetTable<JobPermission>();
     213      }
     214    }
     215   
     216    public System.Data.Linq.Table<Lifecycle> Lifecycles
     217    {
     218      get
     219      {
     220        return this.GetTable<Lifecycle>();
     221      }
     222    }
     223   
     224    public System.Data.Linq.Table<ResourcePermission> ResourcePermissions
     225    {
     226      get
     227      {
     228        return this.GetTable<ResourcePermission>();
     229      }
     230    }
     231   
     232    public System.Data.Linq.Table<UserPriority> UserPriorities
     233    {
     234      get
     235      {
     236        return this.GetTable<UserPriority>();
     237      }
     238    }
     239   
     240    public System.Data.Linq.Table<DimClient> DimClients
     241    {
     242      get
     243      {
     244        return this.GetTable<DimClient>();
    133245      }
    134246    }
     
    142254    }
    143255   
    144     public System.Data.Linq.Table<AssignedProjectResource> AssignedProjectResources
    145     {
    146       get
    147       {
    148         return this.GetTable<AssignedProjectResource>();
    149       }
    150     }
    151    
    152     public System.Data.Linq.Table<Downtime> Downtimes
    153     {
    154       get
    155       {
    156         return this.GetTable<Downtime>();
    157       }
    158     }
    159    
    160     public System.Data.Linq.Table<Job> Jobs
    161     {
    162       get
    163       {
    164         return this.GetTable<Job>();
    165       }
    166     }
    167    
    168     public System.Data.Linq.Table<JobPermission> JobPermissions
    169     {
    170       get
    171       {
    172         return this.GetTable<JobPermission>();
    173       }
    174     }
    175    
    176     public System.Data.Linq.Table<Lifecycle> Lifecycles
    177     {
    178       get
    179       {
    180         return this.GetTable<Lifecycle>();
    181       }
    182     }
    183    
    184     public System.Data.Linq.Table<Plugin> Plugins
    185     {
    186       get
    187       {
    188         return this.GetTable<Plugin>();
    189       }
    190     }
    191    
    192     public System.Data.Linq.Table<PluginData> PluginDatas
    193     {
    194       get
    195       {
    196         return this.GetTable<PluginData>();
     256    public System.Data.Linq.Table<DimJob> DimJobs
     257    {
     258      get
     259      {
     260        return this.GetTable<DimJob>();
     261      }
     262    }
     263   
     264    public System.Data.Linq.Table<DimTime> DimTimes
     265    {
     266      get
     267      {
     268        return this.GetTable<DimTime>();
     269      }
     270    }
     271   
     272    public System.Data.Linq.Table<DimUser> DimUsers
     273    {
     274      get
     275      {
     276        return this.GetTable<DimUser>();
     277      }
     278    }
     279   
     280    public System.Data.Linq.Table<FactClientInfo> FactClientInfos
     281    {
     282      get
     283      {
     284        return this.GetTable<FactClientInfo>();
    197285      }
    198286    }
     
    214302    }
    215303   
    216     public System.Data.Linq.Table<RequiredPlugin> RequiredPlugins
    217     {
    218       get
    219       {
    220         return this.GetTable<RequiredPlugin>();
    221       }
    222     }
    223    
    224     public System.Data.Linq.Table<Resource> Resources
    225     {
    226       get
    227       {
    228         return this.GetTable<Resource>();
    229       }
    230     }
    231    
    232     public System.Data.Linq.Table<StateLog> StateLogs
    233     {
    234       get
    235       {
    236         return this.GetTable<StateLog>();
    237       }
    238     }
    239    
    240     public System.Data.Linq.Table<Task> Tasks
    241     {
    242       get
    243       {
    244         return this.GetTable<Task>();
    245       }
    246     }
    247    
    248     public System.Data.Linq.Table<TaskData> TaskDatas
    249     {
    250       get
    251       {
    252         return this.GetTable<TaskData>();
    253       }
    254     }
    255    
    256     public System.Data.Linq.Table<UserPriority> UserPriorities
    257     {
    258       get
    259       {
    260         return this.GetTable<UserPriority>();
    261       }
    262     }
    263    
    264     public System.Data.Linq.Table<DimClient> DimClients
    265     {
    266       get
    267       {
    268         return this.GetTable<DimClient>();
    269       }
    270     }
    271    
    272     public System.Data.Linq.Table<DimJob> DimJobs
    273     {
    274       get
    275       {
    276         return this.GetTable<DimJob>();
    277       }
    278     }
    279    
    280     public System.Data.Linq.Table<DimTime> DimTimes
    281     {
    282       get
    283       {
    284         return this.GetTable<DimTime>();
    285       }
    286     }
    287    
    288     public System.Data.Linq.Table<DimUser> DimUsers
    289     {
    290       get
    291       {
    292         return this.GetTable<DimUser>();
    293       }
    294     }
    295    
    296     public System.Data.Linq.Table<FactClientInfo> FactClientInfos
    297     {
    298       get
    299       {
    300         return this.GetTable<FactClientInfo>();
    301       }
    302     }
    303   }
    304  
    305   [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.AssignedJobResource")]
    306   public partial class AssignedJobResource
    307   {
    308    
    309     private System.Guid _ResourceId;
    310    
    311     private System.Guid _JobId;
    312    
    313     public AssignedJobResource()
    314     {
    315     }
    316    
    317     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL")]
    318     public System.Guid ResourceId
    319     {
    320       get
    321       {
    322         return this._ResourceId;
    323       }
    324       set
    325       {
    326         if ((this._ResourceId != value))
    327         {
    328           this._ResourceId = value;
    329         }
    330       }
    331     }
    332    
    333     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL")]
    334     public System.Guid JobId
    335     {
    336       get
    337       {
    338         return this._JobId;
    339       }
    340       set
    341       {
    342         if ((this._JobId != value))
    343         {
    344           this._JobId = value;
    345         }
    346       }
    347     }
    348   }
    349  
    350   [global::System.Data.Linq.Mapping.TableAttribute(Name="[statistics].FactTask")]
    351   public partial class FactTask : INotifyPropertyChanging, INotifyPropertyChanged
    352   {
    353    
    354     private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    355    
    356     private System.Guid _TaskId;
    357    
    358     private int _CalculatingTime;
    359    
    360     private int _WaitingTime;
    361    
    362     private int _TransferTime;
    363    
    364     private int _NumCalculationRuns;
    365    
    366     private int _NumRetries;
    367    
    368     private int _CoresRequired;
    369    
    370     private int _MemoryRequired;
    371    
    372     private int _Priority;
    373    
    374     private System.Nullable<System.Guid> _LastClientId;
    375    
    376     private System.Guid _JobId;
    377    
    378     private System.Nullable<System.DateTime> _StartTime;
    379    
    380     private System.Nullable<System.DateTime> _EndTime;
    381    
    382     private string _TaskState;
    383    
    384     private string _Exception;
    385    
    386     private System.Nullable<int> _InitialWaitingTime;
    387    
    388     private EntityRef<DimClient> _DimClient;
    389    
    390     private EntityRef<DimJob> _DimJob;
    391    
    392     #region Extensibility Method Definitions
    393     partial void OnLoaded();
    394     partial void OnValidate(System.Data.Linq.ChangeAction action);
    395     partial void OnCreated();
    396     partial void OnTaskIdChanging(System.Guid value);
    397     partial void OnTaskIdChanged();
    398     partial void OnCalculatingTimeChanging(int value);
    399     partial void OnCalculatingTimeChanged();
    400     partial void OnWaitingTimeChanging(int value);
    401     partial void OnWaitingTimeChanged();
    402     partial void OnTransferTimeChanging(int value);
    403     partial void OnTransferTimeChanged();
    404     partial void OnNumCalculationRunsChanging(int value);
    405     partial void OnNumCalculationRunsChanged();
    406     partial void OnNumRetriesChanging(int value);
    407     partial void OnNumRetriesChanged();
    408     partial void OnCoresRequiredChanging(int value);
    409     partial void OnCoresRequiredChanged();
    410     partial void OnMemoryRequiredChanging(int value);
    411     partial void OnMemoryRequiredChanged();
    412     partial void OnPriorityChanging(int value);
    413     partial void OnPriorityChanged();
    414     partial void OnLastClientIdChanging(System.Nullable<System.Guid> value);
    415     partial void OnLastClientIdChanged();
    416     partial void OnJobIdChanging(System.Guid value);
    417     partial void OnJobIdChanged();
    418     partial void OnStartTimeChanging(System.Nullable<System.DateTime> value);
    419     partial void OnStartTimeChanged();
    420     partial void OnEndTimeChanging(System.Nullable<System.DateTime> value);
    421     partial void OnEndTimeChanged();
    422     partial void OnTaskStateChanging(string value);
    423     partial void OnTaskStateChanged();
    424     partial void OnExceptionChanging(string value);
    425     partial void OnExceptionChanged();
    426     partial void OnInitialWaitingTimeChanging(System.Nullable<int> value);
    427     partial void OnInitialWaitingTimeChanged();
    428     #endregion
    429    
    430     public FactTask()
    431     {
    432       this._DimClient = default(EntityRef<DimClient>);
    433       this._DimJob = default(EntityRef<DimJob>);
    434       OnCreated();
    435     }
    436    
    437     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TaskId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    438     public System.Guid TaskId
    439     {
    440       get
    441       {
    442         return this._TaskId;
    443       }
    444       set
    445       {
    446         if ((this._TaskId != value))
    447         {
    448           this.OnTaskIdChanging(value);
    449           this.SendPropertyChanging();
    450           this._TaskId = value;
    451           this.SendPropertyChanged("TaskId");
    452           this.OnTaskIdChanged();
    453         }
    454       }
    455     }
    456    
    457     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CalculatingTime", DbType="Int NOT NULL")]
    458     public int CalculatingTime
    459     {
    460       get
    461       {
    462         return this._CalculatingTime;
    463       }
    464       set
    465       {
    466         if ((this._CalculatingTime != value))
    467         {
    468           this.OnCalculatingTimeChanging(value);
    469           this.SendPropertyChanging();
    470           this._CalculatingTime = value;
    471           this.SendPropertyChanged("CalculatingTime");
    472           this.OnCalculatingTimeChanged();
    473         }
    474       }
    475     }
    476    
    477     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WaitingTime", DbType="Int NOT NULL")]
    478     public int WaitingTime
    479     {
    480       get
    481       {
    482         return this._WaitingTime;
    483       }
    484       set
    485       {
    486         if ((this._WaitingTime != value))
    487         {
    488           this.OnWaitingTimeChanging(value);
    489           this.SendPropertyChanging();
    490           this._WaitingTime = value;
    491           this.SendPropertyChanged("WaitingTime");
    492           this.OnWaitingTimeChanged();
    493         }
    494       }
    495     }
    496    
    497     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransferTime", DbType="Int NOT NULL")]
    498     public int TransferTime
    499     {
    500       get
    501       {
    502         return this._TransferTime;
    503       }
    504       set
    505       {
    506         if ((this._TransferTime != value))
    507         {
    508           this.OnTransferTimeChanging(value);
    509           this.SendPropertyChanging();
    510           this._TransferTime = value;
    511           this.SendPropertyChanged("TransferTime");
    512           this.OnTransferTimeChanged();
    513         }
    514       }
    515     }
    516    
    517     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumCalculationRuns", DbType="Int NOT NULL")]
    518     public int NumCalculationRuns
    519     {
    520       get
    521       {
    522         return this._NumCalculationRuns;
    523       }
    524       set
    525       {
    526         if ((this._NumCalculationRuns != value))
    527         {
    528           this.OnNumCalculationRunsChanging(value);
    529           this.SendPropertyChanging();
    530           this._NumCalculationRuns = value;
    531           this.SendPropertyChanged("NumCalculationRuns");
    532           this.OnNumCalculationRunsChanged();
    533         }
    534       }
    535     }
    536    
    537     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumRetries", DbType="Int NOT NULL")]
    538     public int NumRetries
    539     {
    540       get
    541       {
    542         return this._NumRetries;
    543       }
    544       set
    545       {
    546         if ((this._NumRetries != value))
    547         {
    548           this.OnNumRetriesChanging(value);
    549           this.SendPropertyChanging();
    550           this._NumRetries = value;
    551           this.SendPropertyChanged("NumRetries");
    552           this.OnNumRetriesChanged();
    553         }
    554       }
    555     }
    556    
    557     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CoresRequired", DbType="Int NOT NULL")]
    558     public int CoresRequired
    559     {
    560       get
    561       {
    562         return this._CoresRequired;
    563       }
    564       set
    565       {
    566         if ((this._CoresRequired != value))
    567         {
    568           this.OnCoresRequiredChanging(value);
    569           this.SendPropertyChanging();
    570           this._CoresRequired = value;
    571           this.SendPropertyChanged("CoresRequired");
    572           this.OnCoresRequiredChanged();
    573         }
    574       }
    575     }
    576    
    577     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MemoryRequired", DbType="Int NOT NULL")]
    578     public int MemoryRequired
    579     {
    580       get
    581       {
    582         return this._MemoryRequired;
    583       }
    584       set
    585       {
    586         if ((this._MemoryRequired != value))
    587         {
    588           this.OnMemoryRequiredChanging(value);
    589           this.SendPropertyChanging();
    590           this._MemoryRequired = value;
    591           this.SendPropertyChanged("MemoryRequired");
    592           this.OnMemoryRequiredChanged();
    593         }
    594       }
    595     }
    596    
    597     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Priority", DbType="Int NOT NULL")]
    598     public int Priority
    599     {
    600       get
    601       {
    602         return this._Priority;
    603       }
    604       set
    605       {
    606         if ((this._Priority != value))
    607         {
    608           this.OnPriorityChanging(value);
    609           this.SendPropertyChanging();
    610           this._Priority = value;
    611           this.SendPropertyChanged("Priority");
    612           this.OnPriorityChanged();
    613         }
    614       }
    615     }
    616    
    617     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastClientId", DbType="UniqueIdentifier")]
    618     public System.Nullable<System.Guid> LastClientId
    619     {
    620       get
    621       {
    622         return this._LastClientId;
    623       }
    624       set
    625       {
    626         if ((this._LastClientId != value))
    627         {
    628           if (this._DimClient.HasLoadedOrAssignedValue)
    629           {
    630             throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
    631           }
    632           this.OnLastClientIdChanging(value);
    633           this.SendPropertyChanging();
    634           this._LastClientId = value;
    635           this.SendPropertyChanged("LastClientId");
    636           this.OnLastClientIdChanged();
    637         }
    638       }
    639     }
    640    
    641     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL")]
    642     public System.Guid JobId
    643     {
    644       get
    645       {
    646         return this._JobId;
    647       }
    648       set
    649       {
    650         if ((this._JobId != value))
    651         {
    652           if (this._DimJob.HasLoadedOrAssignedValue)
    653           {
    654             throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
    655           }
    656           this.OnJobIdChanging(value);
    657           this.SendPropertyChanging();
    658           this._JobId = value;
    659           this.SendPropertyChanged("JobId");
    660           this.OnJobIdChanged();
    661         }
    662       }
    663     }
    664    
    665     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartTime", DbType="DateTime")]
    666     public System.Nullable<System.DateTime> StartTime
    667     {
    668       get
    669       {
    670         return this._StartTime;
    671       }
    672       set
    673       {
    674         if ((this._StartTime != value))
    675         {
    676           this.OnStartTimeChanging(value);
    677           this.SendPropertyChanging();
    678           this._StartTime = value;
    679           this.SendPropertyChanged("StartTime");
    680           this.OnStartTimeChanged();
    681         }
    682       }
    683     }
    684    
    685     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndTime", DbType="DateTime")]
    686     public System.Nullable<System.DateTime> EndTime
    687     {
    688       get
    689       {
    690         return this._EndTime;
    691       }
    692       set
    693       {
    694         if ((this._EndTime != value))
    695         {
    696           this.OnEndTimeChanging(value);
    697           this.SendPropertyChanging();
    698           this._EndTime = value;
    699           this.SendPropertyChanged("EndTime");
    700           this.OnEndTimeChanged();
    701         }
    702       }
    703     }
    704    
    705     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TaskState", DbType="VarChar(30) NOT NULL", CanBeNull=false)]
    706     public string TaskState
    707     {
    708       get
    709       {
    710         return this._TaskState;
    711       }
    712       set
    713       {
    714         if ((this._TaskState != value))
    715         {
    716           this.OnTaskStateChanging(value);
    717           this.SendPropertyChanging();
    718           this._TaskState = value;
    719           this.SendPropertyChanged("TaskState");
    720           this.OnTaskStateChanged();
    721         }
    722       }
    723     }
    724    
    725     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Exception", DbType="VarChar(MAX)")]
    726     public string Exception
    727     {
    728       get
    729       {
    730         return this._Exception;
    731       }
    732       set
    733       {
    734         if ((this._Exception != value))
    735         {
    736           this.OnExceptionChanging(value);
    737           this.SendPropertyChanging();
    738           this._Exception = value;
    739           this.SendPropertyChanged("Exception");
    740           this.OnExceptionChanged();
    741         }
    742       }
    743     }
    744    
    745     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InitialWaitingTime", DbType="Int")]
    746     public System.Nullable<int> InitialWaitingTime
    747     {
    748       get
    749       {
    750         return this._InitialWaitingTime;
    751       }
    752       set
    753       {
    754         if ((this._InitialWaitingTime != value))
    755         {
    756           this.OnInitialWaitingTimeChanging(value);
    757           this.SendPropertyChanging();
    758           this._InitialWaitingTime = value;
    759           this.SendPropertyChanged("InitialWaitingTime");
    760           this.OnInitialWaitingTimeChanged();
    761         }
    762       }
    763     }
    764    
    765     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimClient_FactTask", Storage="_DimClient", ThisKey="LastClientId", OtherKey="Id", IsForeignKey=true)]
    766     public DimClient DimClient
    767     {
    768       get
    769       {
    770         return this._DimClient.Entity;
    771       }
    772       set
    773       {
    774         DimClient previousValue = this._DimClient.Entity;
    775         if (((previousValue != value)
    776               || (this._DimClient.HasLoadedOrAssignedValue == false)))
    777         {
    778           this.SendPropertyChanging();
    779           if ((previousValue != null))
    780           {
    781             this._DimClient.Entity = null;
    782             previousValue.FactTasks.Remove(this);
    783           }
    784           this._DimClient.Entity = value;
    785           if ((value != null))
    786           {
    787             value.FactTasks.Add(this);
    788             this._LastClientId = value.Id;
    789           }
    790           else
    791           {
    792             this._LastClientId = default(Nullable<System.Guid>);
    793           }
    794           this.SendPropertyChanged("DimClient");
    795         }
    796       }
    797     }
    798    
    799     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimJob_FactTask", Storage="_DimJob", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true)]
    800     public DimJob DimJob
    801     {
    802       get
    803       {
    804         return this._DimJob.Entity;
    805       }
    806       set
    807       {
    808         DimJob previousValue = this._DimJob.Entity;
    809         if (((previousValue != value)
    810               || (this._DimJob.HasLoadedOrAssignedValue == false)))
    811         {
    812           this.SendPropertyChanging();
    813           if ((previousValue != null))
    814           {
    815             this._DimJob.Entity = null;
    816             previousValue.FactTasks.Remove(this);
    817           }
    818           this._DimJob.Entity = value;
    819           if ((value != null))
    820           {
    821             value.FactTasks.Add(this);
    822             this._JobId = value.JobId;
    823           }
    824           else
    825           {
    826             this._JobId = default(System.Guid);
    827           }
    828           this.SendPropertyChanged("DimJob");
    829         }
    830       }
    831     }
    832    
    833     public event PropertyChangingEventHandler PropertyChanging;
    834    
    835     public event PropertyChangedEventHandler PropertyChanged;
    836    
    837     protected virtual void SendPropertyChanging()
    838     {
    839       if ((this.PropertyChanging != null))
    840       {
    841         this.PropertyChanging(this, emptyChangingEventArgs);
    842       }
    843     }
    844    
    845     protected virtual void SendPropertyChanged(String propertyName)
    846     {
    847       if ((this.PropertyChanged != null))
    848       {
    849         this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     304    public System.Data.Linq.Table<AssignedTaskResource> AssignedTaskResources
     305    {
     306      get
     307      {
     308        return this.GetTable<AssignedTaskResource>();
    850309      }
    851310    }
     
    860319    private System.Guid _ResourceId;
    861320   
    862     private System.Guid _ProjectId;
     321    private System.Guid _JobId;
     322   
     323    private EntityRef<Resource> _Resource;
    863324   
    864325    private EntityRef<Project> _Project;
    865    
    866     private EntityRef<Resource> _Resource;
    867326   
    868327    #region Extensibility Method Definitions
     
    878337    public AssignedProjectResource()
    879338    {
     339      this._Resource = default(EntityRef<Resource>);
    880340      this._Project = default(EntityRef<Project>);
    881       this._Resource = default(EntityRef<Resource>);
    882341      OnCreated();
    883342    }
     
    907366    }
    908367   
    909     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     368    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    910369    public System.Guid ProjectId
    911370    {
    912371      get
    913372      {
    914         return this._ProjectId;
    915       }
    916       set
    917       {
    918         if ((this._ProjectId != value))
     373        return this._JobId;
     374      }
     375      set
     376      {
     377        if ((this._JobId != value))
    919378        {
    920379          if (this._Project.HasLoadedOrAssignedValue)
     
    924383          this.OnProjectIdChanging(value);
    925384          this.SendPropertyChanging();
    926           this._ProjectId = value;
     385          this._JobId = value;
    927386          this.SendPropertyChanged("ProjectId");
    928387          this.OnProjectIdChanged();
     
    931390    }
    932391   
    933     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_AssignedProjectResource", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true, DeleteOnNull=true, DeleteRule="CASCADE")]
     392    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedProjectResource", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteRule="CASCADE")]
     393    public Resource Resource
     394    {
     395      get
     396      {
     397        return this._Resource.Entity;
     398      }
     399      set
     400      {
     401        Resource previousValue = this._Resource.Entity;
     402        if (((previousValue != value)
     403              || (this._Resource.HasLoadedOrAssignedValue == false)))
     404        {
     405          this.SendPropertyChanging();
     406          if ((previousValue != null))
     407          {
     408            this._Resource.Entity = null;
     409            previousValue.AssignedProjectResources.Remove(this);
     410          }
     411          this._Resource.Entity = value;
     412          if ((value != null))
     413          {
     414            value.AssignedProjectResources.Add(this);
     415            this._ResourceId = value.ResourceId;
     416          }
     417          else
     418          {
     419            this._ResourceId = default(System.Guid);
     420          }
     421          this.SendPropertyChanged("Resource");
     422        }
     423      }
     424    }
     425   
     426    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_AssignedProjectResource", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true, DeleteRule="CASCADE")]
    934427    public Project Project
    935428    {
     
    954447          {
    955448            value.AssignedProjectResources.Add(this);
    956             this._ProjectId = value.ProjectId;
     449            this._JobId = value.ProjectId;
    957450          }
    958451          else
    959452          {
    960             this._ProjectId = default(System.Guid);
     453            this._JobId = default(System.Guid);
    961454          }
    962455          this.SendPropertyChanged("Project");
     
    965458    }
    966459   
    967     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedProjectResource", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteOnNull=true, DeleteRule="CASCADE")]
    968     public Resource Resource
    969     {
    970       get
    971       {
    972         return this._Resource.Entity;
    973       }
    974       set
    975       {
    976         Resource previousValue = this._Resource.Entity;
     460    public event PropertyChangingEventHandler PropertyChanging;
     461   
     462    public event PropertyChangedEventHandler PropertyChanged;
     463   
     464    protected virtual void SendPropertyChanging()
     465    {
     466      if ((this.PropertyChanging != null))
     467      {
     468        this.PropertyChanging(this, emptyChangingEventArgs);
     469      }
     470    }
     471   
     472    protected virtual void SendPropertyChanged(String propertyName)
     473    {
     474      if ((this.PropertyChanged != null))
     475      {
     476        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     477      }
     478    }
     479  }
     480 
     481  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Plugin")]
     482  public partial class Plugin : INotifyPropertyChanging, INotifyPropertyChanged
     483  {
     484   
     485    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     486   
     487    private System.Guid _PluginId;
     488   
     489    private string _Name;
     490   
     491    private string _Version;
     492   
     493    private System.Guid _UserId;
     494   
     495    private System.DateTime _DateCreated;
     496   
     497    private byte[] _Hash;
     498   
     499    private EntitySet<RequiredPlugin> _RequiredPlugins;
     500   
     501    private EntitySet<PluginData> _PluginData;
     502   
     503    #region Extensibility Method Definitions
     504    partial void OnLoaded();
     505    partial void OnValidate(System.Data.Linq.ChangeAction action);
     506    partial void OnCreated();
     507    partial void OnPluginIdChanging(System.Guid value);
     508    partial void OnPluginIdChanged();
     509    partial void OnNameChanging(string value);
     510    partial void OnNameChanged();
     511    partial void OnVersionChanging(string value);
     512    partial void OnVersionChanged();
     513    partial void OnUserIdChanging(System.Guid value);
     514    partial void OnUserIdChanged();
     515    partial void OnDateCreatedChanging(System.DateTime value);
     516    partial void OnDateCreatedChanged();
     517    partial void OnHashChanging(byte[] value);
     518    partial void OnHashChanged();
     519    #endregion
     520   
     521    public Plugin()
     522    {
     523      this._RequiredPlugins = new EntitySet<RequiredPlugin>(new Action<RequiredPlugin>(this.attach_RequiredPlugins), new Action<RequiredPlugin>(this.detach_RequiredPlugins));
     524      this._PluginData = new EntitySet<PluginData>(new Action<PluginData>(this.attach_PluginData), new Action<PluginData>(this.detach_PluginData));
     525      OnCreated();
     526    }
     527   
     528    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PluginId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
     529    public System.Guid PluginId
     530    {
     531      get
     532      {
     533        return this._PluginId;
     534      }
     535      set
     536      {
     537        if ((this._PluginId != value))
     538        {
     539          this.OnPluginIdChanging(value);
     540          this.SendPropertyChanging();
     541          this._PluginId = value;
     542          this.SendPropertyChanged("PluginId");
     543          this.OnPluginIdChanged();
     544        }
     545      }
     546    }
     547   
     548    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX)", CanBeNull=false)]
     549    public string Name
     550    {
     551      get
     552      {
     553        return this._Name;
     554      }
     555      set
     556      {
     557        if ((this._Name != value))
     558        {
     559          this.OnNameChanging(value);
     560          this.SendPropertyChanging();
     561          this._Name = value;
     562          this.SendPropertyChanged("Name");
     563          this.OnNameChanged();
     564        }
     565      }
     566    }
     567   
     568    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Version", DbType="VarChar(MAX)", CanBeNull=false)]
     569    public string Version
     570    {
     571      get
     572      {
     573        return this._Version;
     574      }
     575      set
     576      {
     577        if ((this._Version != value))
     578        {
     579          this.OnVersionChanging(value);
     580          this.SendPropertyChanging();
     581          this._Version = value;
     582          this.SendPropertyChanged("Version");
     583          this.OnVersionChanged();
     584        }
     585      }
     586    }
     587   
     588    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier")]
     589    public System.Guid UserId
     590    {
     591      get
     592      {
     593        return this._UserId;
     594      }
     595      set
     596      {
     597        if ((this._UserId != value))
     598        {
     599          this.OnUserIdChanging(value);
     600          this.SendPropertyChanging();
     601          this._UserId = value;
     602          this.SendPropertyChanged("UserId");
     603          this.OnUserIdChanged();
     604        }
     605      }
     606    }
     607   
     608    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateCreated", DbType="DateTime")]
     609    public System.DateTime DateCreated
     610    {
     611      get
     612      {
     613        return this._DateCreated;
     614      }
     615      set
     616      {
     617        if ((this._DateCreated != value))
     618        {
     619          this.OnDateCreatedChanging(value);
     620          this.SendPropertyChanging();
     621          this._DateCreated = value;
     622          this.SendPropertyChanged("DateCreated");
     623          this.OnDateCreatedChanged();
     624        }
     625      }
     626    }
     627   
     628    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Hash", DbType="VarBinary(20) NOT NULL", CanBeNull=false)]
     629    public byte[] Hash
     630    {
     631      get
     632      {
     633        return this._Hash;
     634      }
     635      set
     636      {
     637        if ((this._Hash != value))
     638        {
     639          this.OnHashChanging(value);
     640          this.SendPropertyChanging();
     641          this._Hash = value;
     642          this.SendPropertyChanged("Hash");
     643          this.OnHashChanged();
     644        }
     645      }
     646    }
     647   
     648    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Plugin_RequiredPlugin", Storage="_RequiredPlugins", ThisKey="PluginId", OtherKey="PluginId")]
     649    public EntitySet<RequiredPlugin> RequiredPlugins
     650    {
     651      get
     652      {
     653        return this._RequiredPlugins;
     654      }
     655      set
     656      {
     657        this._RequiredPlugins.Assign(value);
     658      }
     659    }
     660   
     661    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Plugin_PluginData", Storage="_PluginData", ThisKey="PluginId", OtherKey="PluginId")]
     662    public EntitySet<PluginData> PluginData
     663    {
     664      get
     665      {
     666        return this._PluginData;
     667      }
     668      set
     669      {
     670        this._PluginData.Assign(value);
     671      }
     672    }
     673   
     674    public event PropertyChangingEventHandler PropertyChanging;
     675   
     676    public event PropertyChangedEventHandler PropertyChanged;
     677   
     678    protected virtual void SendPropertyChanging()
     679    {
     680      if ((this.PropertyChanging != null))
     681      {
     682        this.PropertyChanging(this, emptyChangingEventArgs);
     683      }
     684    }
     685   
     686    protected virtual void SendPropertyChanged(String propertyName)
     687    {
     688      if ((this.PropertyChanged != null))
     689      {
     690        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     691      }
     692    }
     693   
     694    private void attach_RequiredPlugins(RequiredPlugin entity)
     695    {
     696      this.SendPropertyChanging();
     697      entity.Plugin = this;
     698    }
     699   
     700    private void detach_RequiredPlugins(RequiredPlugin entity)
     701    {
     702      this.SendPropertyChanging();
     703      entity.Plugin = null;
     704    }
     705   
     706    private void attach_PluginData(PluginData entity)
     707    {
     708      this.SendPropertyChanging();
     709      entity.Plugin = this;
     710    }
     711   
     712    private void detach_PluginData(PluginData entity)
     713    {
     714      this.SendPropertyChanging();
     715      entity.Plugin = null;
     716    }
     717  }
     718 
     719  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.RequiredPlugins")]
     720  public partial class RequiredPlugin : INotifyPropertyChanging, INotifyPropertyChanged
     721  {
     722   
     723    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     724   
     725    private System.Guid _RequiredPluginId;
     726   
     727    private System.Guid _JobId;
     728   
     729    private System.Guid _PluginId;
     730   
     731    private EntityRef<Plugin> _PluginInfo;
     732   
     733    private EntityRef<Task> _Job;
     734   
     735    #region Extensibility Method Definitions
     736    partial void OnLoaded();
     737    partial void OnValidate(System.Data.Linq.ChangeAction action);
     738    partial void OnCreated();
     739    partial void OnRequiredPluginIdChanging(System.Guid value);
     740    partial void OnRequiredPluginIdChanged();
     741    partial void OnTaskIdChanging(System.Guid value);
     742    partial void OnTaskIdChanged();
     743    partial void OnPluginIdChanging(System.Guid value);
     744    partial void OnPluginIdChanged();
     745    #endregion
     746   
     747    public RequiredPlugin()
     748    {
     749      this._PluginInfo = default(EntityRef<Plugin>);
     750      this._Job = default(EntityRef<Task>);
     751      OnCreated();
     752    }
     753   
     754    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RequiredPluginId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true, UpdateCheck=UpdateCheck.Never)]
     755    public System.Guid RequiredPluginId
     756    {
     757      get
     758      {
     759        return this._RequiredPluginId;
     760      }
     761      set
     762      {
     763        if ((this._RequiredPluginId != value))
     764        {
     765          this.OnRequiredPluginIdChanging(value);
     766          this.SendPropertyChanging();
     767          this._RequiredPluginId = value;
     768          this.SendPropertyChanged("RequiredPluginId");
     769          this.OnRequiredPluginIdChanged();
     770        }
     771      }
     772    }
     773   
     774    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL")]
     775    public System.Guid TaskId
     776    {
     777      get
     778      {
     779        return this._JobId;
     780      }
     781      set
     782      {
     783        if ((this._JobId != value))
     784        {
     785          if (this._Job.HasLoadedOrAssignedValue)
     786          {
     787            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     788          }
     789          this.OnTaskIdChanging(value);
     790          this.SendPropertyChanging();
     791          this._JobId = value;
     792          this.SendPropertyChanged("TaskId");
     793          this.OnTaskIdChanged();
     794        }
     795      }
     796    }
     797   
     798    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PluginId", DbType="UniqueIdentifier NOT NULL")]
     799    public System.Guid PluginId
     800    {
     801      get
     802      {
     803        return this._PluginId;
     804      }
     805      set
     806      {
     807        if ((this._PluginId != value))
     808        {
     809          if (this._PluginInfo.HasLoadedOrAssignedValue)
     810          {
     811            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     812          }
     813          this.OnPluginIdChanging(value);
     814          this.SendPropertyChanging();
     815          this._PluginId = value;
     816          this.SendPropertyChanged("PluginId");
     817          this.OnPluginIdChanged();
     818        }
     819      }
     820    }
     821   
     822    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Plugin_RequiredPlugin", Storage="_PluginInfo", ThisKey="PluginId", OtherKey="PluginId", IsForeignKey=true, DeleteRule="CASCADE")]
     823    public Plugin Plugin
     824    {
     825      get
     826      {
     827        return this._PluginInfo.Entity;
     828      }
     829      set
     830      {
     831        Plugin previousValue = this._PluginInfo.Entity;
    977832        if (((previousValue != value)
    978               || (this._Resource.HasLoadedOrAssignedValue == false)))
     833              || (this._PluginInfo.HasLoadedOrAssignedValue == false)))
    979834        {
    980835          this.SendPropertyChanging();
    981836          if ((previousValue != null))
    982837          {
    983             this._Resource.Entity = null;
    984             previousValue.AssignedProjectResources.Remove(this);
    985           }
    986           this._Resource.Entity = value;
     838            this._PluginInfo.Entity = null;
     839            previousValue.RequiredPlugins.Remove(this);
     840          }
     841          this._PluginInfo.Entity = value;
    987842          if ((value != null))
    988843          {
    989             value.AssignedProjectResources.Add(this);
    990             this._ResourceId = value.ResourceId;
     844            value.RequiredPlugins.Add(this);
     845            this._PluginId = value.PluginId;
    991846          }
    992847          else
    993848          {
    994             this._ResourceId = default(System.Guid);
    995           }
    996           this.SendPropertyChanged("Resource");
     849            this._PluginId = default(System.Guid);
     850          }
     851          this.SendPropertyChanged("Plugin");
     852        }
     853      }
     854    }
     855   
     856    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Task_RequiredPlugin", Storage="_Job", ThisKey="TaskId", OtherKey="TaskId", IsForeignKey=true)]
     857    public Task Task
     858    {
     859      get
     860      {
     861        return this._Job.Entity;
     862      }
     863      set
     864      {
     865        Task previousValue = this._Job.Entity;
     866        if (((previousValue != value)
     867              || (this._Job.HasLoadedOrAssignedValue == false)))
     868        {
     869          this.SendPropertyChanging();
     870          if ((previousValue != null))
     871          {
     872            this._Job.Entity = null;
     873            previousValue.RequiredPlugins.Remove(this);
     874          }
     875          this._Job.Entity = value;
     876          if ((value != null))
     877          {
     878            value.RequiredPlugins.Add(this);
     879            this._JobId = value.TaskId;
     880          }
     881          else
     882          {
     883            this._JobId = default(System.Guid);
     884          }
     885          this.SendPropertyChanged("Task");
    997886        }
    998887      }
     
    1017906        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    1018907      }
     908    }
     909  }
     910 
     911  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Resource")]
     912  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code="RESOURCE", Type=typeof(Resource))]
     913  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code="Slave", Type=typeof(Slave), IsDefault=true)]
     914  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code="GROUP", Type=typeof(SlaveGroup))]
     915  public partial class Resource : INotifyPropertyChanging, INotifyPropertyChanged
     916  {
     917   
     918    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     919   
     920    private System.Guid _ResourceId;
     921   
     922    private string _Name;
     923   
     924    private string _ResourceType;
     925   
     926    private System.Nullable<System.Guid> _ParentResourceId;
     927   
     928    private int _HbInterval;
     929   
     930    private System.Nullable<System.Guid> _OwnerUserId;
     931   
     932    private EntitySet<AssignedProjectResource> _AssignedResources;
     933   
     934    private EntitySet<Resource> _ChildResources;
     935   
     936    private EntitySet<Downtime> _UptimeCalendars;
     937   
     938    private EntitySet<StateLog> _StateLogs;
     939   
     940    private EntitySet<ResourcePermission> _ResourcePermissions;
     941   
     942    private EntitySet<AssignedTaskResource> _AssignedTaskResources;
     943   
     944    private EntityRef<Resource> _ParentResource;
     945   
     946    #region Extensibility Method Definitions
     947    partial void OnLoaded();
     948    partial void OnValidate(System.Data.Linq.ChangeAction action);
     949    partial void OnCreated();
     950    partial void OnResourceIdChanging(System.Guid value);
     951    partial void OnResourceIdChanged();
     952    partial void OnNameChanging(string value);
     953    partial void OnNameChanged();
     954    partial void OnResourceTypeChanging(string value);
     955    partial void OnResourceTypeChanged();
     956    partial void OnParentResourceIdChanging(System.Nullable<System.Guid> value);
     957    partial void OnParentResourceIdChanged();
     958    partial void OnHbIntervalChanging(int value);
     959    partial void OnHbIntervalChanged();
     960    partial void OnOwnerUserIdChanging(System.Nullable<System.Guid> value);
     961    partial void OnOwnerUserIdChanged();
     962    #endregion
     963   
     964    public Resource()
     965    {
     966      this._AssignedResources = new EntitySet<AssignedProjectResource>(new Action<AssignedProjectResource>(this.attach_AssignedResources), new Action<AssignedProjectResource>(this.detach_AssignedResources));
     967      this._ChildResources = new EntitySet<Resource>(new Action<Resource>(this.attach_ChildResources), new Action<Resource>(this.detach_ChildResources));
     968      this._UptimeCalendars = new EntitySet<Downtime>(new Action<Downtime>(this.attach_UptimeCalendars), new Action<Downtime>(this.detach_UptimeCalendars));
     969      this._StateLogs = new EntitySet<StateLog>(new Action<StateLog>(this.attach_StateLogs), new Action<StateLog>(this.detach_StateLogs));
     970      this._ResourcePermissions = new EntitySet<ResourcePermission>(new Action<ResourcePermission>(this.attach_ResourcePermissions), new Action<ResourcePermission>(this.detach_ResourcePermissions));
     971      this._AssignedTaskResources = new EntitySet<AssignedTaskResource>(new Action<AssignedTaskResource>(this.attach_AssignedTaskResources), new Action<AssignedTaskResource>(this.detach_AssignedTaskResources));
     972      this._ParentResource = default(EntityRef<Resource>);
     973      OnCreated();
     974    }
     975   
     976    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     977    public System.Guid ResourceId
     978    {
     979      get
     980      {
     981        return this._ResourceId;
     982      }
     983      set
     984      {
     985        if ((this._ResourceId != value))
     986        {
     987          this.OnResourceIdChanging(value);
     988          this.SendPropertyChanging();
     989          this._ResourceId = value;
     990          this.SendPropertyChanged("ResourceId");
     991          this.OnResourceIdChanged();
     992        }
     993      }
     994    }
     995   
     996    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX)", CanBeNull=false)]
     997    public string Name
     998    {
     999      get
     1000      {
     1001        return this._Name;
     1002      }
     1003      set
     1004      {
     1005        if ((this._Name != value))
     1006        {
     1007          this.OnNameChanging(value);
     1008          this.SendPropertyChanging();
     1009          this._Name = value;
     1010          this.SendPropertyChanged("Name");
     1011          this.OnNameChanged();
     1012        }
     1013      }
     1014    }
     1015   
     1016    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceType", CanBeNull=false, IsDiscriminator=true)]
     1017    public string ResourceType
     1018    {
     1019      get
     1020      {
     1021        return this._ResourceType;
     1022      }
     1023      set
     1024      {
     1025        if ((this._ResourceType != value))
     1026        {
     1027          this.OnResourceTypeChanging(value);
     1028          this.SendPropertyChanging();
     1029          this._ResourceType = value;
     1030          this.SendPropertyChanged("ResourceType");
     1031          this.OnResourceTypeChanged();
     1032        }
     1033      }
     1034    }
     1035   
     1036    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentResourceId", DbType="UniqueIdentifier")]
     1037    public System.Nullable<System.Guid> ParentResourceId
     1038    {
     1039      get
     1040      {
     1041        return this._ParentResourceId;
     1042      }
     1043      set
     1044      {
     1045        if ((this._ParentResourceId != value))
     1046        {
     1047          if (this._ParentResource.HasLoadedOrAssignedValue)
     1048          {
     1049            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     1050          }
     1051          this.OnParentResourceIdChanging(value);
     1052          this.SendPropertyChanging();
     1053          this._ParentResourceId = value;
     1054          this.SendPropertyChanged("ParentResourceId");
     1055          this.OnParentResourceIdChanged();
     1056        }
     1057      }
     1058    }
     1059   
     1060    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HbInterval", DbType="Int")]
     1061    public int HbInterval
     1062    {
     1063      get
     1064      {
     1065        return this._HbInterval;
     1066      }
     1067      set
     1068      {
     1069        if ((this._HbInterval != value))
     1070        {
     1071          this.OnHbIntervalChanging(value);
     1072          this.SendPropertyChanging();
     1073          this._HbInterval = value;
     1074          this.SendPropertyChanged("HbInterval");
     1075          this.OnHbIntervalChanged();
     1076        }
     1077      }
     1078    }
     1079   
     1080    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OwnerUserId", DbType="UniqueIdentifier")]
     1081    public System.Nullable<System.Guid> OwnerUserId
     1082    {
     1083      get
     1084      {
     1085        return this._OwnerUserId;
     1086      }
     1087      set
     1088      {
     1089        if ((this._OwnerUserId != value))
     1090        {
     1091          this.OnOwnerUserIdChanging(value);
     1092          this.SendPropertyChanging();
     1093          this._OwnerUserId = value;
     1094          this.SendPropertyChanged("OwnerUserId");
     1095          this.OnOwnerUserIdChanged();
     1096        }
     1097      }
     1098    }
     1099   
     1100    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedProjectResource", Storage="_AssignedResources", ThisKey="ResourceId", OtherKey="ResourceId")]
     1101    public EntitySet<AssignedProjectResource> AssignedProjectResources
     1102    {
     1103      get
     1104      {
     1105        return this._AssignedResources;
     1106      }
     1107      set
     1108      {
     1109        this._AssignedResources.Assign(value);
     1110      }
     1111    }
     1112   
     1113    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_Resource", Storage="_ChildResources", ThisKey="ResourceId", OtherKey="ParentResourceId")]
     1114    public EntitySet<Resource> ChildResources
     1115    {
     1116      get
     1117      {
     1118        return this._ChildResources;
     1119      }
     1120      set
     1121      {
     1122        this._ChildResources.Assign(value);
     1123      }
     1124    }
     1125   
     1126    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_Downtime", Storage="_UptimeCalendars", ThisKey="ResourceId", OtherKey="ResourceId")]
     1127    public EntitySet<Downtime> Downtimes
     1128    {
     1129      get
     1130      {
     1131        return this._UptimeCalendars;
     1132      }
     1133      set
     1134      {
     1135        this._UptimeCalendars.Assign(value);
     1136      }
     1137    }
     1138   
     1139    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_StateLog", Storage="_StateLogs", ThisKey="ResourceId", OtherKey="SlaveId")]
     1140    public EntitySet<StateLog> StateLogs
     1141    {
     1142      get
     1143      {
     1144        return this._StateLogs;
     1145      }
     1146      set
     1147      {
     1148        this._StateLogs.Assign(value);
     1149      }
     1150    }
     1151   
     1152    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_ResourcePermission", Storage="_ResourcePermissions", ThisKey="ResourceId", OtherKey="ResourceId")]
     1153    public EntitySet<ResourcePermission> ResourcePermissions
     1154    {
     1155      get
     1156      {
     1157        return this._ResourcePermissions;
     1158      }
     1159      set
     1160      {
     1161        this._ResourcePermissions.Assign(value);
     1162      }
     1163    }
     1164   
     1165    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedTaskResource", Storage="_AssignedTaskResources", ThisKey="ResourceId", OtherKey="ResourceId")]
     1166    public EntitySet<AssignedTaskResource> AssignedTaskResources
     1167    {
     1168      get
     1169      {
     1170        return this._AssignedTaskResources;
     1171      }
     1172      set
     1173      {
     1174        this._AssignedTaskResources.Assign(value);
     1175      }
     1176    }
     1177   
     1178    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_Resource", Storage="_ParentResource", ThisKey="ParentResourceId", OtherKey="ResourceId", IsForeignKey=true)]
     1179    public Resource ParentResource
     1180    {
     1181      get
     1182      {
     1183        return this._ParentResource.Entity;
     1184      }
     1185      set
     1186      {
     1187        Resource previousValue = this._ParentResource.Entity;
     1188        if (((previousValue != value)
     1189              || (this._ParentResource.HasLoadedOrAssignedValue == false)))
     1190        {
     1191          this.SendPropertyChanging();
     1192          if ((previousValue != null))
     1193          {
     1194            this._ParentResource.Entity = null;
     1195            previousValue.ChildResources.Remove(this);
     1196          }
     1197          this._ParentResource.Entity = value;
     1198          if ((value != null))
     1199          {
     1200            value.ChildResources.Add(this);
     1201            this._ParentResourceId = value.ResourceId;
     1202          }
     1203          else
     1204          {
     1205            this._ParentResourceId = default(Nullable<System.Guid>);
     1206          }
     1207          this.SendPropertyChanged("ParentResource");
     1208        }
     1209      }
     1210    }
     1211   
     1212    public event PropertyChangingEventHandler PropertyChanging;
     1213   
     1214    public event PropertyChangedEventHandler PropertyChanged;
     1215   
     1216    protected virtual void SendPropertyChanging()
     1217    {
     1218      if ((this.PropertyChanging != null))
     1219      {
     1220        this.PropertyChanging(this, emptyChangingEventArgs);
     1221      }
     1222    }
     1223   
     1224    protected virtual void SendPropertyChanged(String propertyName)
     1225    {
     1226      if ((this.PropertyChanged != null))
     1227      {
     1228        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     1229      }
     1230    }
     1231   
     1232    private void attach_AssignedResources(AssignedProjectResource entity)
     1233    {
     1234      this.SendPropertyChanging();
     1235      entity.Resource = this;
     1236    }
     1237   
     1238    private void detach_AssignedResources(AssignedProjectResource entity)
     1239    {
     1240      this.SendPropertyChanging();
     1241      entity.Resource = null;
     1242    }
     1243   
     1244    private void attach_ChildResources(Resource entity)
     1245    {
     1246      this.SendPropertyChanging();
     1247      entity.ParentResource = this;
     1248    }
     1249   
     1250    private void detach_ChildResources(Resource entity)
     1251    {
     1252      this.SendPropertyChanging();
     1253      entity.ParentResource = null;
     1254    }
     1255   
     1256    private void attach_UptimeCalendars(Downtime entity)
     1257    {
     1258      this.SendPropertyChanging();
     1259      entity.Resource = this;
     1260    }
     1261   
     1262    private void detach_UptimeCalendars(Downtime entity)
     1263    {
     1264      this.SendPropertyChanging();
     1265      entity.Resource = null;
     1266    }
     1267   
     1268    private void attach_StateLogs(StateLog entity)
     1269    {
     1270      this.SendPropertyChanging();
     1271      entity.Resource = this;
     1272    }
     1273   
     1274    private void detach_StateLogs(StateLog entity)
     1275    {
     1276      this.SendPropertyChanging();
     1277      entity.Resource = null;
     1278    }
     1279   
     1280    private void attach_ResourcePermissions(ResourcePermission entity)
     1281    {
     1282      this.SendPropertyChanging();
     1283      entity.Resource = this;
     1284    }
     1285   
     1286    private void detach_ResourcePermissions(ResourcePermission entity)
     1287    {
     1288      this.SendPropertyChanging();
     1289      entity.Resource = null;
     1290    }
     1291   
     1292    private void attach_AssignedTaskResources(AssignedTaskResource entity)
     1293    {
     1294      this.SendPropertyChanging();
     1295      entity.Resource = this;
     1296    }
     1297   
     1298    private void detach_AssignedTaskResources(AssignedTaskResource entity)
     1299    {
     1300      this.SendPropertyChanging();
     1301      entity.Resource = null;
     1302    }
     1303  }
     1304 
     1305  public partial class Slave : Resource
     1306  {
     1307   
     1308    private System.Nullable<int> _CPUSpeed;
     1309   
     1310    private System.Nullable<int> _Memory;
     1311   
     1312    private System.Nullable<System.DateTime> _Login;
     1313   
     1314    private global::HeuristicLab.Services.Hive.DataAccess.SlaveState _Status;
     1315   
     1316    private System.Nullable<int> _NumberOfCores;
     1317   
     1318    private System.Nullable<int> _NumberOfFreeCores;
     1319   
     1320    private System.Nullable<int> _FreeMemory;
     1321   
     1322    private bool _IsAllowedToCalculate;
     1323   
     1324    private global::HeuristicLab.Services.Hive.DataAccess.CpuArchitecture _CpuArchitecture;
     1325   
     1326    private string _OperatingSystem;
     1327   
     1328    private System.Nullable<System.DateTime> _LastHeartbeat;
     1329   
     1330    private double _CpuUtilization;
     1331   
     1332    private System.Nullable<bool> _IsDisposable;
     1333   
     1334    #region Extensibility Method Definitions
     1335    partial void OnLoaded();
     1336    partial void OnValidate(System.Data.Linq.ChangeAction action);
     1337    partial void OnCreated();
     1338    partial void OnCpuSpeedChanging(System.Nullable<int> value);
     1339    partial void OnCpuSpeedChanged();
     1340    partial void OnMemoryChanging(System.Nullable<int> value);
     1341    partial void OnMemoryChanged();
     1342    partial void OnLoginChanging(System.Nullable<System.DateTime> value);
     1343    partial void OnLoginChanged();
     1344    partial void OnSlaveStateChanging(global::HeuristicLab.Services.Hive.DataAccess.SlaveState value);
     1345    partial void OnSlaveStateChanged();
     1346    partial void OnCoresChanging(System.Nullable<int> value);
     1347    partial void OnCoresChanged();
     1348    partial void OnFreeCoresChanging(System.Nullable<int> value);
     1349    partial void OnFreeCoresChanged();
     1350    partial void OnFreeMemoryChanging(System.Nullable<int> value);
     1351    partial void OnFreeMemoryChanged();
     1352    partial void OnIsAllowedToCalculateChanging(bool value);
     1353    partial void OnIsAllowedToCalculateChanged();
     1354    partial void OnCpuArchitectureChanging(global::HeuristicLab.Services.Hive.DataAccess.CpuArchitecture value);
     1355    partial void OnCpuArchitectureChanged();
     1356    partial void OnOperatingSystemChanging(string value);
     1357    partial void OnOperatingSystemChanged();
     1358    partial void OnLastHeartbeatChanging(System.Nullable<System.DateTime> value);
     1359    partial void OnLastHeartbeatChanged();
     1360    partial void OnCpuUtilizationChanging(double value);
     1361    partial void OnCpuUtilizationChanged();
     1362    partial void OnIsDisposableChanging(System.Nullable<bool> value);
     1363    partial void OnIsDisposableChanged();
     1364    #endregion
     1365   
     1366    public Slave()
     1367    {
     1368      OnCreated();
     1369    }
     1370   
     1371    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CPUSpeed", DbType="Int")]
     1372    public System.Nullable<int> CpuSpeed
     1373    {
     1374      get
     1375      {
     1376        return this._CPUSpeed;
     1377      }
     1378      set
     1379      {
     1380        if ((this._CPUSpeed != value))
     1381        {
     1382          this.OnCpuSpeedChanging(value);
     1383          this.SendPropertyChanging();
     1384          this._CPUSpeed = value;
     1385          this.SendPropertyChanged("CpuSpeed");
     1386          this.OnCpuSpeedChanged();
     1387        }
     1388      }
     1389    }
     1390   
     1391    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Memory", DbType="Int")]
     1392    public System.Nullable<int> Memory
     1393    {
     1394      get
     1395      {
     1396        return this._Memory;
     1397      }
     1398      set
     1399      {
     1400        if ((this._Memory != value))
     1401        {
     1402          this.OnMemoryChanging(value);
     1403          this.SendPropertyChanging();
     1404          this._Memory = value;
     1405          this.SendPropertyChanged("Memory");
     1406          this.OnMemoryChanged();
     1407        }
     1408      }
     1409    }
     1410   
     1411    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Login", DbType="DateTime")]
     1412    public System.Nullable<System.DateTime> Login
     1413    {
     1414      get
     1415      {
     1416        return this._Login;
     1417      }
     1418      set
     1419      {
     1420        if ((this._Login != value))
     1421        {
     1422          this.OnLoginChanging(value);
     1423          this.SendPropertyChanging();
     1424          this._Login = value;
     1425          this.SendPropertyChanged("Login");
     1426          this.OnLoginChanged();
     1427        }
     1428      }
     1429    }
     1430   
     1431    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="VarChar(15)", CanBeNull=true)]
     1432    public global::HeuristicLab.Services.Hive.DataAccess.SlaveState SlaveState
     1433    {
     1434      get
     1435      {
     1436        return this._Status;
     1437      }
     1438      set
     1439      {
     1440        if ((this._Status != value))
     1441        {
     1442          this.OnSlaveStateChanging(value);
     1443          this.SendPropertyChanging();
     1444          this._Status = value;
     1445          this.SendPropertyChanged("SlaveState");
     1446          this.OnSlaveStateChanged();
     1447        }
     1448      }
     1449    }
     1450   
     1451    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumberOfCores", DbType="Int")]
     1452    public System.Nullable<int> Cores
     1453    {
     1454      get
     1455      {
     1456        return this._NumberOfCores;
     1457      }
     1458      set
     1459      {
     1460        if ((this._NumberOfCores != value))
     1461        {
     1462          this.OnCoresChanging(value);
     1463          this.SendPropertyChanging();
     1464          this._NumberOfCores = value;
     1465          this.SendPropertyChanged("Cores");
     1466          this.OnCoresChanged();
     1467        }
     1468      }
     1469    }
     1470   
     1471    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumberOfFreeCores", DbType="Int")]
     1472    public System.Nullable<int> FreeCores
     1473    {
     1474      get
     1475      {
     1476        return this._NumberOfFreeCores;
     1477      }
     1478      set
     1479      {
     1480        if ((this._NumberOfFreeCores != value))
     1481        {
     1482          this.OnFreeCoresChanging(value);
     1483          this.SendPropertyChanging();
     1484          this._NumberOfFreeCores = value;
     1485          this.SendPropertyChanged("FreeCores");
     1486          this.OnFreeCoresChanged();
     1487        }
     1488      }
     1489    }
     1490   
     1491    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FreeMemory", DbType="Int")]
     1492    public System.Nullable<int> FreeMemory
     1493    {
     1494      get
     1495      {
     1496        return this._FreeMemory;
     1497      }
     1498      set
     1499      {
     1500        if ((this._FreeMemory != value))
     1501        {
     1502          this.OnFreeMemoryChanging(value);
     1503          this.SendPropertyChanging();
     1504          this._FreeMemory = value;
     1505          this.SendPropertyChanged("FreeMemory");
     1506          this.OnFreeMemoryChanged();
     1507        }
     1508      }
     1509    }
     1510   
     1511    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsAllowedToCalculate", DbType="Bit")]
     1512    public bool IsAllowedToCalculate
     1513    {
     1514      get
     1515      {
     1516        return this._IsAllowedToCalculate;
     1517      }
     1518      set
     1519      {
     1520        if ((this._IsAllowedToCalculate != value))
     1521        {
     1522          this.OnIsAllowedToCalculateChanging(value);
     1523          this.SendPropertyChanging();
     1524          this._IsAllowedToCalculate = value;
     1525          this.SendPropertyChanged("IsAllowedToCalculate");
     1526          this.OnIsAllowedToCalculateChanged();
     1527        }
     1528      }
     1529    }
     1530   
     1531    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CpuArchitecture", DbType="VarChar(3)", CanBeNull=false)]
     1532    public global::HeuristicLab.Services.Hive.DataAccess.CpuArchitecture CpuArchitecture
     1533    {
     1534      get
     1535      {
     1536        return this._CpuArchitecture;
     1537      }
     1538      set
     1539      {
     1540        if ((this._CpuArchitecture != value))
     1541        {
     1542          this.OnCpuArchitectureChanging(value);
     1543          this.SendPropertyChanging();
     1544          this._CpuArchitecture = value;
     1545          this.SendPropertyChanged("CpuArchitecture");
     1546          this.OnCpuArchitectureChanged();
     1547        }
     1548      }
     1549    }
     1550   
     1551    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OperatingSystem", DbType="VarChar(MAX)", CanBeNull=false, UpdateCheck=UpdateCheck.Never)]
     1552    public string OperatingSystem
     1553    {
     1554      get
     1555      {
     1556        return this._OperatingSystem;
     1557      }
     1558      set
     1559      {
     1560        if ((this._OperatingSystem != value))
     1561        {
     1562          this.OnOperatingSystemChanging(value);
     1563          this.SendPropertyChanging();
     1564          this._OperatingSystem = value;
     1565          this.SendPropertyChanged("OperatingSystem");
     1566          this.OnOperatingSystemChanged();
     1567        }
     1568      }
     1569    }
     1570   
     1571    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastHeartbeat", DbType="DateTime")]
     1572    public System.Nullable<System.DateTime> LastHeartbeat
     1573    {
     1574      get
     1575      {
     1576        return this._LastHeartbeat;
     1577      }
     1578      set
     1579      {
     1580        if ((this._LastHeartbeat != value))
     1581        {
     1582          this.OnLastHeartbeatChanging(value);
     1583          this.SendPropertyChanging();
     1584          this._LastHeartbeat = value;
     1585          this.SendPropertyChanged("LastHeartbeat");
     1586          this.OnLastHeartbeatChanged();
     1587        }
     1588      }
     1589    }
     1590   
     1591    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CpuUtilization", DbType="float")]
     1592    public double CpuUtilization
     1593    {
     1594      get
     1595      {
     1596        return this._CpuUtilization;
     1597      }
     1598      set
     1599      {
     1600        if ((this._CpuUtilization != value))
     1601        {
     1602          this.OnCpuUtilizationChanging(value);
     1603          this.SendPropertyChanging();
     1604          this._CpuUtilization = value;
     1605          this.SendPropertyChanged("CpuUtilization");
     1606          this.OnCpuUtilizationChanged();
     1607        }
     1608      }
     1609    }
     1610   
     1611    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsDisposable", DbType="Bit")]
     1612    public System.Nullable<bool> IsDisposable
     1613    {
     1614      get
     1615      {
     1616        return this._IsDisposable;
     1617      }
     1618      set
     1619      {
     1620        if ((this._IsDisposable != value))
     1621        {
     1622          this.OnIsDisposableChanging(value);
     1623          this.SendPropertyChanging();
     1624          this._IsDisposable = value;
     1625          this.SendPropertyChanged("IsDisposable");
     1626          this.OnIsDisposableChanged();
     1627        }
     1628      }
     1629    }
     1630  }
     1631 
     1632  public partial class SlaveGroup : Resource
     1633  {
     1634   
     1635    #region Extensibility Method Definitions
     1636    partial void OnLoaded();
     1637    partial void OnValidate(System.Data.Linq.ChangeAction action);
     1638    partial void OnCreated();
     1639    #endregion
     1640   
     1641    public SlaveGroup()
     1642    {
     1643      OnCreated();
     1644    }
     1645  }
     1646 
     1647  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Task")]
     1648  public partial class Task : INotifyPropertyChanging, INotifyPropertyChanged
     1649  {
     1650   
     1651    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     1652   
     1653    private System.Guid _JobId;
     1654   
     1655    private global::HeuristicLab.Services.Hive.DataAccess.TaskState _State;
     1656   
     1657    private double _ExecutionTime;
     1658   
     1659    private System.Nullable<System.DateTime> _LastHeartbeat;
     1660   
     1661    private System.Nullable<System.Guid> _ParentJobId;
     1662   
     1663    private int _Priority;
     1664   
     1665    private int _CoresNeeded;
     1666   
     1667    private int _MemoryNeeded;
     1668   
     1669    private bool _IsParentJob;
     1670   
     1671    private bool _FinishWhenChildJobsFinished;
     1672   
     1673    private global::HeuristicLab.Services.Hive.DataAccess.Command? _Command;
     1674   
     1675    private System.Guid _HiveExperimentId;
     1676   
     1677    private EntitySet<RequiredPlugin> _RequiredPlugins;
     1678   
     1679    private EntitySet<Task> _Jobs;
     1680   
     1681    private EntityRef<TaskData> _JobData;
     1682   
     1683    private EntitySet<StateLog> _StateLogs;
     1684   
     1685    private EntitySet<AssignedTaskResource> _AssignedTaskResources;
     1686   
     1687    private EntityRef<Task> _Job1;
     1688   
     1689    private EntityRef<Job> _HiveExperiment;
     1690   
     1691    #region Extensibility Method Definitions
     1692    partial void OnLoaded();
     1693    partial void OnValidate(System.Data.Linq.ChangeAction action);
     1694    partial void OnCreated();
     1695    partial void OnTaskIdChanging(System.Guid value);
     1696    partial void OnTaskIdChanged();
     1697    partial void OnStateChanging(global::HeuristicLab.Services.Hive.DataAccess.TaskState value);
     1698    partial void OnStateChanged();
     1699    partial void OnExecutionTimeMsChanging(double value);
     1700    partial void OnExecutionTimeMsChanged();
     1701    partial void OnLastHeartbeatChanging(System.Nullable<System.DateTime> value);
     1702    partial void OnLastHeartbeatChanged();
     1703    partial void OnParentTaskIdChanging(System.Nullable<System.Guid> value);
     1704    partial void OnParentTaskIdChanged();
     1705    partial void OnPriorityChanging(int value);
     1706    partial void OnPriorityChanged();
     1707    partial void OnCoresNeededChanging(int value);
     1708    partial void OnCoresNeededChanged();
     1709    partial void OnMemoryNeededChanging(int value);
     1710    partial void OnMemoryNeededChanged();
     1711    partial void OnIsParentTaskChanging(bool value);
     1712    partial void OnIsParentTaskChanged();
     1713    partial void OnFinishWhenChildJobsFinishedChanging(bool value);
     1714    partial void OnFinishWhenChildJobsFinishedChanged();
     1715    partial void OnCommandChanging(global::HeuristicLab.Services.Hive.DataAccess.Command? value);
     1716    partial void OnCommandChanged();
     1717    partial void OnJobIdChanging(System.Guid value);
     1718    partial void OnJobIdChanged();
     1719    #endregion
     1720   
     1721    public Task()
     1722    {
     1723      this._RequiredPlugins = new EntitySet<RequiredPlugin>(new Action<RequiredPlugin>(this.attach_RequiredPlugins), new Action<RequiredPlugin>(this.detach_RequiredPlugins));
     1724      this._Jobs = new EntitySet<Task>(new Action<Task>(this.attach_Jobs), new Action<Task>(this.detach_Jobs));
     1725      this._JobData = default(EntityRef<TaskData>);
     1726      this._StateLogs = new EntitySet<StateLog>(new Action<StateLog>(this.attach_StateLogs), new Action<StateLog>(this.detach_StateLogs));
     1727      this._AssignedTaskResources = new EntitySet<AssignedTaskResource>(new Action<AssignedTaskResource>(this.attach_AssignedTaskResources), new Action<AssignedTaskResource>(this.detach_AssignedTaskResources));
     1728      this._Job1 = default(EntityRef<Task>);
     1729      this._HiveExperiment = default(EntityRef<Job>);
     1730      OnCreated();
     1731    }
     1732   
     1733    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
     1734    public System.Guid TaskId
     1735    {
     1736      get
     1737      {
     1738        return this._JobId;
     1739      }
     1740      set
     1741      {
     1742        if ((this._JobId != value))
     1743        {
     1744          this.OnTaskIdChanging(value);
     1745          this.SendPropertyChanging();
     1746          this._JobId = value;
     1747          this.SendPropertyChanged("TaskId");
     1748          this.OnTaskIdChanged();
     1749        }
     1750      }
     1751    }
     1752   
     1753    [global::System.Data.Linq.Mapping.ColumnAttribute(Name="TaskState", Storage="_State", DbType="VarChar(30)", CanBeNull=false)]
     1754    public global::HeuristicLab.Services.Hive.DataAccess.TaskState State
     1755    {
     1756      get
     1757      {
     1758        return this._State;
     1759      }
     1760      set
     1761      {
     1762        if ((this._State != value))
     1763        {
     1764          this.OnStateChanging(value);
     1765          this.SendPropertyChanging();
     1766          this._State = value;
     1767          this.SendPropertyChanged("State");
     1768          this.OnStateChanged();
     1769        }
     1770      }
     1771    }
     1772   
     1773    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExecutionTime", DbType="float")]
     1774    public double ExecutionTimeMs
     1775    {
     1776      get
     1777      {
     1778        return this._ExecutionTime;
     1779      }
     1780      set
     1781      {
     1782        if ((this._ExecutionTime != value))
     1783        {
     1784          this.OnExecutionTimeMsChanging(value);
     1785          this.SendPropertyChanging();
     1786          this._ExecutionTime = value;
     1787          this.SendPropertyChanged("ExecutionTimeMs");
     1788          this.OnExecutionTimeMsChanged();
     1789        }
     1790      }
     1791    }
     1792   
     1793    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastHeartbeat", DbType="DateTime")]
     1794    public System.Nullable<System.DateTime> LastHeartbeat
     1795    {
     1796      get
     1797      {
     1798        return this._LastHeartbeat;
     1799      }
     1800      set
     1801      {
     1802        if ((this._LastHeartbeat != value))
     1803        {
     1804          this.OnLastHeartbeatChanging(value);
     1805          this.SendPropertyChanging();
     1806          this._LastHeartbeat = value;
     1807          this.SendPropertyChanged("LastHeartbeat");
     1808          this.OnLastHeartbeatChanged();
     1809        }
     1810      }
     1811    }
     1812   
     1813    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentJobId", DbType="UniqueIdentifier")]
     1814    public System.Nullable<System.Guid> ParentTaskId
     1815    {
     1816      get
     1817      {
     1818        return this._ParentJobId;
     1819      }
     1820      set
     1821      {
     1822        if ((this._ParentJobId != value))
     1823        {
     1824          if (this._Job1.HasLoadedOrAssignedValue)
     1825          {
     1826            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     1827          }
     1828          this.OnParentTaskIdChanging(value);
     1829          this.SendPropertyChanging();
     1830          this._ParentJobId = value;
     1831          this.SendPropertyChanged("ParentTaskId");
     1832          this.OnParentTaskIdChanged();
     1833        }
     1834      }
     1835    }
     1836   
     1837    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Priority", DbType="Int NOT NULL")]
     1838    public int Priority
     1839    {
     1840      get
     1841      {
     1842        return this._Priority;
     1843      }
     1844      set
     1845      {
     1846        if ((this._Priority != value))
     1847        {
     1848          this.OnPriorityChanging(value);
     1849          this.SendPropertyChanging();
     1850          this._Priority = value;
     1851          this.SendPropertyChanged("Priority");
     1852          this.OnPriorityChanged();
     1853        }
     1854      }
     1855    }
     1856   
     1857    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CoresNeeded", DbType="Int NOT NULL")]
     1858    public int CoresNeeded
     1859    {
     1860      get
     1861      {
     1862        return this._CoresNeeded;
     1863      }
     1864      set
     1865      {
     1866        if ((this._CoresNeeded != value))
     1867        {
     1868          this.OnCoresNeededChanging(value);
     1869          this.SendPropertyChanging();
     1870          this._CoresNeeded = value;
     1871          this.SendPropertyChanged("CoresNeeded");
     1872          this.OnCoresNeededChanged();
     1873        }
     1874      }
     1875    }
     1876   
     1877    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MemoryNeeded", DbType="Int NOT NULL")]
     1878    public int MemoryNeeded
     1879    {
     1880      get
     1881      {
     1882        return this._MemoryNeeded;
     1883      }
     1884      set
     1885      {
     1886        if ((this._MemoryNeeded != value))
     1887        {
     1888          this.OnMemoryNeededChanging(value);
     1889          this.SendPropertyChanging();
     1890          this._MemoryNeeded = value;
     1891          this.SendPropertyChanged("MemoryNeeded");
     1892          this.OnMemoryNeededChanged();
     1893        }
     1894      }
     1895    }
     1896   
     1897    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsParentJob", DbType="Bit")]
     1898    public bool IsParentTask
     1899    {
     1900      get
     1901      {
     1902        return this._IsParentJob;
     1903      }
     1904      set
     1905      {
     1906        if ((this._IsParentJob != value))
     1907        {
     1908          this.OnIsParentTaskChanging(value);
     1909          this.SendPropertyChanging();
     1910          this._IsParentJob = value;
     1911          this.SendPropertyChanged("IsParentTask");
     1912          this.OnIsParentTaskChanged();
     1913        }
     1914      }
     1915    }
     1916   
     1917    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FinishWhenChildJobsFinished", DbType="Bit")]
     1918    public bool FinishWhenChildJobsFinished
     1919    {
     1920      get
     1921      {
     1922        return this._FinishWhenChildJobsFinished;
     1923      }
     1924      set
     1925      {
     1926        if ((this._FinishWhenChildJobsFinished != value))
     1927        {
     1928          this.OnFinishWhenChildJobsFinishedChanging(value);
     1929          this.SendPropertyChanging();
     1930          this._FinishWhenChildJobsFinished = value;
     1931          this.SendPropertyChanged("FinishWhenChildJobsFinished");
     1932          this.OnFinishWhenChildJobsFinishedChanged();
     1933        }
     1934      }
     1935    }
     1936   
     1937    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Command", DbType="VarChar(30)", CanBeNull=true)]
     1938    public global::HeuristicLab.Services.Hive.DataAccess.Command? Command
     1939    {
     1940      get
     1941      {
     1942        return this._Command;
     1943      }
     1944      set
     1945      {
     1946        if ((this._Command != value))
     1947        {
     1948          this.OnCommandChanging(value);
     1949          this.SendPropertyChanging();
     1950          this._Command = value;
     1951          this.SendPropertyChanged("Command");
     1952          this.OnCommandChanged();
     1953        }
     1954      }
     1955    }
     1956   
     1957    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HiveExperimentId", DbType="UniqueIdentifier NOT NULL")]
     1958    public System.Guid JobId
     1959    {
     1960      get
     1961      {
     1962        return this._HiveExperimentId;
     1963      }
     1964      set
     1965      {
     1966        if ((this._HiveExperimentId != value))
     1967        {
     1968          if (this._HiveExperiment.HasLoadedOrAssignedValue)
     1969          {
     1970            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     1971          }
     1972          this.OnJobIdChanging(value);
     1973          this.SendPropertyChanging();
     1974          this._HiveExperimentId = value;
     1975          this.SendPropertyChanged("JobId");
     1976          this.OnJobIdChanged();
     1977        }
     1978      }
     1979    }
     1980   
     1981    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Task_RequiredPlugin", Storage="_RequiredPlugins", ThisKey="TaskId", OtherKey="TaskId")]
     1982    public EntitySet<RequiredPlugin> RequiredPlugins
     1983    {
     1984      get
     1985      {
     1986        return this._RequiredPlugins;
     1987      }
     1988      set
     1989      {
     1990        this._RequiredPlugins.Assign(value);
     1991      }
     1992    }
     1993   
     1994    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Task_Task", Storage="_Jobs", ThisKey="TaskId", OtherKey="ParentTaskId")]
     1995    public EntitySet<Task> ChildJobs
     1996    {
     1997      get
     1998      {
     1999        return this._Jobs;
     2000      }
     2001      set
     2002      {
     2003        this._Jobs.Assign(value);
     2004      }
     2005    }
     2006   
     2007    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Task_TaskData", Storage="_JobData", ThisKey="TaskId", OtherKey="TaskId", IsUnique=true, IsForeignKey=false)]
     2008    public TaskData JobData
     2009    {
     2010      get
     2011      {
     2012        return this._JobData.Entity;
     2013      }
     2014      set
     2015      {
     2016        TaskData previousValue = this._JobData.Entity;
     2017        if (((previousValue != value)
     2018              || (this._JobData.HasLoadedOrAssignedValue == false)))
     2019        {
     2020          this.SendPropertyChanging();
     2021          if ((previousValue != null))
     2022          {
     2023            this._JobData.Entity = null;
     2024            previousValue.Task = null;
     2025          }
     2026          this._JobData.Entity = value;
     2027          if ((value != null))
     2028          {
     2029            value.Task = this;
     2030          }
     2031          this.SendPropertyChanged("JobData");
     2032        }
     2033      }
     2034    }
     2035   
     2036    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Task_StateLog", Storage="_StateLogs", ThisKey="TaskId", OtherKey="TaskId")]
     2037    public EntitySet<StateLog> StateLogs
     2038    {
     2039      get
     2040      {
     2041        return this._StateLogs;
     2042      }
     2043      set
     2044      {
     2045        this._StateLogs.Assign(value);
     2046      }
     2047    }
     2048   
     2049    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Task_AssignedTaskResource", Storage="_AssignedTaskResources", ThisKey="TaskId", OtherKey="TaskId")]
     2050    public EntitySet<AssignedTaskResource> AssignedTaskResources
     2051    {
     2052      get
     2053      {
     2054        return this._AssignedTaskResources;
     2055      }
     2056      set
     2057      {
     2058        this._AssignedTaskResources.Assign(value);
     2059      }
     2060    }
     2061   
     2062    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Task_Task", Storage="_Job1", ThisKey="ParentTaskId", OtherKey="TaskId", IsForeignKey=true)]
     2063    public Task ParentJob
     2064    {
     2065      get
     2066      {
     2067        return this._Job1.Entity;
     2068      }
     2069      set
     2070      {
     2071        Task previousValue = this._Job1.Entity;
     2072        if (((previousValue != value)
     2073              || (this._Job1.HasLoadedOrAssignedValue == false)))
     2074        {
     2075          this.SendPropertyChanging();
     2076          if ((previousValue != null))
     2077          {
     2078            this._Job1.Entity = null;
     2079            previousValue.ChildJobs.Remove(this);
     2080          }
     2081          this._Job1.Entity = value;
     2082          if ((value != null))
     2083          {
     2084            value.ChildJobs.Add(this);
     2085            this._ParentJobId = value.TaskId;
     2086          }
     2087          else
     2088          {
     2089            this._ParentJobId = default(Nullable<System.Guid>);
     2090          }
     2091          this.SendPropertyChanged("ParentJob");
     2092        }
     2093      }
     2094    }
     2095   
     2096    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_Task", Storage="_HiveExperiment", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true)]
     2097    public Job Job
     2098    {
     2099      get
     2100      {
     2101        return this._HiveExperiment.Entity;
     2102      }
     2103      set
     2104      {
     2105        Job previousValue = this._HiveExperiment.Entity;
     2106        if (((previousValue != value)
     2107              || (this._HiveExperiment.HasLoadedOrAssignedValue == false)))
     2108        {
     2109          this.SendPropertyChanging();
     2110          if ((previousValue != null))
     2111          {
     2112            this._HiveExperiment.Entity = null;
     2113            previousValue.Tasks.Remove(this);
     2114          }
     2115          this._HiveExperiment.Entity = value;
     2116          if ((value != null))
     2117          {
     2118            value.Tasks.Add(this);
     2119            this._HiveExperimentId = value.JobId;
     2120          }
     2121          else
     2122          {
     2123            this._HiveExperimentId = default(System.Guid);
     2124          }
     2125          this.SendPropertyChanged("Job");
     2126        }
     2127      }
     2128    }
     2129   
     2130    public event PropertyChangingEventHandler PropertyChanging;
     2131   
     2132    public event PropertyChangedEventHandler PropertyChanged;
     2133   
     2134    protected virtual void SendPropertyChanging()
     2135    {
     2136      if ((this.PropertyChanging != null))
     2137      {
     2138        this.PropertyChanging(this, emptyChangingEventArgs);
     2139      }
     2140    }
     2141   
     2142    protected virtual void SendPropertyChanged(String propertyName)
     2143    {
     2144      if ((this.PropertyChanged != null))
     2145      {
     2146        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     2147      }
     2148    }
     2149   
     2150    private void attach_RequiredPlugins(RequiredPlugin entity)
     2151    {
     2152      this.SendPropertyChanging();
     2153      entity.Task = this;
     2154    }
     2155   
     2156    private void detach_RequiredPlugins(RequiredPlugin entity)
     2157    {
     2158      this.SendPropertyChanging();
     2159      entity.Task = null;
     2160    }
     2161   
     2162    private void attach_Jobs(Task entity)
     2163    {
     2164      this.SendPropertyChanging();
     2165      entity.ParentJob = this;
     2166    }
     2167   
     2168    private void detach_Jobs(Task entity)
     2169    {
     2170      this.SendPropertyChanging();
     2171      entity.ParentJob = null;
     2172    }
     2173   
     2174    private void attach_StateLogs(StateLog entity)
     2175    {
     2176      this.SendPropertyChanging();
     2177      entity.Task = this;
     2178    }
     2179   
     2180    private void detach_StateLogs(StateLog entity)
     2181    {
     2182      this.SendPropertyChanging();
     2183      entity.Task = null;
     2184    }
     2185   
     2186    private void attach_AssignedTaskResources(AssignedTaskResource entity)
     2187    {
     2188      this.SendPropertyChanging();
     2189      entity.Task = this;
     2190    }
     2191   
     2192    private void detach_AssignedTaskResources(AssignedTaskResource entity)
     2193    {
     2194      this.SendPropertyChanging();
     2195      entity.Task = null;
    10192196    }
    10202197  }
     
    10262203    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    10272204   
    1028     private System.Guid _DowntimeId;
     2205    private System.Guid _UptimeCalendarId;
    10292206   
    10302207    private System.Guid _ResourceId;
     
    10402217    private System.Guid _RecurringId;
    10412218   
    1042     private string _DowntimeType;
     2219    private global::HeuristicLab.Services.Hive.DataAccess.DowntimeType _Type;
    10432220   
    10442221    private EntityRef<Resource> _Resource;
     
    10622239    partial void OnRecurringIdChanging(System.Guid value);
    10632240    partial void OnRecurringIdChanged();
    1064     partial void OnDowntimeTypeChanging(string value);
     2241    partial void OnDowntimeTypeChanging(global::HeuristicLab.Services.Hive.DataAccess.DowntimeType value);
    10652242    partial void OnDowntimeTypeChanged();
    10662243    #endregion
     
    10722249    }
    10732250   
    1074     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DowntimeId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     2251    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UptimeCalendarId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier", IsPrimaryKey=true, IsDbGenerated=true)]
    10752252    public System.Guid DowntimeId
    10762253    {
    10772254      get
    10782255      {
    1079         return this._DowntimeId;
    1080       }
    1081       set
    1082       {
    1083         if ((this._DowntimeId != value))
     2256        return this._UptimeCalendarId;
     2257      }
     2258      set
     2259      {
     2260        if ((this._UptimeCalendarId != value))
    10842261        {
    10852262          this.OnDowntimeIdChanging(value);
    10862263          this.SendPropertyChanging();
    1087           this._DowntimeId = value;
     2264          this._UptimeCalendarId = value;
    10882265          this.SendPropertyChanged("DowntimeId");
    10892266          this.OnDowntimeIdChanged();
     
    10922269    }
    10932270   
    1094     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL")]
     2271    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier")]
    10952272    public System.Guid ResourceId
    10962273    {
     
    11162293    }
    11172294   
    1118     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime NOT NULL")]
     2295    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")]
    11192296    public System.DateTime StartDate
    11202297    {
     
    11362313    }
    11372314   
    1138     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime NOT NULL")]
     2315    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")]
    11392316    public System.DateTime EndDate
    11402317    {
     
    11562333    }
    11572334   
    1158     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AllDayEvent", DbType="Bit NOT NULL")]
     2335    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AllDayEvent", DbType="Bit")]
    11592336    public bool AllDayEvent
    11602337    {
     
    11762353    }
    11772354   
    1178     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Recurring", DbType="Bit NOT NULL")]
     2355    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Recurring", DbType="Bit")]
    11792356    public bool Recurring
    11802357    {
     
    11962373    }
    11972374   
    1198     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RecurringId", DbType="UniqueIdentifier NOT NULL")]
     2375    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RecurringId", DbType="UniqueIdentifier")]
    11992376    public System.Guid RecurringId
    12002377    {
     
    12162393    }
    12172394   
    1218     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DowntimeType", DbType="VarChar(MAX) NOT NULL", CanBeNull=false)]
    1219     public string DowntimeType
    1220     {
    1221       get
    1222       {
    1223         return this._DowntimeType;
    1224       }
    1225       set
    1226       {
    1227         if ((this._DowntimeType != value))
     2395    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="VarChar(MAX)", CanBeNull=false)]
     2396    public global::HeuristicLab.Services.Hive.DataAccess.DowntimeType DowntimeType
     2397    {
     2398      get
     2399      {
     2400        return this._Type;
     2401      }
     2402      set
     2403      {
     2404        if ((this._Type != value))
    12282405        {
    12292406          this.OnDowntimeTypeChanging(value);
    12302407          this.SendPropertyChanging();
    1231           this._DowntimeType = value;
     2408          this._Type = value;
    12322409          this.SendPropertyChanged("DowntimeType");
    12332410          this.OnDowntimeTypeChanged();
     
    12362413    }
    12372414   
    1238     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_Downtime", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true)]
     2415    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_Downtime", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteRule="CASCADE")]
    12392416    public Resource Resource
    12402417    {
     
    12972474    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    12982475   
    1299     private System.Guid _JobId;
     2476    private System.Guid _HiveExperimentId;
    13002477   
    13012478    private string _Name;
     
    13032480    private string _Description;
    13042481   
    1305     private System.Guid _OwnerUserId;
     2482    private string _ResourceIds;
     2483   
     2484    private System.Guid _UserId;
    13062485   
    13072486    private System.DateTime _DateCreated;
     
    13092488    private System.Guid _ProjectId;
    13102489   
    1311     private EntitySet<JobPermission> _JobPermissions;
    1312    
    1313     private EntitySet<Task> _Tasks;
     2490    private EntitySet<Task> _Jobs;
     2491   
     2492    private EntitySet<JobPermission> _HiveExperimentPermissions;
    13142493   
    13152494    private EntityRef<Project> _Project;
     
    13252504    partial void OnDescriptionChanging(string value);
    13262505    partial void OnDescriptionChanged();
     2506    partial void OnResourceIdsChanging(string value);
     2507    partial void OnResourceIdsChanged();
    13272508    partial void OnOwnerUserIdChanging(System.Guid value);
    13282509    partial void OnOwnerUserIdChanged();
     
    13352516    public Job()
    13362517    {
    1337       this._JobPermissions = new EntitySet<JobPermission>(new Action<JobPermission>(this.attach_JobPermissions), new Action<JobPermission>(this.detach_JobPermissions));
    1338       this._Tasks = new EntitySet<Task>(new Action<Task>(this.attach_Tasks), new Action<Task>(this.detach_Tasks));
     2518      this._Jobs = new EntitySet<Task>(new Action<Task>(this.attach_Jobs), new Action<Task>(this.detach_Jobs));
     2519      this._HiveExperimentPermissions = new EntitySet<JobPermission>(new Action<JobPermission>(this.attach_HiveExperimentPermissions), new Action<JobPermission>(this.detach_HiveExperimentPermissions));
    13392520      this._Project = default(EntityRef<Project>);
    13402521      OnCreated();
    13412522    }
    13422523   
    1343     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     2524    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HiveExperimentId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
    13442525    public System.Guid JobId
    13452526    {
    13462527      get
    13472528      {
    1348         return this._JobId;
    1349       }
    1350       set
    1351       {
    1352         if ((this._JobId != value))
     2529        return this._HiveExperimentId;
     2530      }
     2531      set
     2532      {
     2533        if ((this._HiveExperimentId != value))
    13532534        {
    13542535          this.OnJobIdChanging(value);
    13552536          this.SendPropertyChanging();
    1356           this._JobId = value;
     2537          this._HiveExperimentId = value;
    13572538          this.SendPropertyChanged("JobId");
    13582539          this.OnJobIdChanged();
     
    13612542    }
    13622543   
    1363     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX) NOT NULL", CanBeNull=false)]
     2544    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX)", CanBeNull=false)]
    13642545    public string Name
    13652546    {
     
    14012582    }
    14022583   
    1403     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OwnerUserId", DbType="UniqueIdentifier NOT NULL")]
     2584    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceIds", DbType="VarChar(MAX)")]
     2585    public string ResourceIds
     2586    {
     2587      get
     2588      {
     2589        return this._ResourceIds;
     2590      }
     2591      set
     2592      {
     2593        if ((this._ResourceIds != value))
     2594        {
     2595          this.OnResourceIdsChanging(value);
     2596          this.SendPropertyChanging();
     2597          this._ResourceIds = value;
     2598          this.SendPropertyChanged("ResourceIds");
     2599          this.OnResourceIdsChanged();
     2600        }
     2601      }
     2602    }
     2603   
     2604    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier")]
    14042605    public System.Guid OwnerUserId
    14052606    {
    14062607      get
    14072608      {
    1408         return this._OwnerUserId;
    1409       }
    1410       set
    1411       {
    1412         if ((this._OwnerUserId != value))
     2609        return this._UserId;
     2610      }
     2611      set
     2612      {
     2613        if ((this._UserId != value))
    14132614        {
    14142615          this.OnOwnerUserIdChanging(value);
    14152616          this.SendPropertyChanging();
    1416           this._OwnerUserId = value;
     2617          this._UserId = value;
    14172618          this.SendPropertyChanged("OwnerUserId");
    14182619          this.OnOwnerUserIdChanged();
     
    14212622    }
    14222623   
    1423     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateCreated", DbType="DateTime NOT NULL")]
     2624    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateCreated", DbType="DateTime")]
    14242625    public System.DateTime DateCreated
    14252626    {
     
    14652666    }
    14662667   
    1467     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_JobPermission", Storage="_JobPermissions", ThisKey="JobId", OtherKey="JobId")]
     2668    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_Task", Storage="_Jobs", ThisKey="JobId", OtherKey="JobId")]
     2669    public EntitySet<Task> Tasks
     2670    {
     2671      get
     2672      {
     2673        return this._Jobs;
     2674      }
     2675      set
     2676      {
     2677        this._Jobs.Assign(value);
     2678      }
     2679    }
     2680   
     2681    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_JobPermission", Storage="_HiveExperimentPermissions", ThisKey="JobId", OtherKey="JobId")]
    14682682    public EntitySet<JobPermission> JobPermissions
    14692683    {
    14702684      get
    14712685      {
    1472         return this._JobPermissions;
    1473       }
    1474       set
    1475       {
    1476         this._JobPermissions.Assign(value);
    1477       }
    1478     }
    1479    
    1480     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_Task", Storage="_Tasks", ThisKey="JobId", OtherKey="JobId")]
    1481     public EntitySet<Task> Tasks
    1482     {
    1483       get
    1484       {
    1485         return this._Tasks;
    1486       }
    1487       set
    1488       {
    1489         this._Tasks.Assign(value);
    1490       }
    1491     }
    1492    
    1493     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_Job", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true, DeleteOnNull=true, DeleteRule="CASCADE")]
     2686        return this._HiveExperimentPermissions;
     2687      }
     2688      set
     2689      {
     2690        this._HiveExperimentPermissions.Assign(value);
     2691      }
     2692    }
     2693   
     2694    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_Job", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)]
    14942695    public Project Project
    14952696    {
     
    15452746    }
    15462747   
    1547     private void attach_JobPermissions(JobPermission entity)
     2748    private void attach_Jobs(Task entity)
    15482749    {
    15492750      this.SendPropertyChanging();
     
    15512752    }
    15522753   
    1553     private void detach_JobPermissions(JobPermission entity)
     2754    private void detach_Jobs(Task entity)
    15542755    {
    15552756      this.SendPropertyChanging();
     
    15572758    }
    15582759   
    1559     private void attach_Tasks(Task entity)
     2760    private void attach_HiveExperimentPermissions(JobPermission entity)
    15602761    {
    15612762      this.SendPropertyChanging();
     
    15632764    }
    15642765   
    1565     private void detach_Tasks(Task entity)
     2766    private void detach_HiveExperimentPermissions(JobPermission entity)
    15662767    {
    15672768      this.SendPropertyChanging();
    15682769      entity.Job = null;
     2770    }
     2771  }
     2772 
     2773  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.TaskData")]
     2774  public partial class TaskData : INotifyPropertyChanging, INotifyPropertyChanged
     2775  {
     2776   
     2777    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     2778   
     2779    private System.Guid _JobId;
     2780   
     2781    private System.Data.Linq.Link<byte[]> _Data;
     2782   
     2783    private System.DateTime _LastUpdate;
     2784   
     2785    private EntityRef<Task> _Job;
     2786   
     2787    #region Extensibility Method Definitions
     2788    partial void OnLoaded();
     2789    partial void OnValidate(System.Data.Linq.ChangeAction action);
     2790    partial void OnCreated();
     2791    partial void OnTaskIdChanging(System.Guid value);
     2792    partial void OnTaskIdChanged();
     2793    partial void OnDataChanging(byte[] value);
     2794    partial void OnDataChanged();
     2795    partial void OnLastUpdateChanging(System.DateTime value);
     2796    partial void OnLastUpdateChanged();
     2797    #endregion
     2798   
     2799    public TaskData()
     2800    {
     2801      this._Job = default(EntityRef<Task>);
     2802      OnCreated();
     2803    }
     2804   
     2805    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     2806    public System.Guid TaskId
     2807    {
     2808      get
     2809      {
     2810        return this._JobId;
     2811      }
     2812      set
     2813      {
     2814        if ((this._JobId != value))
     2815        {
     2816          if (this._Job.HasLoadedOrAssignedValue)
     2817          {
     2818            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     2819          }
     2820          this.OnTaskIdChanging(value);
     2821          this.SendPropertyChanging();
     2822          this._JobId = value;
     2823          this.SendPropertyChanged("TaskId");
     2824          this.OnTaskIdChanged();
     2825        }
     2826      }
     2827    }
     2828   
     2829    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Data", DbType="VarBinary(MAX)", CanBeNull=false, UpdateCheck=UpdateCheck.Never)]
     2830    public byte[] Data
     2831    {
     2832      get
     2833      {
     2834        return this._Data.Value;
     2835      }
     2836      set
     2837      {
     2838        if ((this._Data.Value != value))
     2839        {
     2840          this.OnDataChanging(value);
     2841          this.SendPropertyChanging();
     2842          this._Data.Value = value;
     2843          this.SendPropertyChanged("Data");
     2844          this.OnDataChanged();
     2845        }
     2846      }
     2847    }
     2848   
     2849    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastUpdate", DbType="DateTime")]
     2850    public System.DateTime LastUpdate
     2851    {
     2852      get
     2853      {
     2854        return this._LastUpdate;
     2855      }
     2856      set
     2857      {
     2858        if ((this._LastUpdate != value))
     2859        {
     2860          this.OnLastUpdateChanging(value);
     2861          this.SendPropertyChanging();
     2862          this._LastUpdate = value;
     2863          this.SendPropertyChanged("LastUpdate");
     2864          this.OnLastUpdateChanged();
     2865        }
     2866      }
     2867    }
     2868   
     2869    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Task_TaskData", Storage="_Job", ThisKey="TaskId", OtherKey="TaskId", IsForeignKey=true)]
     2870    public Task Task
     2871    {
     2872      get
     2873      {
     2874        return this._Job.Entity;
     2875      }
     2876      set
     2877      {
     2878        Task previousValue = this._Job.Entity;
     2879        if (((previousValue != value)
     2880              || (this._Job.HasLoadedOrAssignedValue == false)))
     2881        {
     2882          this.SendPropertyChanging();
     2883          if ((previousValue != null))
     2884          {
     2885            this._Job.Entity = null;
     2886            previousValue.JobData = null;
     2887          }
     2888          this._Job.Entity = value;
     2889          if ((value != null))
     2890          {
     2891            value.JobData = this;
     2892            this._JobId = value.TaskId;
     2893          }
     2894          else
     2895          {
     2896            this._JobId = default(System.Guid);
     2897          }
     2898          this.SendPropertyChanged("Task");
     2899        }
     2900      }
     2901    }
     2902   
     2903    public event PropertyChangingEventHandler PropertyChanging;
     2904   
     2905    public event PropertyChangedEventHandler PropertyChanged;
     2906   
     2907    protected virtual void SendPropertyChanging()
     2908    {
     2909      if ((this.PropertyChanging != null))
     2910      {
     2911        this.PropertyChanging(this, emptyChangingEventArgs);
     2912      }
     2913    }
     2914   
     2915    protected virtual void SendPropertyChanged(String propertyName)
     2916    {
     2917      if ((this.PropertyChanged != null))
     2918      {
     2919        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     2920      }
     2921    }
     2922  }
     2923 
     2924  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.PluginData")]
     2925  public partial class PluginData : INotifyPropertyChanging, INotifyPropertyChanged
     2926  {
     2927   
     2928    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     2929   
     2930    private System.Guid _PluginDataId;
     2931   
     2932    private System.Guid _PluginId;
     2933   
     2934    private System.Data.Linq.Link<byte[]> _Data;
     2935   
     2936    private string _FileName;
     2937   
     2938    private EntityRef<Plugin> _Plugin;
     2939   
     2940    #region Extensibility Method Definitions
     2941    partial void OnLoaded();
     2942    partial void OnValidate(System.Data.Linq.ChangeAction action);
     2943    partial void OnCreated();
     2944    partial void OnPluginDataIdChanging(System.Guid value);
     2945    partial void OnPluginDataIdChanged();
     2946    partial void OnPluginIdChanging(System.Guid value);
     2947    partial void OnPluginIdChanged();
     2948    partial void OnDataChanging(byte[] value);
     2949    partial void OnDataChanged();
     2950    partial void OnFileNameChanging(string value);
     2951    partial void OnFileNameChanged();
     2952    #endregion
     2953   
     2954    public PluginData()
     2955    {
     2956      this._Plugin = default(EntityRef<Plugin>);
     2957      OnCreated();
     2958    }
     2959   
     2960    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PluginDataId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
     2961    public System.Guid PluginDataId
     2962    {
     2963      get
     2964      {
     2965        return this._PluginDataId;
     2966      }
     2967      set
     2968      {
     2969        if ((this._PluginDataId != value))
     2970        {
     2971          this.OnPluginDataIdChanging(value);
     2972          this.SendPropertyChanging();
     2973          this._PluginDataId = value;
     2974          this.SendPropertyChanged("PluginDataId");
     2975          this.OnPluginDataIdChanged();
     2976        }
     2977      }
     2978    }
     2979   
     2980    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PluginId", DbType="UniqueIdentifier NOT NULL")]
     2981    public System.Guid PluginId
     2982    {
     2983      get
     2984      {
     2985        return this._PluginId;
     2986      }
     2987      set
     2988      {
     2989        if ((this._PluginId != value))
     2990        {
     2991          if (this._Plugin.HasLoadedOrAssignedValue)
     2992          {
     2993            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     2994          }
     2995          this.OnPluginIdChanging(value);
     2996          this.SendPropertyChanging();
     2997          this._PluginId = value;
     2998          this.SendPropertyChanged("PluginId");
     2999          this.OnPluginIdChanged();
     3000        }
     3001      }
     3002    }
     3003   
     3004    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Data", DbType="VarBinary(MAX) NOT NULL", CanBeNull=false, UpdateCheck=UpdateCheck.Never)]
     3005    public byte[] Data
     3006    {
     3007      get
     3008      {
     3009        return this._Data.Value;
     3010      }
     3011      set
     3012      {
     3013        if ((this._Data.Value != value))
     3014        {
     3015          this.OnDataChanging(value);
     3016          this.SendPropertyChanging();
     3017          this._Data.Value = value;
     3018          this.SendPropertyChanged("Data");
     3019          this.OnDataChanged();
     3020        }
     3021      }
     3022    }
     3023   
     3024    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FileName", DbType="VarChar(MAX)", CanBeNull=false)]
     3025    public string FileName
     3026    {
     3027      get
     3028      {
     3029        return this._FileName;
     3030      }
     3031      set
     3032      {
     3033        if ((this._FileName != value))
     3034        {
     3035          this.OnFileNameChanging(value);
     3036          this.SendPropertyChanging();
     3037          this._FileName = value;
     3038          this.SendPropertyChanged("FileName");
     3039          this.OnFileNameChanged();
     3040        }
     3041      }
     3042    }
     3043   
     3044    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Plugin_PluginData", Storage="_Plugin", ThisKey="PluginId", OtherKey="PluginId", IsForeignKey=true)]
     3045    public Plugin Plugin
     3046    {
     3047      get
     3048      {
     3049        return this._Plugin.Entity;
     3050      }
     3051      set
     3052      {
     3053        Plugin previousValue = this._Plugin.Entity;
     3054        if (((previousValue != value)
     3055              || (this._Plugin.HasLoadedOrAssignedValue == false)))
     3056        {
     3057          this.SendPropertyChanging();
     3058          if ((previousValue != null))
     3059          {
     3060            this._Plugin.Entity = null;
     3061            previousValue.PluginData.Remove(this);
     3062          }
     3063          this._Plugin.Entity = value;
     3064          if ((value != null))
     3065          {
     3066            value.PluginData.Add(this);
     3067            this._PluginId = value.PluginId;
     3068          }
     3069          else
     3070          {
     3071            this._PluginId = default(System.Guid);
     3072          }
     3073          this.SendPropertyChanged("Plugin");
     3074        }
     3075      }
     3076    }
     3077   
     3078    public event PropertyChangingEventHandler PropertyChanging;
     3079   
     3080    public event PropertyChangedEventHandler PropertyChanged;
     3081   
     3082    protected virtual void SendPropertyChanging()
     3083    {
     3084      if ((this.PropertyChanging != null))
     3085      {
     3086        this.PropertyChanging(this, emptyChangingEventArgs);
     3087      }
     3088    }
     3089   
     3090    protected virtual void SendPropertyChanged(String propertyName)
     3091    {
     3092      if ((this.PropertyChanged != null))
     3093      {
     3094        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     3095      }
     3096    }
     3097  }
     3098 
     3099  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.StateLog")]
     3100  public partial class StateLog : INotifyPropertyChanging, INotifyPropertyChanged
     3101  {
     3102   
     3103    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     3104   
     3105    private System.Guid _StateLogId;
     3106   
     3107    private global::HeuristicLab.Services.Hive.DataAccess.TaskState _State;
     3108   
     3109    private System.DateTime _DateTime;
     3110   
     3111    private System.Guid _JobId;
     3112   
     3113    private System.Nullable<System.Guid> _UserId;
     3114   
     3115    private System.Nullable<System.Guid> _SlaveId;
     3116   
     3117    private string _Exception;
     3118   
     3119    private EntityRef<Task> _Job;
     3120   
     3121    private EntityRef<Resource> _Resource;
     3122   
     3123    #region Extensibility Method Definitions
     3124    partial void OnLoaded();
     3125    partial void OnValidate(System.Data.Linq.ChangeAction action);
     3126    partial void OnCreated();
     3127    partial void OnStateLogIdChanging(System.Guid value);
     3128    partial void OnStateLogIdChanged();
     3129    partial void OnStateChanging(global::HeuristicLab.Services.Hive.DataAccess.TaskState value);
     3130    partial void OnStateChanged();
     3131    partial void OnDateTimeChanging(System.DateTime value);
     3132    partial void OnDateTimeChanged();
     3133    partial void OnTaskIdChanging(System.Guid value);
     3134    partial void OnTaskIdChanged();
     3135    partial void OnUserIdChanging(System.Nullable<System.Guid> value);
     3136    partial void OnUserIdChanged();
     3137    partial void OnSlaveIdChanging(System.Nullable<System.Guid> value);
     3138    partial void OnSlaveIdChanged();
     3139    partial void OnExceptionChanging(string value);
     3140    partial void OnExceptionChanged();
     3141    #endregion
     3142   
     3143    public StateLog()
     3144    {
     3145      this._Job = default(EntityRef<Task>);
     3146      this._Resource = default(EntityRef<Resource>);
     3147      OnCreated();
     3148    }
     3149   
     3150    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StateLogId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
     3151    public System.Guid StateLogId
     3152    {
     3153      get
     3154      {
     3155        return this._StateLogId;
     3156      }
     3157      set
     3158      {
     3159        if ((this._StateLogId != value))
     3160        {
     3161          this.OnStateLogIdChanging(value);
     3162          this.SendPropertyChanging();
     3163          this._StateLogId = value;
     3164          this.SendPropertyChanged("StateLogId");
     3165          this.OnStateLogIdChanged();
     3166        }
     3167      }
     3168    }
     3169   
     3170    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_State", DbType="VarChar(30) NOT NULL", CanBeNull=false)]
     3171    public global::HeuristicLab.Services.Hive.DataAccess.TaskState State
     3172    {
     3173      get
     3174      {
     3175        return this._State;
     3176      }
     3177      set
     3178      {
     3179        if ((this._State != value))
     3180        {
     3181          this.OnStateChanging(value);
     3182          this.SendPropertyChanging();
     3183          this._State = value;
     3184          this.SendPropertyChanged("State");
     3185          this.OnStateChanged();
     3186        }
     3187      }
     3188    }
     3189   
     3190    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateTime", DbType="DateTime NOT NULL")]
     3191    public System.DateTime DateTime
     3192    {
     3193      get
     3194      {
     3195        return this._DateTime;
     3196      }
     3197      set
     3198      {
     3199        if ((this._DateTime != value))
     3200        {
     3201          this.OnDateTimeChanging(value);
     3202          this.SendPropertyChanging();
     3203          this._DateTime = value;
     3204          this.SendPropertyChanged("DateTime");
     3205          this.OnDateTimeChanged();
     3206        }
     3207      }
     3208    }
     3209   
     3210    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL")]
     3211    public System.Guid TaskId
     3212    {
     3213      get
     3214      {
     3215        return this._JobId;
     3216      }
     3217      set
     3218      {
     3219        if ((this._JobId != value))
     3220        {
     3221          if (this._Job.HasLoadedOrAssignedValue)
     3222          {
     3223            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3224          }
     3225          this.OnTaskIdChanging(value);
     3226          this.SendPropertyChanging();
     3227          this._JobId = value;
     3228          this.SendPropertyChanged("TaskId");
     3229          this.OnTaskIdChanged();
     3230        }
     3231      }
     3232    }
     3233   
     3234    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier")]
     3235    public System.Nullable<System.Guid> UserId
     3236    {
     3237      get
     3238      {
     3239        return this._UserId;
     3240      }
     3241      set
     3242      {
     3243        if ((this._UserId != value))
     3244        {
     3245          this.OnUserIdChanging(value);
     3246          this.SendPropertyChanging();
     3247          this._UserId = value;
     3248          this.SendPropertyChanged("UserId");
     3249          this.OnUserIdChanged();
     3250        }
     3251      }
     3252    }
     3253   
     3254    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SlaveId", DbType="UniqueIdentifier")]
     3255    public System.Nullable<System.Guid> SlaveId
     3256    {
     3257      get
     3258      {
     3259        return this._SlaveId;
     3260      }
     3261      set
     3262      {
     3263        if ((this._SlaveId != value))
     3264        {
     3265          if (this._Resource.HasLoadedOrAssignedValue)
     3266          {
     3267            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3268          }
     3269          this.OnSlaveIdChanging(value);
     3270          this.SendPropertyChanging();
     3271          this._SlaveId = value;
     3272          this.SendPropertyChanged("SlaveId");
     3273          this.OnSlaveIdChanged();
     3274        }
     3275      }
     3276    }
     3277   
     3278    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Exception", DbType="VarChar(MAX)", CanBeNull=false)]
     3279    public string Exception
     3280    {
     3281      get
     3282      {
     3283        return this._Exception;
     3284      }
     3285      set
     3286      {
     3287        if ((this._Exception != value))
     3288        {
     3289          this.OnExceptionChanging(value);
     3290          this.SendPropertyChanging();
     3291          this._Exception = value;
     3292          this.SendPropertyChanged("Exception");
     3293          this.OnExceptionChanged();
     3294        }
     3295      }
     3296    }
     3297   
     3298    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Task_StateLog", Storage="_Job", ThisKey="TaskId", OtherKey="TaskId", IsForeignKey=true)]
     3299    public Task Task
     3300    {
     3301      get
     3302      {
     3303        return this._Job.Entity;
     3304      }
     3305      set
     3306      {
     3307        Task previousValue = this._Job.Entity;
     3308        if (((previousValue != value)
     3309              || (this._Job.HasLoadedOrAssignedValue == false)))
     3310        {
     3311          this.SendPropertyChanging();
     3312          if ((previousValue != null))
     3313          {
     3314            this._Job.Entity = null;
     3315            previousValue.StateLogs.Remove(this);
     3316          }
     3317          this._Job.Entity = value;
     3318          if ((value != null))
     3319          {
     3320            value.StateLogs.Add(this);
     3321            this._JobId = value.TaskId;
     3322          }
     3323          else
     3324          {
     3325            this._JobId = default(System.Guid);
     3326          }
     3327          this.SendPropertyChanged("Task");
     3328        }
     3329      }
     3330    }
     3331   
     3332    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_StateLog", Storage="_Resource", ThisKey="SlaveId", OtherKey="ResourceId", IsForeignKey=true)]
     3333    public Resource Resource
     3334    {
     3335      get
     3336      {
     3337        return this._Resource.Entity;
     3338      }
     3339      set
     3340      {
     3341        Resource previousValue = this._Resource.Entity;
     3342        if (((previousValue != value)
     3343              || (this._Resource.HasLoadedOrAssignedValue == false)))
     3344        {
     3345          this.SendPropertyChanging();
     3346          if ((previousValue != null))
     3347          {
     3348            this._Resource.Entity = null;
     3349            previousValue.StateLogs.Remove(this);
     3350          }
     3351          this._Resource.Entity = value;
     3352          if ((value != null))
     3353          {
     3354            value.StateLogs.Add(this);
     3355            this._SlaveId = value.ResourceId;
     3356          }
     3357          else
     3358          {
     3359            this._SlaveId = default(Nullable<System.Guid>);
     3360          }
     3361          this.SendPropertyChanged("Resource");
     3362        }
     3363      }
     3364    }
     3365   
     3366    public event PropertyChangingEventHandler PropertyChanging;
     3367   
     3368    public event PropertyChangedEventHandler PropertyChanged;
     3369   
     3370    protected virtual void SendPropertyChanging()
     3371    {
     3372      if ((this.PropertyChanging != null))
     3373      {
     3374        this.PropertyChanging(this, emptyChangingEventArgs);
     3375      }
     3376    }
     3377   
     3378    protected virtual void SendPropertyChanged(String propertyName)
     3379    {
     3380      if ((this.PropertyChanged != null))
     3381      {
     3382        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     3383      }
    15693384    }
    15703385  }
     
    15763391    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    15773392   
    1578     private System.Guid _JobId;
     3393    private System.Guid _HiveExperimentId;
    15793394   
    15803395    private System.Guid _GrantedUserId;
     
    15823397    private System.Guid _GrantedByUserId;
    15833398   
    1584     private string _Permission;
    1585    
    1586     private EntityRef<Job> _Job;
     3399    private global::HeuristicLab.Services.Hive.DataAccess.Permission _Permission;
     3400   
     3401    private EntityRef<Job> _HiveExperiment;
    15873402   
    15883403    #region Extensibility Method Definitions
     
    15963411    partial void OnGrantedByUserIdChanging(System.Guid value);
    15973412    partial void OnGrantedByUserIdChanged();
    1598     partial void OnPermissionChanging(string value);
     3413    partial void OnPermissionChanging(global::HeuristicLab.Services.Hive.DataAccess.Permission value);
    15993414    partial void OnPermissionChanged();
    16003415    #endregion
     
    16023417    public JobPermission()
    16033418    {
    1604       this._Job = default(EntityRef<Job>);
     3419      this._HiveExperiment = default(EntityRef<Job>);
    16053420      OnCreated();
    16063421    }
    16073422   
    1608     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     3423    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HiveExperimentId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    16093424    public System.Guid JobId
    16103425    {
    16113426      get
    16123427      {
    1613         return this._JobId;
    1614       }
    1615       set
    1616       {
    1617         if ((this._JobId != value))
    1618         {
    1619           if (this._Job.HasLoadedOrAssignedValue)
     3428        return this._HiveExperimentId;
     3429      }
     3430      set
     3431      {
     3432        if ((this._HiveExperimentId != value))
     3433        {
     3434          if (this._HiveExperiment.HasLoadedOrAssignedValue)
    16203435          {
    16213436            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     
    16233438          this.OnJobIdChanging(value);
    16243439          this.SendPropertyChanging();
    1625           this._JobId = value;
     3440          this._HiveExperimentId = value;
    16263441          this.SendPropertyChanged("JobId");
    16273442          this.OnJobIdChanged();
     
    16713486   
    16723487    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Permission", DbType="VarChar(15) NOT NULL", CanBeNull=false)]
    1673     public string Permission
     3488    public global::HeuristicLab.Services.Hive.DataAccess.Permission Permission
    16743489    {
    16753490      get
     
    16903505    }
    16913506   
    1692     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_JobPermission", Storage="_Job", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true, DeleteOnNull=true, DeleteRule="CASCADE")]
     3507    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_JobPermission", Storage="_HiveExperiment", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true)]
    16933508    public Job Job
    16943509    {
    16953510      get
    16963511      {
    1697         return this._Job.Entity;
    1698       }
    1699       set
    1700       {
    1701         Job previousValue = this._Job.Entity;
     3512        return this._HiveExperiment.Entity;
     3513      }
     3514      set
     3515      {
     3516        Job previousValue = this._HiveExperiment.Entity;
    17023517        if (((previousValue != value)
    1703               || (this._Job.HasLoadedOrAssignedValue == false)))
     3518              || (this._HiveExperiment.HasLoadedOrAssignedValue == false)))
    17043519        {
    17053520          this.SendPropertyChanging();
    17063521          if ((previousValue != null))
    17073522          {
    1708             this._Job.Entity = null;
     3523            this._HiveExperiment.Entity = null;
    17093524            previousValue.JobPermissions.Remove(this);
    17103525          }
    1711           this._Job.Entity = value;
     3526          this._HiveExperiment.Entity = value;
    17123527          if ((value != null))
    17133528          {
    17143529            value.JobPermissions.Add(this);
    1715             this._JobId = value.JobId;
     3530            this._HiveExperimentId = value.JobId;
    17163531          }
    17173532          else
    17183533          {
    1719             this._JobId = default(System.Guid);
     3534            this._HiveExperimentId = default(System.Guid);
    17203535          }
    17213536          this.SendPropertyChanged("Job");
     
    17453560  }
    17463561 
    1747   [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Lifecycle")]
     3562  [global::System.Data.Linq.Mapping.TableAttribute(Name="")]
    17483563  public partial class Lifecycle : INotifyPropertyChanging, INotifyPropertyChanged
    17493564  {
     
    17703585    }
    17713586   
    1772     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LifecycleId", DbType="Int NOT NULL", IsPrimaryKey=true)]
     3587    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LifecycleId", DbType="Int", IsPrimaryKey=true)]
    17733588    public int LifecycleId
    17743589    {
     
    17903605    }
    17913606   
    1792     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastCleanup", DbType="DateTime NOT NULL")]
     3607    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastCleanup", DbType="DateTime")]
    17933608    public System.DateTime LastCleanup
    17943609    {
     
    18313646  }
    18323647 
    1833   [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Plugin")]
    1834   public partial class Plugin : INotifyPropertyChanging, INotifyPropertyChanged
     3648  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ResourcePermission")]
     3649  public partial class ResourcePermission : INotifyPropertyChanging, INotifyPropertyChanged
    18353650  {
    18363651   
    18373652    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    18383653   
    1839     private System.Guid _PluginId;
    1840    
    1841     private string _Name;
    1842    
    1843     private string _Version;
    1844    
    1845     private System.Guid _UserId;
    1846    
    1847     private System.DateTime _DateCreated;
    1848    
    1849     private System.Data.Linq.Binary _Hash;
    1850    
    1851     private EntitySet<PluginData> _PluginDatas;
    1852    
    1853     private EntitySet<RequiredPlugin> _RequiredPlugins;
     3654    private System.Guid _ResourceId;
     3655   
     3656    private System.Guid _GrantedUserId;
     3657   
     3658    private System.Guid _GrantedByUserId;
     3659   
     3660    private EntityRef<Resource> _Resource;
    18543661   
    18553662    #region Extensibility Method Definitions
     
    18573664    partial void OnValidate(System.Data.Linq.ChangeAction action);
    18583665    partial void OnCreated();
    1859     partial void OnPluginIdChanging(System.Guid value);
    1860     partial void OnPluginIdChanged();
    1861     partial void OnNameChanging(string value);
    1862     partial void OnNameChanged();
    1863     partial void OnVersionChanging(string value);
    1864     partial void OnVersionChanged();
    1865     partial void OnUserIdChanging(System.Guid value);
    1866     partial void OnUserIdChanged();
    1867     partial void OnDateCreatedChanging(System.DateTime value);
    1868     partial void OnDateCreatedChanged();
    1869     partial void OnHashChanging(System.Data.Linq.Binary value);
    1870     partial void OnHashChanged();
     3666    partial void OnResourceIdChanging(System.Guid value);
     3667    partial void OnResourceIdChanged();
     3668    partial void OnGrantedUserIdChanging(System.Guid value);
     3669    partial void OnGrantedUserIdChanged();
     3670    partial void OnGrantedByUserIdChanging(System.Guid value);
     3671    partial void OnGrantedByUserIdChanged();
    18713672    #endregion
    18723673   
    1873     public Plugin()
    1874     {
    1875       this._PluginDatas = new EntitySet<PluginData>(new Action<PluginData>(this.attach_PluginDatas), new Action<PluginData>(this.detach_PluginDatas));
    1876       this._RequiredPlugins = new EntitySet<RequiredPlugin>(new Action<RequiredPlugin>(this.attach_RequiredPlugins), new Action<RequiredPlugin>(this.detach_RequiredPlugins));
     3674    public ResourcePermission()
     3675    {
     3676      this._Resource = default(EntityRef<Resource>);
    18773677      OnCreated();
    18783678    }
    18793679   
    1880     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PluginId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    1881     public System.Guid PluginId
    1882     {
    1883       get
    1884       {
    1885         return this._PluginId;
    1886       }
    1887       set
    1888       {
    1889         if ((this._PluginId != value))
    1890         {
    1891           this.OnPluginIdChanging(value);
    1892           this.SendPropertyChanging();
    1893           this._PluginId = value;
    1894           this.SendPropertyChanged("PluginId");
    1895           this.OnPluginIdChanged();
    1896         }
    1897       }
    1898     }
    1899    
    1900     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX) NOT NULL", CanBeNull=false)]
    1901     public string Name
    1902     {
    1903       get
    1904       {
    1905         return this._Name;
    1906       }
    1907       set
    1908       {
    1909         if ((this._Name != value))
    1910         {
    1911           this.OnNameChanging(value);
    1912           this.SendPropertyChanging();
    1913           this._Name = value;
    1914           this.SendPropertyChanged("Name");
    1915           this.OnNameChanged();
    1916         }
    1917       }
    1918     }
    1919    
    1920     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Version", DbType="VarChar(MAX) NOT NULL", CanBeNull=false)]
    1921     public string Version
    1922     {
    1923       get
    1924       {
    1925         return this._Version;
    1926       }
    1927       set
    1928       {
    1929         if ((this._Version != value))
    1930         {
    1931           this.OnVersionChanging(value);
    1932           this.SendPropertyChanging();
    1933           this._Version = value;
    1934           this.SendPropertyChanged("Version");
    1935           this.OnVersionChanged();
    1936         }
    1937       }
    1938     }
    1939    
    1940     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL")]
    1941     public System.Guid UserId
    1942     {
    1943       get
    1944       {
    1945         return this._UserId;
    1946       }
    1947       set
    1948       {
    1949         if ((this._UserId != value))
    1950         {
    1951           this.OnUserIdChanging(value);
    1952           this.SendPropertyChanging();
    1953           this._UserId = value;
    1954           this.SendPropertyChanged("UserId");
    1955           this.OnUserIdChanged();
    1956         }
    1957       }
    1958     }
    1959    
    1960     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateCreated", DbType="DateTime NOT NULL")]
    1961     public System.DateTime DateCreated
    1962     {
    1963       get
    1964       {
    1965         return this._DateCreated;
    1966       }
    1967       set
    1968       {
    1969         if ((this._DateCreated != value))
    1970         {
    1971           this.OnDateCreatedChanging(value);
    1972           this.SendPropertyChanging();
    1973           this._DateCreated = value;
    1974           this.SendPropertyChanged("DateCreated");
    1975           this.OnDateCreatedChanged();
    1976         }
    1977       }
    1978     }
    1979    
    1980     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Hash", DbType="VarBinary(20) NOT NULL", CanBeNull=false, UpdateCheck=UpdateCheck.Never)]
    1981     public System.Data.Linq.Binary Hash
    1982     {
    1983       get
    1984       {
    1985         return this._Hash;
    1986       }
    1987       set
    1988       {
    1989         if ((this._Hash != value))
    1990         {
    1991           this.OnHashChanging(value);
    1992           this.SendPropertyChanging();
    1993           this._Hash = value;
    1994           this.SendPropertyChanged("Hash");
    1995           this.OnHashChanged();
    1996         }
    1997       }
    1998     }
    1999    
    2000     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Plugin_PluginData", Storage="_PluginDatas", ThisKey="PluginId", OtherKey="PluginId")]
    2001     public EntitySet<PluginData> PluginDatas
    2002     {
    2003       get
    2004       {
    2005         return this._PluginDatas;
    2006       }
    2007       set
    2008       {
    2009         this._PluginDatas.Assign(value);
    2010       }
    2011     }
    2012    
    2013     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Plugin_RequiredPlugin", Storage="_RequiredPlugins", ThisKey="PluginId", OtherKey="PluginId")]
    2014     public EntitySet<RequiredPlugin> RequiredPlugins
    2015     {
    2016       get
    2017       {
    2018         return this._RequiredPlugins;
    2019       }
    2020       set
    2021       {
    2022         this._RequiredPlugins.Assign(value);
     3680    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     3681    public System.Guid ResourceId
     3682    {
     3683      get
     3684      {
     3685        return this._ResourceId;
     3686      }
     3687      set
     3688      {
     3689        if ((this._ResourceId != value))
     3690        {
     3691          if (this._Resource.HasLoadedOrAssignedValue)
     3692          {
     3693            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3694          }
     3695          this.OnResourceIdChanging(value);
     3696          this.SendPropertyChanging();
     3697          this._ResourceId = value;
     3698          this.SendPropertyChanged("ResourceId");
     3699          this.OnResourceIdChanged();
     3700        }
     3701      }
     3702    }
     3703   
     3704    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GrantedUserId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     3705    public System.Guid GrantedUserId
     3706    {
     3707      get
     3708      {
     3709        return this._GrantedUserId;
     3710      }
     3711      set
     3712      {
     3713        if ((this._GrantedUserId != value))
     3714        {
     3715          this.OnGrantedUserIdChanging(value);
     3716          this.SendPropertyChanging();
     3717          this._GrantedUserId = value;
     3718          this.SendPropertyChanged("GrantedUserId");
     3719          this.OnGrantedUserIdChanged();
     3720        }
     3721      }
     3722    }
     3723   
     3724    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GrantedByUserId", DbType="UniqueIdentifier NOT NULL")]
     3725    public System.Guid GrantedByUserId
     3726    {
     3727      get
     3728      {
     3729        return this._GrantedByUserId;
     3730      }
     3731      set
     3732      {
     3733        if ((this._GrantedByUserId != value))
     3734        {
     3735          this.OnGrantedByUserIdChanging(value);
     3736          this.SendPropertyChanging();
     3737          this._GrantedByUserId = value;
     3738          this.SendPropertyChanged("GrantedByUserId");
     3739          this.OnGrantedByUserIdChanged();
     3740        }
     3741      }
     3742    }
     3743   
     3744    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_ResourcePermission", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true)]
     3745    public Resource Resource
     3746    {
     3747      get
     3748      {
     3749        return this._Resource.Entity;
     3750      }
     3751      set
     3752      {
     3753        Resource previousValue = this._Resource.Entity;
     3754        if (((previousValue != value)
     3755              || (this._Resource.HasLoadedOrAssignedValue == false)))
     3756        {
     3757          this.SendPropertyChanging();
     3758          if ((previousValue != null))
     3759          {
     3760            this._Resource.Entity = null;
     3761            previousValue.ResourcePermissions.Remove(this);
     3762          }
     3763          this._Resource.Entity = value;
     3764          if ((value != null))
     3765          {
     3766            value.ResourcePermissions.Add(this);
     3767            this._ResourceId = value.ResourceId;
     3768          }
     3769          else
     3770          {
     3771            this._ResourceId = default(System.Guid);
     3772          }
     3773          this.SendPropertyChanged("Resource");
     3774        }
    20233775      }
    20243776    }
     
    20423794        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    20433795      }
    2044     }
    2045    
    2046     private void attach_PluginDatas(PluginData entity)
    2047     {
    2048       this.SendPropertyChanging();
    2049       entity.Plugin = this;
    2050     }
    2051    
    2052     private void detach_PluginDatas(PluginData entity)
    2053     {
    2054       this.SendPropertyChanging();
    2055       entity.Plugin = null;
    2056     }
    2057    
    2058     private void attach_RequiredPlugins(RequiredPlugin entity)
    2059     {
    2060       this.SendPropertyChanging();
    2061       entity.Plugin = this;
    2062     }
    2063    
    2064     private void detach_RequiredPlugins(RequiredPlugin entity)
    2065     {
    2066       this.SendPropertyChanging();
    2067       entity.Plugin = null;
    20683796    }
    20693797  }
    20703798 
    2071   [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.PluginData")]
    2072   public partial class PluginData : INotifyPropertyChanging, INotifyPropertyChanged
     3799  [global::System.Data.Linq.Mapping.TableAttribute(Name="")]
     3800  public partial class UserPriority : INotifyPropertyChanging, INotifyPropertyChanged
    20733801  {
    20743802   
    20753803    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
    20763804   
    2077     private System.Guid _PluginDataId;
    2078    
    2079     private System.Guid _PluginId;
    2080    
    2081     private System.Data.Linq.Binary _Data;
    2082    
    2083     private string _FileName;
    2084    
    2085     private EntityRef<Plugin> _Plugin;
     3805    private System.Guid _UserId;
     3806   
     3807    private System.DateTime _DateEnqueued;
    20863808   
    20873809    #region Extensibility Method Definitions
     
    20893811    partial void OnValidate(System.Data.Linq.ChangeAction action);
    20903812    partial void OnCreated();
    2091     partial void OnPluginDataIdChanging(System.Guid value);
    2092     partial void OnPluginDataIdChanged();
    2093     partial void OnPluginIdChanging(System.Guid value);
    2094     partial void OnPluginIdChanged();
    2095     partial void OnDataChanging(System.Data.Linq.Binary value);
    2096     partial void OnDataChanged();
    2097     partial void OnFileNameChanging(string value);
    2098     partial void OnFileNameChanged();
     3813    partial void OnUserIdChanging(System.Guid value);
     3814    partial void OnUserIdChanged();
     3815    partial void OnDateEnqueuedChanging(System.DateTime value);
     3816    partial void OnDateEnqueuedChanged();
    20993817    #endregion
    21003818   
    2101     public PluginData()
    2102     {
    2103       this._Plugin = default(EntityRef<Plugin>);
     3819    public UserPriority()
     3820    {
    21043821      OnCreated();
    21053822    }
    21063823   
    2107     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PluginDataId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
    2108     public System.Guid PluginDataId
    2109     {
    2110       get
    2111       {
    2112         return this._PluginDataId;
    2113       }
    2114       set
    2115       {
    2116         if ((this._PluginDataId != value))
    2117         {
    2118           this.OnPluginDataIdChanging(value);
    2119           this.SendPropertyChanging();
    2120           this._PluginDataId = value;
    2121           this.SendPropertyChanged("PluginDataId");
    2122           this.OnPluginDataIdChanged();
    2123         }
    2124       }
    2125     }
    2126    
    2127     [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PluginId", DbType="UniqueIdentifier NOT NULL")]
    2128     public System.Guid PluginId
    2129     {
    2130       get
    2131       {
    2132         return this._PluginId;
    2133       }
    2134       set
    2135       {
    2136         if ((this._PluginId != value))
    2137         {
    2138           if (this._Plugin.HasLoadedOrAssignedValue)
     3824    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     3825    public System.Guid UserId
     3826    {
     3827      get
     3828      {
     3829        return this._UserId;
     3830      }
     3831      set
     3832      {
     3833        if ((this._UserId != value))
     3834        {
     3835          this.OnUserIdChanging(value);
     3836          this.SendPropertyChanging();
     3837          this._UserId = value;
     3838          this.SendPropertyChanged("UserId");
     3839          this.OnUserIdChanged();
     3840        }
     3841      }
     3842    }
     3843   
     3844    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateEnqueued", DbType="DateTime NOT NULL")]
     3845    public System.DateTime DateEnqueued
     3846    {
     3847      get
     3848      {
     3849        return this._DateEnqueued;
     3850      }
     3851      set
     3852      {
     3853        if ((this._DateEnqueued != value))
     3854        {
     3855          this.OnDateEnqueuedChanging(value);
     3856          this.SendPropertyChanging();
     3857          this._DateEnqueued = value;
     3858          this.SendPropertyChanged("DateEnqueued");
     3859          this.OnDateEnqueuedChanged();
     3860        }
     3861      }
     3862    }
     3863   
     3864    public event PropertyChangingEventHandler PropertyChanging;
     3865   
     3866    public event PropertyChangedEventHandler PropertyChanged;
     3867   
     3868    protected virtual void SendPropertyChanging()
     3869    {
     3870      if ((this.PropertyChanging != null))
     3871      {
     3872        this.PropertyChanging(this, emptyChangingEventArgs);
     3873      }
     3874    }
     3875   
     3876    protected virtual void SendPropertyChanged(String propertyName)
     3877    {
     3878      if ((this.PropertyChanged != null))
     3879      {
     3880        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     3881      }
     3882    }
     3883  }
     3884 
     3885  [global::System.Data.Linq.Mapping.TableAttribute(Name="[statistics].DimClient")]
     3886  public partial class DimClient : INotifyPropertyChanging, INotifyPropertyChanged
     3887  {
     3888   
     3889    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     3890   
     3891    private System.Guid _Id;
     3892   
     3893    private string _Name;
     3894   
     3895    private System.Guid _ResourceId;
     3896   
     3897    private System.Nullable<System.DateTime> _ExpirationTime;
     3898   
     3899    private System.Nullable<System.Guid> _ResourceGroupId;
     3900   
     3901    private System.Nullable<System.Guid> _ResourceGroup2Id;
     3902   
     3903    private string _GroupName;
     3904   
     3905    private string _GroupName2;
     3906   
     3907    private EntitySet<FactTask> _FactTasks;
     3908   
     3909    private EntitySet<FactClientInfo> _FactClientInfos;
     3910   
     3911    #region Extensibility Method Definitions
     3912    partial void OnLoaded();
     3913    partial void OnValidate(System.Data.Linq.ChangeAction action);
     3914    partial void OnCreated();
     3915    partial void OnIdChanging(System.Guid value);
     3916    partial void OnIdChanged();
     3917    partial void OnNameChanging(string value);
     3918    partial void OnNameChanged();
     3919    partial void OnResourceIdChanging(System.Guid value);
     3920    partial void OnResourceIdChanged();
     3921    partial void OnExpirationTimeChanging(System.Nullable<System.DateTime> value);
     3922    partial void OnExpirationTimeChanged();
     3923    partial void OnResourceGroupIdChanging(System.Nullable<System.Guid> value);
     3924    partial void OnResourceGroupIdChanged();
     3925    partial void OnResourceGroup2IdChanging(System.Nullable<System.Guid> value);
     3926    partial void OnResourceGroup2IdChanged();
     3927    partial void OnGroupNameChanging(string value);
     3928    partial void OnGroupNameChanged();
     3929    partial void OnGroupName2Changing(string value);
     3930    partial void OnGroupName2Changed();
     3931    #endregion
     3932   
     3933    public DimClient()
     3934    {
     3935      this._FactTasks = new EntitySet<FactTask>(new Action<FactTask>(this.attach_FactTasks), new Action<FactTask>(this.detach_FactTasks));
     3936      this._FactClientInfos = new EntitySet<FactClientInfo>(new Action<FactClientInfo>(this.attach_FactClientInfos), new Action<FactClientInfo>(this.detach_FactClientInfos));
     3937      OnCreated();
     3938    }
     3939   
     3940    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
     3941    public System.Guid Id
     3942    {
     3943      get
     3944      {
     3945        return this._Id;
     3946      }
     3947      set
     3948      {
     3949        if ((this._Id != value))
     3950        {
     3951          this.OnIdChanging(value);
     3952          this.SendPropertyChanging();
     3953          this._Id = value;
     3954          this.SendPropertyChanged("Id");
     3955          this.OnIdChanged();
     3956        }
     3957      }
     3958    }
     3959   
     3960    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX) NOT NULL", CanBeNull=false)]
     3961    public string Name
     3962    {
     3963      get
     3964      {
     3965        return this._Name;
     3966      }
     3967      set
     3968      {
     3969        if ((this._Name != value))
     3970        {
     3971          this.OnNameChanging(value);
     3972          this.SendPropertyChanging();
     3973          this._Name = value;
     3974          this.SendPropertyChanged("Name");
     3975          this.OnNameChanged();
     3976        }
     3977      }
     3978    }
     3979   
     3980    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL")]
     3981    public System.Guid ResourceId
     3982    {
     3983      get
     3984      {
     3985        return this._ResourceId;
     3986      }
     3987      set
     3988      {
     3989        if ((this._ResourceId != value))
     3990        {
     3991          this.OnResourceIdChanging(value);
     3992          this.SendPropertyChanging();
     3993          this._ResourceId = value;
     3994          this.SendPropertyChanged("ResourceId");
     3995          this.OnResourceIdChanged();
     3996        }
     3997      }
     3998    }
     3999   
     4000    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExpirationTime", DbType="DateTime")]
     4001    public System.Nullable<System.DateTime> ExpirationTime
     4002    {
     4003      get
     4004      {
     4005        return this._ExpirationTime;
     4006      }
     4007      set
     4008      {
     4009        if ((this._ExpirationTime != value))
     4010        {
     4011          this.OnExpirationTimeChanging(value);
     4012          this.SendPropertyChanging();
     4013          this._ExpirationTime = value;
     4014          this.SendPropertyChanged("ExpirationTime");
     4015          this.OnExpirationTimeChanged();
     4016        }
     4017      }
     4018    }
     4019   
     4020    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceGroupId", DbType="UniqueIdentifier")]
     4021    public System.Nullable<System.Guid> ResourceGroupId
     4022    {
     4023      get
     4024      {
     4025        return this._ResourceGroupId;
     4026      }
     4027      set
     4028      {
     4029        if ((this._ResourceGroupId != value))
     4030        {
     4031          this.OnResourceGroupIdChanging(value);
     4032          this.SendPropertyChanging();
     4033          this._ResourceGroupId = value;
     4034          this.SendPropertyChanged("ResourceGroupId");
     4035          this.OnResourceGroupIdChanged();
     4036        }
     4037      }
     4038    }
     4039   
     4040    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceGroup2Id", DbType="UniqueIdentifier")]
     4041    public System.Nullable<System.Guid> ResourceGroup2Id
     4042    {
     4043      get
     4044      {
     4045        return this._ResourceGroup2Id;
     4046      }
     4047      set
     4048      {
     4049        if ((this._ResourceGroup2Id != value))
     4050        {
     4051          this.OnResourceGroup2IdChanging(value);
     4052          this.SendPropertyChanging();
     4053          this._ResourceGroup2Id = value;
     4054          this.SendPropertyChanged("ResourceGroup2Id");
     4055          this.OnResourceGroup2IdChanged();
     4056        }
     4057      }
     4058    }
     4059   
     4060    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GroupName")]
     4061    public string GroupName
     4062    {
     4063      get
     4064      {
     4065        return this._GroupName;
     4066      }
     4067      set
     4068      {
     4069        if ((this._GroupName != value))
     4070        {
     4071          this.OnGroupNameChanging(value);
     4072          this.SendPropertyChanging();
     4073          this._GroupName = value;
     4074          this.SendPropertyChanged("GroupName");
     4075          this.OnGroupNameChanged();
     4076        }
     4077      }
     4078    }
     4079   
     4080    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GroupName2")]
     4081    public string GroupName2
     4082    {
     4083      get
     4084      {
     4085        return this._GroupName2;
     4086      }
     4087      set
     4088      {
     4089        if ((this._GroupName2 != value))
     4090        {
     4091          this.OnGroupName2Changing(value);
     4092          this.SendPropertyChanging();
     4093          this._GroupName2 = value;
     4094          this.SendPropertyChanged("GroupName2");
     4095          this.OnGroupName2Changed();
     4096        }
     4097      }
     4098    }
     4099   
     4100    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimClient_FactTask", Storage="_FactTasks", ThisKey="Id", OtherKey="LastClientId")]
     4101    public EntitySet<FactTask> FactTasks
     4102    {
     4103      get
     4104      {
     4105        return this._FactTasks;
     4106      }
     4107      set
     4108      {
     4109        this._FactTasks.Assign(value);
     4110      }
     4111    }
     4112   
     4113    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimClient_FactClientInfo", Storage="_FactClientInfos", ThisKey="Id", OtherKey="ClientId")]
     4114    public EntitySet<FactClientInfo> FactClientInfos
     4115    {
     4116      get
     4117      {
     4118        return this._FactClientInfos;
     4119      }
     4120      set
     4121      {
     4122        this._FactClientInfos.Assign(value);
     4123      }
     4124    }
     4125   
     4126    public event PropertyChangingEventHandler PropertyChanging;
     4127   
     4128    public event PropertyChangedEventHandler PropertyChanged;
     4129   
     4130    protected virtual void SendPropertyChanging()
     4131    {
     4132      if ((this.PropertyChanging != null))
     4133      {
     4134        this.PropertyChanging(this, emptyChangingEventArgs);
     4135      }
     4136    }
     4137   
     4138    protected virtual void SendPropertyChanged(String propertyName)
     4139    {
     4140      if ((this.PropertyChanged != null))
     4141      {
     4142        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     4143      }
     4144    }
     4145   
     4146    private void attach_FactTasks(FactTask entity)
     4147    {
     4148      this.SendPropertyChanging();
     4149      entity.DimClient = this;
     4150    }
     4151   
     4152    private void detach_FactTasks(FactTask entity)
     4153    {
     4154      this.SendPropertyChanging();
     4155      entity.DimClient = null;
     4156    }
     4157   
     4158    private void attach_FactClientInfos(FactClientInfo entity)
     4159    {
     4160      this.SendPropertyChanging();
     4161      entity.DimClient = this;
     4162    }
     4163   
     4164    private void detach_FactClientInfos(FactClientInfo entity)
     4165    {
     4166      this.SendPropertyChanging();
     4167      entity.DimClient = null;
     4168    }
     4169  }
     4170 
     4171  [global::System.Data.Linq.Mapping.TableAttribute(Name="[statistics].FactTask")]
     4172  public partial class FactTask : INotifyPropertyChanging, INotifyPropertyChanged
     4173  {
     4174   
     4175    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     4176   
     4177    private System.Guid _TaskId;
     4178   
     4179    private long _TotalRuntime;
     4180   
     4181    private long _TotalWaitingTime;
     4182   
     4183    private long _TotalTransferTime;
     4184   
     4185    private int _NumCalculationRuns;
     4186   
     4187    private int _NumFails;
     4188   
     4189    private int _CoresRequired;
     4190   
     4191    private int _MemoryRequired;
     4192   
     4193    private int _Priority;
     4194   
     4195    private System.Nullable<System.Guid> _LastClientId;
     4196   
     4197    private System.Guid _JobId;
     4198   
     4199    private System.Nullable<System.DateTime> _EndTime;
     4200   
     4201    private global::HeuristicLab.Services.Hive.DataAccess.TaskState _TaskState;
     4202   
     4203    private string _Exception;
     4204   
     4205    private long _InitialWaitingTimeMs;
     4206   
     4207    private System.Nullable<System.DateTime> _StartTime;
     4208   
     4209    private EntityRef<DimClient> _DimClient;
     4210   
     4211    private EntityRef<DimJob> _DimJob;
     4212   
     4213    #region Extensibility Method Definitions
     4214    partial void OnLoaded();
     4215    partial void OnValidate(System.Data.Linq.ChangeAction action);
     4216    partial void OnCreated();
     4217    partial void OnTaskIdChanging(System.Guid value);
     4218    partial void OnTaskIdChanged();
     4219    partial void OnCalculatingTimeChanging(long value);
     4220    partial void OnCalculatingTimeChanged();
     4221    partial void OnWaitingTimeChanging(long value);
     4222    partial void OnWaitingTimeChanged();
     4223    partial void OnTransferTimeChanging(long value);
     4224    partial void OnTransferTimeChanged();
     4225    partial void OnNumCalculationRunsChanging(int value);
     4226    partial void OnNumCalculationRunsChanged();
     4227    partial void OnNumRetriesChanging(int value);
     4228    partial void OnNumRetriesChanged();
     4229    partial void OnCoresRequiredChanging(int value);
     4230    partial void OnCoresRequiredChanged();
     4231    partial void OnMemoryRequiredChanging(int value);
     4232    partial void OnMemoryRequiredChanged();
     4233    partial void OnPriorityChanging(int value);
     4234    partial void OnPriorityChanged();
     4235    partial void OnLastClientIdChanging(System.Nullable<System.Guid> value);
     4236    partial void OnLastClientIdChanged();
     4237    partial void OnJobIdChanging(System.Guid value);
     4238    partial void OnJobIdChanged();
     4239    partial void OnEndTimeChanging(System.Nullable<System.DateTime> value);
     4240    partial void OnEndTimeChanged();
     4241    partial void OnTaskStateChanging(global::HeuristicLab.Services.Hive.DataAccess.TaskState value);
     4242    partial void OnTaskStateChanged();
     4243    partial void OnExceptionChanging(string value);
     4244    partial void OnExceptionChanged();
     4245    partial void OnInitialWaitingTimeChanging(long value);
     4246    partial void OnInitialWaitingTimeChanged();
     4247    partial void OnStartTimeChanging(System.Nullable<System.DateTime> value);
     4248    partial void OnStartTimeChanged();
     4249    #endregion
     4250   
     4251    public FactTask()
     4252    {
     4253      this._DimClient = default(EntityRef<DimClient>);
     4254      this._DimJob = default(EntityRef<DimJob>);
     4255      OnCreated();
     4256    }
     4257   
     4258    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TaskId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     4259    public System.Guid TaskId
     4260    {
     4261      get
     4262      {
     4263        return this._TaskId;
     4264      }
     4265      set
     4266      {
     4267        if ((this._TaskId != value))
     4268        {
     4269          this.OnTaskIdChanging(value);
     4270          this.SendPropertyChanging();
     4271          this._TaskId = value;
     4272          this.SendPropertyChanged("TaskId");
     4273          this.OnTaskIdChanged();
     4274        }
     4275      }
     4276    }
     4277   
     4278    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalRuntime", DbType="INT NOT NULL")]
     4279    public long CalculatingTime
     4280    {
     4281      get
     4282      {
     4283        return this._TotalRuntime;
     4284      }
     4285      set
     4286      {
     4287        if ((this._TotalRuntime != value))
     4288        {
     4289          this.OnCalculatingTimeChanging(value);
     4290          this.SendPropertyChanging();
     4291          this._TotalRuntime = value;
     4292          this.SendPropertyChanged("CalculatingTime");
     4293          this.OnCalculatingTimeChanged();
     4294        }
     4295      }
     4296    }
     4297   
     4298    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalWaitingTime", DbType="INT NOT NULL")]
     4299    public long WaitingTime
     4300    {
     4301      get
     4302      {
     4303        return this._TotalWaitingTime;
     4304      }
     4305      set
     4306      {
     4307        if ((this._TotalWaitingTime != value))
     4308        {
     4309          this.OnWaitingTimeChanging(value);
     4310          this.SendPropertyChanging();
     4311          this._TotalWaitingTime = value;
     4312          this.SendPropertyChanged("WaitingTime");
     4313          this.OnWaitingTimeChanged();
     4314        }
     4315      }
     4316    }
     4317   
     4318    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalTransferTime", DbType="INT NOT NULL")]
     4319    public long TransferTime
     4320    {
     4321      get
     4322      {
     4323        return this._TotalTransferTime;
     4324      }
     4325      set
     4326      {
     4327        if ((this._TotalTransferTime != value))
     4328        {
     4329          this.OnTransferTimeChanging(value);
     4330          this.SendPropertyChanging();
     4331          this._TotalTransferTime = value;
     4332          this.SendPropertyChanged("TransferTime");
     4333          this.OnTransferTimeChanged();
     4334        }
     4335      }
     4336    }
     4337   
     4338    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumCalculationRuns", DbType="Int NOT NULL")]
     4339    public int NumCalculationRuns
     4340    {
     4341      get
     4342      {
     4343        return this._NumCalculationRuns;
     4344      }
     4345      set
     4346      {
     4347        if ((this._NumCalculationRuns != value))
     4348        {
     4349          this.OnNumCalculationRunsChanging(value);
     4350          this.SendPropertyChanging();
     4351          this._NumCalculationRuns = value;
     4352          this.SendPropertyChanged("NumCalculationRuns");
     4353          this.OnNumCalculationRunsChanged();
     4354        }
     4355      }
     4356    }
     4357   
     4358    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumFails", DbType="Int NOT NULL")]
     4359    public int NumRetries
     4360    {
     4361      get
     4362      {
     4363        return this._NumFails;
     4364      }
     4365      set
     4366      {
     4367        if ((this._NumFails != value))
     4368        {
     4369          this.OnNumRetriesChanging(value);
     4370          this.SendPropertyChanging();
     4371          this._NumFails = value;
     4372          this.SendPropertyChanged("NumRetries");
     4373          this.OnNumRetriesChanged();
     4374        }
     4375      }
     4376    }
     4377   
     4378    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CoresRequired", DbType="Int NOT NULL")]
     4379    public int CoresRequired
     4380    {
     4381      get
     4382      {
     4383        return this._CoresRequired;
     4384      }
     4385      set
     4386      {
     4387        if ((this._CoresRequired != value))
     4388        {
     4389          this.OnCoresRequiredChanging(value);
     4390          this.SendPropertyChanging();
     4391          this._CoresRequired = value;
     4392          this.SendPropertyChanged("CoresRequired");
     4393          this.OnCoresRequiredChanged();
     4394        }
     4395      }
     4396    }
     4397   
     4398    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MemoryRequired", DbType="Int NOT NULL")]
     4399    public int MemoryRequired