Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/29/12 14:04:59 (12 years ago)
Author:
jkarder
Message:

#1860:

  • integrated owner attribute (OwnerUserId) into the Hive components
  • adjusted database scheme
  • adjusted service methods
Location:
trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml

    r7862 r7916  
    3737      <Column Name="ParentResourceId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    3838      <Column Name="HbInterval" Type="System.Int32" DbType="Int" CanBeNull="false" />
     39      <Column Name="OwnerUserId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
    3940      <Association Name="Resource_AssignedResource" Member="AssignedResources" ThisKey="ResourceId" OtherKey="ResourceId" Type="AssignedResource" />
    4041      <Association Name="Resource_Resource" Member="ChildResources" ThisKey="ResourceId" OtherKey="ParentResourceId" Type="Resource" />
    4142      <Association Name="Resource_Downtime" Member="Downtimes" Storage="_UptimeCalendars" ThisKey="ResourceId" OtherKey="ResourceId" Type="Downtime" />
    4243      <Association Name="Resource_StateLog" Member="StateLogs" ThisKey="ResourceId" OtherKey="SlaveId" Type="StateLog" />
     44      <Association Name="Resource_SlavePermission" Member="ResourcePermissions" ThisKey="ResourceId" OtherKey="ResourceId" Type="ResourcePermission" />
    4345      <Association Name="Resource_Resource" Member="ParentResource" ThisKey="ParentResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" />
    4446      <Type Name="Slave" InheritanceCode="Slave" IsInheritanceDefault="true">
     
    193195    </Type>
    194196  </Table>
     197  <Table Name="dbo.ResourcePermission" Member="ResourcePermissions">
     198    <Type Name="ResourcePermission">
     199      <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     200      <Column Name="GrantedUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     201      <Column Name="GrantedByUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     202      <Association Name="Resource_SlavePermission" Member="Resource" ThisKey="ResourceId" OtherKey="ResourceId" Type="Resource" IsForeignKey="true" />
     203    </Type>
     204  </Table>
    195205</Database>
  • trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout

    r7862 r7916  
    33  <DataContextMoniker Name="/HiveDataContext" />
    44  <nestedChildShapes>
    5     <classShape Id="a929c9dc-69f4-4488-ba1c-a2342bf81d89" absoluteBounds="8.875, 4.25, 2, 1.1939925130208327">
     5    <classShape Id="a929c9dc-69f4-4488-ba1c-a2342bf81d89" absoluteBounds="8.875, 4.5, 2, 1.1939925130208327">
    66      <DataClassMoniker Name="/HiveDataContext/AssignedResource" />
    77      <nestedChildShapes>
    8         <elementListCompartment Id="8b005775-f0ee-41b0-ae10-6d1151003708" absoluteBounds="8.89, 4.7100000000000009, 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.625, 2, 1.9631982421874996">
     8        <elementListCompartment Id="8b005775-f0ee-41b0-ae10-6d1151003708" absoluteBounds="8.89, 4.9600000000000009, 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">
    1212      <DataClassMoniker Name="/HiveDataContext/Plugin" />
    1313      <nestedChildShapes>
    14         <elementListCompartment Id="ec4ba325-6dff-4418-baad-59af81ae2024" absoluteBounds="8.89, 6.0850000000000009, 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.625, 2, 1.3862939453124987">
     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.3862939453124987">
    1818      <DataClassMoniker Name="/HiveDataContext/RequiredPlugin" />
    1919      <nestedChildShapes>
    20         <elementListCompartment Id="df6451e5-069e-4ca0-a909-61b8213b5047" absoluteBounds="6.5150000000000006, 6.0850000000000009, 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.7708968098958331">
     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">
    2424      <DataClassMoniker Name="/HiveDataContext/Resource" />
    2525      <nestedChildShapes>
    26         <elementListCompartment Id="8c24f5bf-2164-4d0f-832e-1730eb0066df" absoluteBounds="11.265, 1.46, 1.9700000000000002, 1.2108968098958333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     26        <elementListCompartment Id="8c24f5bf-2164-4d0f-832e-1730eb0066df" absoluteBounds="11.265, 1.46, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    2727      </nestedChildShapes>
    2828    </classShape>
     
    5757      </nestedChildShapes>
    5858    </classShape>
    59     <inheritanceConnector edgePoints="[(11.25 : 1.88544840494792); (10.875 : 1.88544840494792)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     59    <inheritanceConnector edgePoints="[(11.25 : 1.98159912109375); (10.875 : 1.98159912109375)]" fixedFrom="Algorithm" fixedTo="Algorithm" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
    6060      <nodes>
    6161        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     
    6363      </nodes>
    6464    </inheritanceConnector>
    65     <inheritanceConnector edgePoints="[(13.25 : 1.40469482421875); (13.5 : 1.40469482421875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     65    <inheritanceConnector edgePoints="[(13.25 : 1.40469482421875); (13.5 : 1.40469482421875)]" fixedFrom="Algorithm" fixedTo="Algorithm" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
    6666      <nodes>
    6767        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     
    6969      </nodes>
    7070    </inheritanceConnector>
    71     <associationConnector edgePoints="[(11.92578 : 2.77089680989583); (11.92578 : 4.84699625651042); (10.875 : 4.84699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     71    <associationConnector edgePoints="[(11.8134963640734 : 2.9631982421875); (11.8134963640734 : 3.56770833333333); (11.1119791666667 : 3.56770833333333); (11.1119791666667 : 5.09699625651042); (10.875 : 5.09699625651042)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
    7272      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_AssignedResource" />
    7373      <nodes>
     
    8282      </nestedChildShapes>
    8383    </classShape>
    84     <classShape Id="ad25bd0f-80e8-4a06-abd8-190eb678eec7" absoluteBounds="11.25, 5.625, 2, 1.5785953776041666">
     84    <classShape Id="ad25bd0f-80e8-4a06-abd8-190eb678eec7" absoluteBounds="11.25, 5.875, 2, 1.5785953776041666">
    8585      <DataClassMoniker Name="/HiveDataContext/PluginData" />
    8686      <nestedChildShapes>
    87         <elementListCompartment Id="acddb513-7de6-4bb4-8335-d6982fb2ef35" absoluteBounds="11.265, 6.0850000000000009, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    88       </nestedChildShapes>
    89     </classShape>
    90     <associationConnector edgePoints="[(10.875 : 6.41429768880208); (11.25 : 6.41429768880208)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     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">
    9191      <AssociationMoniker Name="/HiveDataContext/Plugin/Plugin_PluginData" />
    9292      <nodes>
     
    9595      </nodes>
    9696    </associationConnector>
    97     <associationConnector edgePoints="[(8.875 : 6.31814697265625); (8.5 : 6.31814697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     97    <associationConnector edgePoints="[(8.875 : 6.56814697265625); (8.5 : 6.56814697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    9898      <AssociationMoniker Name="/HiveDataContext/Plugin/Plugin_RequiredPlugin" />
    9999      <nodes>
     
    102102      </nodes>
    103103    </associationConnector>
    104     <associationConnector edgePoints="[(13.25 : 1.62798725335537); (13.5 : 1.62798725335537); (13.5 : 2.1551696113782); (13.25 : 2.1551696113782)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     104    <associationConnector edgePoints="[(11.9586362792969 : 1); (11.9586362792969 : 0.75); (12.5552381835937 : 0.75); (12.5552381835937 : 1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    105105      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_Resource" />
    106106      <nodes>
     
    121121      </nestedChildShapes>
    122122    </classShape>
    123     <associationConnector edgePoints="[(11.25 : 1.41147220247396); (10.9375 : 1.41147220247396); (10.9375 : 0.6875); (2.75 : 0.6875); (2.75 : 1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     123    <associationConnector edgePoints="[(11.25 : 1.45954756054688); (10.9375 : 1.45954756054688); (10.9375 : 0.6875); (2.75 : 0.6875); (2.75 : 1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    124124      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_StateLog" />
    125125      <nodes>
     
    172172      </nodes>
    173173    </associationConnector>
    174     <associationConnector edgePoints="[(12.664065 : 2.77089680989583); (12.664065 : 3.7131987421875); (13.5 : 3.7131987421875)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     174    <associationConnector edgePoints="[(13.25 : 2.73159912109375); (13.5 : 2.73159912109375)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    175175      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_Downtime" />
    176176      <nodes>
     
    179179      </nodes>
    180180    </associationConnector>
    181     <associationConnector edgePoints="[(7.5 : 4.30930826822917); (7.5 : 4.876650890625); (7.97916666666667 : 4.876650890625 : JumpStart); (8.14583333333333 : 4.876650890625 : JumpEnd); (8.875 : 4.876650890625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     181    <associationConnector edgePoints="[(7.96163946463664 : 4.30930826822917); (7.96163946463664 : 5.09699625651042); (8.875 : 5.09699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    182182      <AssociationMoniker Name="/HiveDataContext/Task/Task_AssignedResource" />
    183183      <nodes>
     
    186186      </nodes>
    187187    </associationConnector>
    188     <associationConnector edgePoints="[(8.0625 : 4.30930826822917); (8.0625 : 5.625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     188    <associationConnector edgePoints="[(7.16831973231832 : 4.30930826822917); (7.16831973231832 : 5.875)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    189189      <AssociationMoniker Name="/HiveDataContext/Task/Task_RequiredPlugin" />
    190190      <nodes>
     
    228228      </nodes>
    229229    </associationConnector>
     230    <classShape Id="a3f352be-9f15-4e73-8d44-3e8ac02fb4cf" absoluteBounds="11.25, 3.875, 2, 1.3862939453124996">
     231      <DataClassMoniker Name="/HiveDataContext/ResourcePermission" />
     232      <nestedChildShapes>
     233        <elementListCompartment Id="45e2f1a8-8a1e-4647-b649-10ec55976ab4" absoluteBounds="11.265, 4.335, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     234      </nestedChildShapes>
     235    </classShape>
     236    <associationConnector edgePoints="[(12.5942481820367 : 2.9631982421875); (12.5942481820367 : 3.875)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     237      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_SlavePermission" />
     238      <nodes>
     239        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     240        <classShapeMoniker Id="a3f352be-9f15-4e73-8d44-3e8ac02fb4cf" />
     241      </nodes>
     242    </associationConnector>
    230243  </nestedChildShapes>
    231244</ordesignerObjectsDiagram>
  • trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs

    r7862 r7916  
    33// <auto-generated>
    44//     This code was generated by a tool.
    5 //     Runtime Version:4.0.30319.544
     5//     Runtime Version:4.0.30319.269
    66//
    77//     Changes to this file may cause incorrect behavior and will be lost if
     
    7979    partial void UpdateStatistics(Statistics instance);
    8080    partial void DeleteStatistics(Statistics instance);
     81    partial void InsertResourcePermission(ResourcePermission instance);
     82    partial void UpdateResourcePermission(ResourcePermission instance);
     83    partial void DeleteResourcePermission(ResourcePermission instance);
    8184    #endregion
    8285   
     
    236239      {
    237240        return this.GetTable<Statistics>();
     241      }
     242    }
     243   
     244    public System.Data.Linq.Table<ResourcePermission> ResourcePermissions
     245    {
     246      get
     247      {
     248        return this.GetTable<ResourcePermission>();
    238249      }
    239250    }
     
    857868    private int _HbInterval;
    858869   
     870    private System.Nullable<System.Guid> _OwnerUserId;
     871   
    859872    private EntitySet<AssignedResource> _AssignedResources;
    860873   
     
    864877   
    865878    private EntitySet<StateLog> _StateLogs;
     879   
     880    private EntitySet<ResourcePermission> _ResourcePermissions;
    866881   
    867882    private EntityRef<Resource> _ParentResource;
     
    881896    partial void OnHbIntervalChanging(int value);
    882897    partial void OnHbIntervalChanged();
     898    partial void OnOwnerUserIdChanging(System.Nullable<System.Guid> value);
     899    partial void OnOwnerUserIdChanged();
    883900    #endregion
    884901   
     
    889906      this._UptimeCalendars = new EntitySet<Downtime>(new Action<Downtime>(this.attach_UptimeCalendars), new Action<Downtime>(this.detach_UptimeCalendars));
    890907      this._StateLogs = new EntitySet<StateLog>(new Action<StateLog>(this.attach_StateLogs), new Action<StateLog>(this.detach_StateLogs));
     908      this._ResourcePermissions = new EntitySet<ResourcePermission>(new Action<ResourcePermission>(this.attach_ResourcePermissions), new Action<ResourcePermission>(this.detach_ResourcePermissions));
    891909      this._ParentResource = default(EntityRef<Resource>);
    892910      OnCreated();
     
    9971015    }
    9981016   
     1017    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OwnerUserId", DbType="UniqueIdentifier")]
     1018    public System.Nullable<System.Guid> OwnerUserId
     1019    {
     1020      get
     1021      {
     1022        return this._OwnerUserId;
     1023      }
     1024      set
     1025      {
     1026        if ((this._OwnerUserId != value))
     1027        {
     1028          this.OnOwnerUserIdChanging(value);
     1029          this.SendPropertyChanging();
     1030          this._OwnerUserId = value;
     1031          this.SendPropertyChanged("OwnerUserId");
     1032          this.OnOwnerUserIdChanged();
     1033        }
     1034      }
     1035    }
     1036   
    9991037    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedResource", Storage="_AssignedResources", ThisKey="ResourceId", OtherKey="ResourceId")]
    10001038    public EntitySet<AssignedResource> AssignedResources
     
    10461084      {
    10471085        this._StateLogs.Assign(value);
     1086      }
     1087    }
     1088   
     1089    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_SlavePermission", Storage="_ResourcePermissions", ThisKey="ResourceId", OtherKey="ResourceId")]
     1090    public EntitySet<ResourcePermission> ResourcePermissions
     1091    {
     1092      get
     1093      {
     1094        return this._ResourcePermissions;
     1095      }
     1096      set
     1097      {
     1098        this._ResourcePermissions.Assign(value);
    10481099      }
    10491100    }
     
    11461197   
    11471198    private void detach_StateLogs(StateLog entity)
     1199    {
     1200      this.SendPropertyChanging();
     1201      entity.Resource = null;
     1202    }
     1203   
     1204    private void attach_ResourcePermissions(ResourcePermission entity)
     1205    {
     1206      this.SendPropertyChanging();
     1207      entity.Resource = this;
     1208    }
     1209   
     1210    private void detach_ResourcePermissions(ResourcePermission entity)
    11481211    {
    11491212      this.SendPropertyChanging();
     
    41994262    }
    42004263  }
     4264 
     4265  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ResourcePermission")]
     4266  public partial class ResourcePermission : INotifyPropertyChanging, INotifyPropertyChanged
     4267  {
     4268   
     4269    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     4270   
     4271    private System.Guid _ResourceId;
     4272   
     4273    private System.Guid _GrantedUserId;
     4274   
     4275    private System.Guid _GrantedByUserId;
     4276   
     4277    private EntityRef<Resource> _Resource;
     4278   
     4279    #region Extensibility Method Definitions
     4280    partial void OnLoaded();
     4281    partial void OnValidate(System.Data.Linq.ChangeAction action);
     4282    partial void OnCreated();
     4283    partial void OnResourceIdChanging(System.Guid value);
     4284    partial void OnResourceIdChanged();
     4285    partial void OnGrantedUserIdChanging(System.Guid value);
     4286    partial void OnGrantedUserIdChanged();
     4287    partial void OnGrantedByUserIdChanging(System.Guid value);
     4288    partial void OnGrantedByUserIdChanged();
     4289    #endregion
     4290   
     4291    public ResourcePermission()
     4292    {
     4293      this._Resource = default(EntityRef<Resource>);
     4294      OnCreated();
     4295    }
     4296   
     4297    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     4298    public System.Guid ResourceId
     4299    {
     4300      get
     4301      {
     4302        return this._ResourceId;
     4303      }
     4304      set
     4305      {
     4306        if ((this._ResourceId != value))
     4307        {
     4308          if (this._Resource.HasLoadedOrAssignedValue)
     4309          {
     4310            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     4311          }
     4312          this.OnResourceIdChanging(value);
     4313          this.SendPropertyChanging();
     4314          this._ResourceId = value;
     4315          this.SendPropertyChanged("ResourceId");
     4316          this.OnResourceIdChanged();
     4317        }
     4318      }
     4319    }
     4320   
     4321    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GrantedUserId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     4322    public System.Guid GrantedUserId
     4323    {
     4324      get
     4325      {
     4326        return this._GrantedUserId;
     4327      }
     4328      set
     4329      {
     4330        if ((this._GrantedUserId != value))
     4331        {
     4332          this.OnGrantedUserIdChanging(value);
     4333          this.SendPropertyChanging();
     4334          this._GrantedUserId = value;
     4335          this.SendPropertyChanged("GrantedUserId");
     4336          this.OnGrantedUserIdChanged();
     4337        }
     4338      }
     4339    }
     4340   
     4341    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GrantedByUserId", DbType="UniqueIdentifier NOT NULL")]
     4342    public System.Guid GrantedByUserId
     4343    {
     4344      get
     4345      {
     4346        return this._GrantedByUserId;
     4347      }
     4348      set
     4349      {
     4350        if ((this._GrantedByUserId != value))
     4351        {
     4352          this.OnGrantedByUserIdChanging(value);
     4353          this.SendPropertyChanging();
     4354          this._GrantedByUserId = value;
     4355          this.SendPropertyChanged("GrantedByUserId");
     4356          this.OnGrantedByUserIdChanged();
     4357        }
     4358      }
     4359    }
     4360   
     4361    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_SlavePermission", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true)]
     4362    public Resource Resource
     4363    {
     4364      get
     4365      {
     4366        return this._Resource.Entity;
     4367      }
     4368      set
     4369      {
     4370        Resource previousValue = this._Resource.Entity;
     4371        if (((previousValue != value)
     4372              || (this._Resource.HasLoadedOrAssignedValue == false)))
     4373        {
     4374          this.SendPropertyChanging();
     4375          if ((previousValue != null))
     4376          {
     4377            this._Resource.Entity = null;
     4378            previousValue.ResourcePermissions.Remove(this);
     4379          }
     4380          this._Resource.Entity = value;
     4381          if ((value != null))
     4382          {
     4383            value.ResourcePermissions.Add(this);
     4384            this._ResourceId = value.ResourceId;
     4385          }
     4386          else
     4387          {
     4388            this._ResourceId = default(System.Guid);
     4389          }
     4390          this.SendPropertyChanged("Resource");
     4391        }
     4392      }
     4393    }
     4394   
     4395    public event PropertyChangingEventHandler PropertyChanging;
     4396   
     4397    public event PropertyChangedEventHandler PropertyChanged;
     4398   
     4399    protected virtual void SendPropertyChanging()
     4400    {
     4401      if ((this.PropertyChanging != null))
     4402      {
     4403        this.PropertyChanging(this, emptyChangingEventArgs);
     4404      }
     4405    }
     4406   
     4407    protected virtual void SendPropertyChanged(String propertyName)
     4408    {
     4409      if ((this.PropertyChanged != null))
     4410      {
     4411        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     4412      }
     4413    }
     4414  }
    42014415}
    42024416#pragma warning restore 1591
  • trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql

    r7857 r7916  
    4242  [HbInterval] int NOT NULL,
    4343  [IsDisposable] Bit,
     44  [OwnerUserId] UniqueIdentifier,
    4445  CONSTRAINT [PK_dbo.Resource] PRIMARY KEY ([ResourceId])
     46  )
     47CREATE TABLE [dbo].[ResourcePermission](
     48  [ResourceId] UniqueIdentifier NOT NULL,
     49  [GrantedUserId] UniqueIdentifier NOT NULL,
     50  [GrantedByUserId] UniqueIdentifier NOT NULL,
     51  CONSTRAINT [PK_dbo.ResourcePermission] PRIMARY KEY ([ResourceId], [GrantedUserId])
    4552  )
    4653CREATE TABLE [dbo].[Task](
     
    156163ALTER TABLE [dbo].[Resource]
    157164  ADD CONSTRAINT [Resource_Resource] FOREIGN KEY ([ParentResourceId]) REFERENCES [dbo].[Resource]([ResourceId])
     165ALTER TABLE [dbo].[ResourcePermission]
     166  ADD CONSTRAINT [Resource_ResourcePermission] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId])
    158167ALTER TABLE [dbo].[Task]
    159168  ADD CONSTRAINT [Task_Task] FOREIGN KEY ([ParentTaskId]) REFERENCES [dbo].[Task]([TaskId])
  • trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Prepare Hive Database.sql

    r7814 r7916  
    8383ALTER TABLE [dbo].[JobPermission]  WITH CHECK ADD CONSTRAINT [Job_JobPermission] FOREIGN KEY([JobId])
    8484REFERENCES [dbo].[Job] ([JobId])
     85ON UPDATE CASCADE
     86ON DELETE CASCADE
     87GO
     88
     89ALTER TABLE [dbo].[ResourcePermission]  DROP  CONSTRAINT [Resource_ResourcePermission]
     90ALTER TABLE [dbo].[ResourcePermission]  WITH CHECK ADD CONSTRAINT [Resource_ResourcePermission] FOREIGN KEY([ResourceId])
     91REFERENCES [dbo].[Resource] ([ResourceId])
    8592ON UPDATE CASCADE
    8693ON DELETE CASCADE
Note: See TracChangeset for help on using the changeset viewer.