Changeset 15659
- Timestamp:
- 01/26/18 15:12:14 (7 years ago)
- Location:
- branches/HiveProjectManagement
- Files:
-
- 2 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml
r15644 r15659 208 208 <Column Name="CompletedTasks" Type="System.Int32" DbType="INT NOT NULL" CanBeNull="false" /> 209 209 <Column Name="DateCompleted" Type="System.DateTime" DbType="DateTime NULL" CanBeNull="true" /> 210 <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" /> 210 211 <Association Name="DimJob_FactTask" Member="FactTasks" ThisKey="JobId" OtherKey="JobId" Type="FactTask" /> 212 <Association Name="DimProject_DimJob" Member="DimProject" ThisKey="ProjectId" OtherKey="Id" Type="DimProject" IsForeignKey="true" /> 211 213 </Type> 212 214 </Table> … … 220 222 <Column Name="Minute" Type="System.DateTime" CanBeNull="false" /> 221 223 <Association Name="DimTime_FactClientInfo" Member="FactClientInfos" ThisKey="Time" OtherKey="Time" Type="FactClientInfo" /> 224 <Association Name="DimTime_FactProjectInfo" Member="FactProjectInfos" ThisKey="Time" OtherKey="Time" Type="FactProjectInfo" /> 222 225 </Type> 223 226 </Table> … … 282 285 </Type> 283 286 </Table> 287 <Table Name="" Member="FactProjectInfos"> 288 <Type Name="FactProjectInfo"> 289 <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" /> 290 <Column Name="Time" Type="System.DateTime" DbType="DateTime NOT NULL" IsPrimaryKey="true" CanBeNull="false" /> 291 <Column Name="NumTotalCores" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" /> 292 <Column Name="NumUsedCores" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" /> 293 <Column Name="TotalMemory" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" /> 294 <Column Name="UsedMemory" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" /> 295 <Association Name="DimProject_FactProjectInfo" Member="DimProject" ThisKey="ProjectId" OtherKey="Id" Type="DimProject" IsForeignKey="true" /> 296 <Association Name="DimTime_FactProjectInfo" Member="DimTime" ThisKey="Time" OtherKey="Time" Type="DimTime" IsForeignKey="true" /> 297 </Type> 298 </Table> 299 <Table Name="" Member="DimProjects"> 300 <Type Name="DimProject"> 301 <Column Name="Id" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" /> 302 <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" /> 303 <Column Name="ParentProjectId" Storage="_ParentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="true" /> 304 <Column Name="Name" Type="System.String" CanBeNull="false" /> 305 <Column Name="Description" Type="System.String" CanBeNull="true" /> 306 <Column Name="OwnerUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" /> 307 <Column Name="StartDate" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" /> 308 <Column Name="EndDate" Type="System.DateTime" DbType="DateTime" CanBeNull="true" /> 309 <Column Name="DateCreated" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" /> 310 <Column Name="DateExpired" Type="System.DateTime" DbType="DateTime" CanBeNull="true" /> 311 <Association Name="DimProject_DimJob" Member="DimJobs" ThisKey="Id" OtherKey="ProjectId" Type="DimJob" /> 312 <Association Name="DimProject_FactProjectInfo" Member="FactProjectInfos" ThisKey="Id" OtherKey="ProjectId" Type="FactProjectInfo" /> 313 </Type> 314 </Table> 284 315 </Database> -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout
r15644 r15659 1 1 <?xml version="1.0" encoding="utf-8"?> 2 <ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 16.25, 17.875" name="HiveDataContext">2 <ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 16.25, 23.875" name="HiveDataContext"> 3 3 <DataContextMoniker Name="/HiveDataContext" /> 4 4 <nestedChildShapes> … … 182 182 </nestedChildShapes> 183 183 </classShape> 184 <classShape Id="b5b919c2-4efc-4f09-8f52-9d541a11e961" absoluteBounds=" 4.625, 15.25, 2, 2.3478011067708344">184 <classShape Id="b5b919c2-4efc-4f09-8f52-9d541a11e961" absoluteBounds="5.5, 12.25, 2, 2.3478011067708344"> 185 185 <DataClassMoniker Name="/HiveDataContext/DimClient" /> 186 186 <nestedChildShapes> 187 <elementListCompartment Id="30f62a7b-0b16-404e-b972-fb12bfe978dd" absoluteBounds=" 4.6400000000000006, 15.71, 1.9700000000000002, 1.7878011067708333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />188 </nestedChildShapes> 189 </classShape> 190 <classShape Id="04f52807-ce17-4d65-bd23-cc38c6dfbd7a" absoluteBounds=" 6.875, 11.25, 2, 3.8862125651041666">187 <elementListCompartment Id="30f62a7b-0b16-404e-b972-fb12bfe978dd" absoluteBounds="5.5150000000000006, 12.71, 1.9700000000000002, 1.7878011067708333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> 188 </nestedChildShapes> 189 </classShape> 190 <classShape Id="04f52807-ce17-4d65-bd23-cc38c6dfbd7a" absoluteBounds="8.25, 12.25, 2, 3.8862125651041666"> 191 191 <DataClassMoniker Name="/HiveDataContext/FactTask" /> 192 192 <nestedChildShapes> 193 <elementListCompartment Id="63e3ddcb-a6fe-48e0-a674-e650a55a9f2c" absoluteBounds=" 6.8900000000000006, 11.71, 1.9700000000000002, 3.3262125651041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />194 </nestedChildShapes> 195 </classShape> 196 <classShape Id="e0cb8641-a75e-4b9f-beda-3218c56938b1" absoluteBounds=" 8.125, 8.25, 2, 2.3478011067708344">193 <elementListCompartment Id="63e3ddcb-a6fe-48e0-a674-e650a55a9f2c" absoluteBounds="8.265, 12.71, 1.9700000000000002, 3.3262125651041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> 194 </nestedChildShapes> 195 </classShape> 196 <classShape Id="e0cb8641-a75e-4b9f-beda-3218c56938b1" absoluteBounds="11.125, 12.25, 2, 2.5401025390625005"> 197 197 <DataClassMoniker Name="/HiveDataContext/DimJob" /> 198 198 <nestedChildShapes> 199 <elementListCompartment Id="6b9e8260-7e4b-4357-9c26-eebebfd69504" absoluteBounds=" 8.14, 8.71, 1.9700000000000002, 1.7878011067708333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />200 </nestedChildShapes> 201 </classShape> 202 <classShape Id="a769f2ac-c8e3-4860-baa5-c46f46c38ed8" absoluteBounds=" 3.625, 8.5, 2, 1.9631982421875005">199 <elementListCompartment Id="6b9e8260-7e4b-4357-9c26-eebebfd69504" absoluteBounds="11.14, 12.71, 1.9700000000000002, 1.9801025390625" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> 200 </nestedChildShapes> 201 </classShape> 202 <classShape Id="a769f2ac-c8e3-4860-baa5-c46f46c38ed8" absoluteBounds="10, 21.625, 2, 1.9631982421875005"> 203 203 <DataClassMoniker Name="/HiveDataContext/DimTime" /> 204 204 <nestedChildShapes> 205 <elementListCompartment Id="694c4a5a-20fb-43a9-bc9a-7b59d794a7fb" absoluteBounds=" 3.6399999999999997, 8.96, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />206 </nestedChildShapes> 207 </classShape> 208 <classShape Id="66c34ced-4fdb-4a1d-b8dd-fe094679b7fb" absoluteBounds=" 0.625, 8.875, 2, 1.1939925130208344">205 <elementListCompartment Id="694c4a5a-20fb-43a9-bc9a-7b59d794a7fb" absoluteBounds="10.015, 22.085, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> 206 </nestedChildShapes> 207 </classShape> 208 <classShape Id="66c34ced-4fdb-4a1d-b8dd-fe094679b7fb" absoluteBounds="4.125, 21.625, 2, 1.1939925130208344"> 209 209 <DataClassMoniker Name="/HiveDataContext/DimUser" /> 210 210 <nestedChildShapes> 211 <elementListCompartment Id="6181c560-fc74-4d43-b064-a90032bf17a5" absoluteBounds=" 0.64000000000000012, 9.335, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />212 </nestedChildShapes> 213 </classShape> 214 <classShape Id="053a5cff-b18a-4ee5-8d43-48ed5c5dcfad" absoluteBounds=" 2.625, 11, 2, 3.3093082682291666">211 <elementListCompartment Id="6181c560-fc74-4d43-b064-a90032bf17a5" absoluteBounds="4.1400000000000006, 22.085, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> 212 </nestedChildShapes> 213 </classShape> 214 <classShape Id="053a5cff-b18a-4ee5-8d43-48ed5c5dcfad" absoluteBounds="5.5, 17, 2, 3.3093082682291666"> 215 215 <DataClassMoniker Name="/HiveDataContext/FactClientInfo" /> 216 216 <nestedChildShapes> 217 <elementListCompartment Id="0a1cc913-6636-455c-95b3-302f533527db" absoluteBounds=" 2.6399999999999997, 11.46, 1.9700000000000002, 2.7493082682291665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />218 </nestedChildShapes> 219 </classShape> 220 <associationConnector edgePoints="[( 6.625 : 15.25); (6.875 : 15.1362125651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">217 <elementListCompartment Id="0a1cc913-6636-455c-95b3-302f533527db" absoluteBounds="5.515, 17.46, 1.9700000000000002, 2.7493082682291665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> 218 </nestedChildShapes> 219 </classShape> 220 <associationConnector edgePoints="[(7.5 : 13.4239005533854); (8.25 : 13.4239005533854)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 221 221 <AssociationMoniker Name="/HiveDataContext/DimClient/DimClient_FactTask" /> 222 222 <nodes> … … 225 225 </nodes> 226 226 </associationConnector> 227 <associationConnector edgePoints="[( 8.5 : 10.5978011067708); (8.5 : 11.25)]" fixedFrom="NotFixed" fixedTo="NotFixed">227 <associationConnector edgePoints="[(11.125 : 13.5200512695313); (10.25 : 13.5200512695313)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 228 228 <AssociationMoniker Name="/HiveDataContext/DimJob/DimJob_FactTask" /> 229 229 <nodes> … … 232 232 </nodes> 233 233 </associationConnector> 234 <associationConnector edgePoints="[( 5.6249975 : 15.25); (5.6249975 : 12.6546541341146); (4.625 : 12.6546541341146)]" fixedFrom="NotFixed" fixedTo="NotFixed">234 <associationConnector edgePoints="[(6.5 : 14.5978011067708); (6.5 : 17)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 235 235 <AssociationMoniker Name="/HiveDataContext/DimClient/DimClient_FactClientInfo" /> 236 236 <nodes> … … 239 239 </nodes> 240 240 </associationConnector> 241 <associationConnector edgePoints="[( 4.125 : 10.4631982421875); (4.125 : 11)]" fixedFrom="NotFixed" fixedTo="NotFixed">241 <associationConnector edgePoints="[(11 : 21.625); (11 : 18.6546541341146); (7.5 : 18.6546541341146)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 242 242 <AssociationMoniker Name="/HiveDataContext/DimTime/DimTime_FactClientInfo" /> 243 243 <nodes> … … 246 246 </nodes> 247 247 </associationConnector> 248 <associationConnector edgePoints="[( 1.59375 : 10.0689925130208); (1.59375 : 12.6546541341146); (2.625 : 12.6546541341146)]" fixedFrom="NotFixed" fixedTo="NotFixed">248 <associationConnector edgePoints="[(5.8125 : 21.625); (5.8125 : 20.3093082682292)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 249 249 <AssociationMoniker Name="/HiveDataContext/DimUser/DimUser_FactClientInfo" /> 250 250 <nodes> … … 279 279 </nodes> 280 280 </associationConnector> 281 <associationConnector edgePoints="[(11.25 : 9.42390055338542); ( 10.375 : 9.42390055338542); (10.375 : 8); (4 : 8); (4 : 5.15549967447917); (4.80957165625 : 5.15549967447917); (4.80957165625 : 4.78049967447917)]" fixedFrom="NotFixed" fixedTo="NotFixed">281 <associationConnector edgePoints="[(11.25 : 9.42390055338542); (4 : 9.42390055338542); (4 : 5.28049967447917); (5.125 : 5.28049967447917); (5.125 : 4.78049967447917)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 282 282 <AssociationMoniker Name="/HiveDataContext/Project/Project_Job" /> 283 283 <nodes> … … 306 306 </nestedChildShapes> 307 307 </classShape> 308 <associationConnector edgePoints="[(12.25 : 2.9631982421875); (12.25 : 5.09699625651042); (10.875 : 5.09699625651042)]" fixedFrom=" Algorithm" fixedTo="Algorithm">308 <associationConnector edgePoints="[(12.25 : 2.9631982421875); (12.25 : 5.09699625651042); (10.875 : 5.09699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 309 309 <AssociationMoniker Name="/HiveDataContext/Resource/Resource_AssignedJobResource" /> 310 310 <nodes> … … 313 313 </nodes> 314 314 </associationConnector> 315 <associationConnector edgePoints="[(5. 498537828125 : 4.78049967447917); (5.498537828125 : 5.14024983723958); (7.41666666666667 : 5.14024983723958 : JumpStart); (7.58333333333333 : 5.14024983723958 : JumpEnd); (8.875 : 5.14024983723958)]" fixedFrom="NotFixed" fixedTo="NotFixed">315 <associationConnector edgePoints="[(5.125 : 4.78049967447917); (5.125 : 5.14024983723958); (8.875 : 5.14024983723958)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 316 316 <AssociationMoniker Name="/HiveDataContext/Job/Job_AssignedJobResource" /> 317 317 <nodes> … … 320 320 </nodes> 321 321 </associationConnector> 322 <classShape Id="e261c9ea-27ec-47d1-8e68-aba5f835f0dd" absoluteBounds="13.75, 17, 2, 1.9631982421875023"> 323 <DataClassMoniker Name="/HiveDataContext/FactProjectInfo" /> 324 <nestedChildShapes> 325 <elementListCompartment Id="4ba36f1f-053c-478d-b9b4-d0a2b63c3129" absoluteBounds="13.765, 17.46, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> 326 </nestedChildShapes> 327 </classShape> 328 <classShape Id="55ff3cee-22ff-48f2-a8ff-ccb8e2e84af9" absoluteBounds="13.75, 12.25, 2, 2.73240397135417"> 329 <DataClassMoniker Name="/HiveDataContext/DimProject" /> 330 <nestedChildShapes> 331 <elementListCompartment Id="cf69e9f9-115a-42d8-8d53-761a1edfc941" absoluteBounds="13.765, 12.71, 1.9700000000000002, 2.1724039713541665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> 332 </nestedChildShapes> 333 </classShape> 334 <associationConnector edgePoints="[(14.75 : 14.9824039713542); (14.75 : 17)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 335 <AssociationMoniker Name="/HiveDataContext/DimProject/DimProject_FactProjectInfo" /> 336 <nodes> 337 <classShapeMoniker Id="55ff3cee-22ff-48f2-a8ff-ccb8e2e84af9" /> 338 <classShapeMoniker Id="e261c9ea-27ec-47d1-8e68-aba5f835f0dd" /> 339 </nodes> 340 </associationConnector> 341 <associationConnector edgePoints="[(11.5312525 : 21.625); (11.5312525 : 17.8273270670573); (13.75 : 17.8273270670573)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 342 <AssociationMoniker Name="/HiveDataContext/DimTime/DimTime_FactProjectInfo" /> 343 <nodes> 344 <classShapeMoniker Id="a769f2ac-c8e3-4860-baa5-c46f46c38ed8" /> 345 <classShapeMoniker Id="e261c9ea-27ec-47d1-8e68-aba5f835f0dd" /> 346 </nodes> 347 </associationConnector> 348 <associationConnector edgePoints="[(13.75 : 13.5200512695313); (13.125 : 13.5200512695313)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 349 <AssociationMoniker Name="/HiveDataContext/DimProject/DimProject_DimJob" /> 350 <nodes> 351 <classShapeMoniker Id="55ff3cee-22ff-48f2-a8ff-ccb8e2e84af9" /> 352 <classShapeMoniker Id="e0cb8641-a75e-4b9f-beda-3218c56938b1" /> 353 </nodes> 354 </associationConnector> 322 355 </nestedChildShapes> 323 356 </ordesignerObjectsDiagram> -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs
r15644 r15659 97 97 partial void UpdateAssignedJobResource(AssignedJobResource instance); 98 98 partial void DeleteAssignedJobResource(AssignedJobResource instance); 99 partial void InsertFactProjectInfo(FactProjectInfo instance); 100 partial void UpdateFactProjectInfo(FactProjectInfo instance); 101 partial void DeleteFactProjectInfo(FactProjectInfo instance); 102 partial void InsertDimProject(DimProject instance); 103 partial void UpdateDimProject(DimProject instance); 104 partial void DeleteDimProject(DimProject instance); 99 105 #endregion 100 106 … … 296 302 { 297 303 return this.GetTable<AssignedJobResource>(); 304 } 305 } 306 307 public System.Data.Linq.Table<FactProjectInfo> FactProjectInfos 308 { 309 get 310 { 311 return this.GetTable<FactProjectInfo>(); 312 } 313 } 314 315 public System.Data.Linq.Table<DimProject> DimProjects 316 { 317 get 318 { 319 return this.GetTable<DimProject>(); 298 320 } 299 321 } … … 4505 4527 private System.Nullable<System.DateTime> _DateCompleted; 4506 4528 4529 private System.Guid _ProjectId; 4530 4507 4531 private EntitySet<FactTask> _FactTasks; 4532 4533 private EntityRef<DimProject> _DimProject; 4508 4534 4509 4535 #region Extensibility Method Definitions … … 4527 4553 partial void OnDateCompletedChanging(System.Nullable<System.DateTime> value); 4528 4554 partial void OnDateCompletedChanged(); 4555 partial void OnProjectIdChanging(System.Guid value); 4556 partial void OnProjectIdChanged(); 4529 4557 #endregion 4530 4558 … … 4532 4560 { 4533 4561 this._FactTasks = new EntitySet<FactTask>(new Action<FactTask>(this.attach_FactTasks), new Action<FactTask>(this.detach_FactTasks)); 4562 this._DimProject = default(EntityRef<DimProject>); 4534 4563 OnCreated(); 4535 4564 } … … 4695 4724 } 4696 4725 4726 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="UniqueIdentifier NOT NULL")] 4727 public System.Guid ProjectId 4728 { 4729 get 4730 { 4731 return this._ProjectId; 4732 } 4733 set 4734 { 4735 if ((this._ProjectId != value)) 4736 { 4737 if (this._DimProject.HasLoadedOrAssignedValue) 4738 { 4739 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); 4740 } 4741 this.OnProjectIdChanging(value); 4742 this.SendPropertyChanging(); 4743 this._ProjectId = value; 4744 this.SendPropertyChanged("ProjectId"); 4745 this.OnProjectIdChanged(); 4746 } 4747 } 4748 } 4749 4697 4750 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimJob_FactTask", Storage="_FactTasks", ThisKey="JobId", OtherKey="JobId")] 4698 4751 public EntitySet<FactTask> FactTasks … … 4705 4758 { 4706 4759 this._FactTasks.Assign(value); 4760 } 4761 } 4762 4763 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimProject_DimJob", Storage="_DimProject", ThisKey="ProjectId", OtherKey="Id", IsForeignKey=true)] 4764 public DimProject DimProject 4765 { 4766 get 4767 { 4768 return this._DimProject.Entity; 4769 } 4770 set 4771 { 4772 DimProject previousValue = this._DimProject.Entity; 4773 if (((previousValue != value) 4774 || (this._DimProject.HasLoadedOrAssignedValue == false))) 4775 { 4776 this.SendPropertyChanging(); 4777 if ((previousValue != null)) 4778 { 4779 this._DimProject.Entity = null; 4780 previousValue.DimJobs.Remove(this); 4781 } 4782 this._DimProject.Entity = value; 4783 if ((value != null)) 4784 { 4785 value.DimJobs.Add(this); 4786 this._ProjectId = value.Id; 4787 } 4788 else 4789 { 4790 this._ProjectId = default(System.Guid); 4791 } 4792 this.SendPropertyChanged("DimProject"); 4793 } 4707 4794 } 4708 4795 } … … 4760 4847 4761 4848 private EntitySet<FactClientInfo> _FactClientInfos; 4849 4850 private EntitySet<FactProjectInfo> _FactProjectInfos; 4762 4851 4763 4852 #region Extensibility Method Definitions … … 4782 4871 { 4783 4872 this._FactClientInfos = new EntitySet<FactClientInfo>(new Action<FactClientInfo>(this.attach_FactClientInfos), new Action<FactClientInfo>(this.detach_FactClientInfos)); 4873 this._FactProjectInfos = new EntitySet<FactProjectInfo>(new Action<FactProjectInfo>(this.attach_FactProjectInfos), new Action<FactProjectInfo>(this.detach_FactProjectInfos)); 4784 4874 OnCreated(); 4785 4875 } … … 4918 5008 } 4919 5009 5010 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimTime_FactProjectInfo", Storage="_FactProjectInfos", ThisKey="Time", OtherKey="Time")] 5011 public EntitySet<FactProjectInfo> FactProjectInfos 5012 { 5013 get 5014 { 5015 return this._FactProjectInfos; 5016 } 5017 set 5018 { 5019 this._FactProjectInfos.Assign(value); 5020 } 5021 } 5022 4920 5023 public event PropertyChangingEventHandler PropertyChanging; 4921 5024 … … 4945 5048 4946 5049 private void detach_FactClientInfos(FactClientInfo entity) 5050 { 5051 this.SendPropertyChanging(); 5052 entity.DimTime = null; 5053 } 5054 5055 private void attach_FactProjectInfos(FactProjectInfo entity) 5056 { 5057 this.SendPropertyChanging(); 5058 entity.DimTime = this; 5059 } 5060 5061 private void detach_FactProjectInfos(FactProjectInfo entity) 4947 5062 { 4948 5063 this.SendPropertyChanging(); … … 6239 6354 } 6240 6355 } 6356 6357 [global::System.Data.Linq.Mapping.TableAttribute(Name="")] 6358 public partial class FactProjectInfo : INotifyPropertyChanging, INotifyPropertyChanged 6359 { 6360 6361 private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); 6362 6363 private System.Guid _ProjectId; 6364 6365 private System.DateTime _Time; 6366 6367 private int _NumTotalCores; 6368 6369 private int _NumUsedCores; 6370 6371 private int _TotalMemory; 6372 6373 private int _UsedMemory; 6374 6375 private EntityRef<DimProject> _DimProject; 6376 6377 private EntityRef<DimTime> _DimTime; 6378 6379 #region Extensibility Method Definitions 6380 partial void OnLoaded(); 6381 partial void OnValidate(System.Data.Linq.ChangeAction action); 6382 partial void OnCreated(); 6383 partial void OnProjectIdChanging(System.Guid value); 6384 partial void OnProjectIdChanged(); 6385 partial void OnTimeChanging(System.DateTime value); 6386 partial void OnTimeChanged(); 6387 partial void OnNumTotalCoresChanging(int value); 6388 partial void OnNumTotalCoresChanged(); 6389 partial void OnNumUsedCoresChanging(int value); 6390 partial void OnNumUsedCoresChanged(); 6391 partial void OnTotalMemoryChanging(int value); 6392 partial void OnTotalMemoryChanged(); 6393 partial void OnUsedMemoryChanging(int value); 6394 partial void OnUsedMemoryChanged(); 6395 #endregion 6396 6397 public FactProjectInfo() 6398 { 6399 this._DimProject = default(EntityRef<DimProject>); 6400 this._DimTime = default(EntityRef<DimTime>); 6401 OnCreated(); 6402 } 6403 6404 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)] 6405 public System.Guid ProjectId 6406 { 6407 get 6408 { 6409 return this._ProjectId; 6410 } 6411 set 6412 { 6413 if ((this._ProjectId != value)) 6414 { 6415 if (this._DimProject.HasLoadedOrAssignedValue) 6416 { 6417 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); 6418 } 6419 this.OnProjectIdChanging(value); 6420 this.SendPropertyChanging(); 6421 this._ProjectId = value; 6422 this.SendPropertyChanged("ProjectId"); 6423 this.OnProjectIdChanged(); 6424 } 6425 } 6426 } 6427 6428 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Time", DbType="DateTime NOT NULL", IsPrimaryKey=true)] 6429 public System.DateTime Time 6430 { 6431 get 6432 { 6433 return this._Time; 6434 } 6435 set 6436 { 6437 if ((this._Time != value)) 6438 { 6439 if (this._DimTime.HasLoadedOrAssignedValue) 6440 { 6441 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); 6442 } 6443 this.OnTimeChanging(value); 6444 this.SendPropertyChanging(); 6445 this._Time = value; 6446 this.SendPropertyChanged("Time"); 6447 this.OnTimeChanged(); 6448 } 6449 } 6450 } 6451 6452 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumTotalCores", DbType="Int NOT NULL")] 6453 public int NumTotalCores 6454 { 6455 get 6456 { 6457 return this._NumTotalCores; 6458 } 6459 set 6460 { 6461 if ((this._NumTotalCores != value)) 6462 { 6463 this.OnNumTotalCoresChanging(value); 6464 this.SendPropertyChanging(); 6465 this._NumTotalCores = value; 6466 this.SendPropertyChanged("NumTotalCores"); 6467 this.OnNumTotalCoresChanged(); 6468 } 6469 } 6470 } 6471 6472 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumUsedCores", DbType="Int NOT NULL")] 6473 public int NumUsedCores 6474 { 6475 get 6476 { 6477 return this._NumUsedCores; 6478 } 6479 set 6480 { 6481 if ((this._NumUsedCores != value)) 6482 { 6483 this.OnNumUsedCoresChanging(value); 6484 this.SendPropertyChanging(); 6485 this._NumUsedCores = value; 6486 this.SendPropertyChanged("NumUsedCores"); 6487 this.OnNumUsedCoresChanged(); 6488 } 6489 } 6490 } 6491 6492 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalMemory", DbType="Int NOT NULL")] 6493 public int TotalMemory 6494 { 6495 get 6496 { 6497 return this._TotalMemory; 6498 } 6499 set 6500 { 6501 if ((this._TotalMemory != value)) 6502 { 6503 this.OnTotalMemoryChanging(value); 6504 this.SendPropertyChanging(); 6505 this._TotalMemory = value; 6506 this.SendPropertyChanged("TotalMemory"); 6507 this.OnTotalMemoryChanged(); 6508 } 6509 } 6510 } 6511 6512 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UsedMemory", DbType="Int NOT NULL")] 6513 public int UsedMemory 6514 { 6515 get 6516 { 6517 return this._UsedMemory; 6518 } 6519 set 6520 { 6521 if ((this._UsedMemory != value)) 6522 { 6523 this.OnUsedMemoryChanging(value); 6524 this.SendPropertyChanging(); 6525 this._UsedMemory = value; 6526 this.SendPropertyChanged("UsedMemory"); 6527 this.OnUsedMemoryChanged(); 6528 } 6529 } 6530 } 6531 6532 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimProject_FactProjectInfo", Storage="_DimProject", ThisKey="ProjectId", OtherKey="Id", IsForeignKey=true)] 6533 public DimProject DimProject 6534 { 6535 get 6536 { 6537 return this._DimProject.Entity; 6538 } 6539 set 6540 { 6541 DimProject previousValue = this._DimProject.Entity; 6542 if (((previousValue != value) 6543 || (this._DimProject.HasLoadedOrAssignedValue == false))) 6544 { 6545 this.SendPropertyChanging(); 6546 if ((previousValue != null)) 6547 { 6548 this._DimProject.Entity = null; 6549 previousValue.FactProjectInfos.Remove(this); 6550 } 6551 this._DimProject.Entity = value; 6552 if ((value != null)) 6553 { 6554 value.FactProjectInfos.Add(this); 6555 this._ProjectId = value.Id; 6556 } 6557 else 6558 { 6559 this._ProjectId = default(System.Guid); 6560 } 6561 this.SendPropertyChanged("DimProject"); 6562 } 6563 } 6564 } 6565 6566 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimTime_FactProjectInfo", Storage="_DimTime", ThisKey="Time", OtherKey="Time", IsForeignKey=true)] 6567 public DimTime DimTime 6568 { 6569 get 6570 { 6571 return this._DimTime.Entity; 6572 } 6573 set 6574 { 6575 DimTime previousValue = this._DimTime.Entity; 6576 if (((previousValue != value) 6577 || (this._DimTime.HasLoadedOrAssignedValue == false))) 6578 { 6579 this.SendPropertyChanging(); 6580 if ((previousValue != null)) 6581 { 6582 this._DimTime.Entity = null; 6583 previousValue.FactProjectInfos.Remove(this); 6584 } 6585 this._DimTime.Entity = value; 6586 if ((value != null)) 6587 { 6588 value.FactProjectInfos.Add(this); 6589 this._Time = value.Time; 6590 } 6591 else 6592 { 6593 this._Time = default(System.DateTime); 6594 } 6595 this.SendPropertyChanged("DimTime"); 6596 } 6597 } 6598 } 6599 6600 public event PropertyChangingEventHandler PropertyChanging; 6601 6602 public event PropertyChangedEventHandler PropertyChanged; 6603 6604 protected virtual void SendPropertyChanging() 6605 { 6606 if ((this.PropertyChanging != null)) 6607 { 6608 this.PropertyChanging(this, emptyChangingEventArgs); 6609 } 6610 } 6611 6612 protected virtual void SendPropertyChanged(String propertyName) 6613 { 6614 if ((this.PropertyChanged != null)) 6615 { 6616 this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 6617 } 6618 } 6619 } 6620 6621 [global::System.Data.Linq.Mapping.TableAttribute(Name="")] 6622 public partial class DimProject : INotifyPropertyChanging, INotifyPropertyChanged 6623 { 6624 6625 private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); 6626 6627 private System.Guid _Id; 6628 6629 private System.Guid _ProjectId; 6630 6631 private System.Nullable<System.Guid> _ParentId; 6632 6633 private string _Name; 6634 6635 private string _Description; 6636 6637 private System.Guid _OwnerUserId; 6638 6639 private System.DateTime _StartDate; 6640 6641 private System.Nullable<System.DateTime> _EndDate; 6642 6643 private System.DateTime _DateCreated; 6644 6645 private System.Nullable<System.DateTime> _DateExpired; 6646 6647 private EntitySet<DimJob> _DimJobs; 6648 6649 private EntitySet<FactProjectInfo> _FactProjectInfos; 6650 6651 #region Extensibility Method Definitions 6652 partial void OnLoaded(); 6653 partial void OnValidate(System.Data.Linq.ChangeAction action); 6654 partial void OnCreated(); 6655 partial void OnIdChanging(System.Guid value); 6656 partial void OnIdChanged(); 6657 partial void OnProjectIdChanging(System.Guid value); 6658 partial void OnProjectIdChanged(); 6659 partial void OnParentProjectIdChanging(System.Nullable<System.Guid> value); 6660 partial void OnParentProjectIdChanged(); 6661 partial void OnNameChanging(string value); 6662 partial void OnNameChanged(); 6663 partial void OnDescriptionChanging(string value); 6664 partial void OnDescriptionChanged(); 6665 partial void OnOwnerUserIdChanging(System.Guid value); 6666 partial void OnOwnerUserIdChanged(); 6667 partial void OnStartDateChanging(System.DateTime value); 6668 partial void OnStartDateChanged(); 6669 partial void OnEndDateChanging(System.Nullable<System.DateTime> value); 6670 partial void OnEndDateChanged(); 6671 partial void OnDateCreatedChanging(System.DateTime value); 6672 partial void OnDateCreatedChanged(); 6673 partial void OnDateExpiredChanging(System.Nullable<System.DateTime> value); 6674 partial void OnDateExpiredChanged(); 6675 #endregion 6676 6677 public DimProject() 6678 { 6679 this._DimJobs = new EntitySet<DimJob>(new Action<DimJob>(this.attach_DimJobs), new Action<DimJob>(this.detach_DimJobs)); 6680 this._FactProjectInfos = new EntitySet<FactProjectInfo>(new Action<FactProjectInfo>(this.attach_FactProjectInfos), new Action<FactProjectInfo>(this.detach_FactProjectInfos)); 6681 OnCreated(); 6682 } 6683 6684 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)] 6685 public System.Guid Id 6686 { 6687 get 6688 { 6689 return this._Id; 6690 } 6691 set 6692 { 6693 if ((this._Id != value)) 6694 { 6695 this.OnIdChanging(value); 6696 this.SendPropertyChanging(); 6697 this._Id = value; 6698 this.SendPropertyChanged("Id"); 6699 this.OnIdChanged(); 6700 } 6701 } 6702 } 6703 6704 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="UniqueIdentifier NOT NULL")] 6705 public System.Guid ProjectId 6706 { 6707 get 6708 { 6709 return this._ProjectId; 6710 } 6711 set 6712 { 6713 if ((this._ProjectId != value)) 6714 { 6715 this.OnProjectIdChanging(value); 6716 this.SendPropertyChanging(); 6717 this._ProjectId = value; 6718 this.SendPropertyChanged("ProjectId"); 6719 this.OnProjectIdChanged(); 6720 } 6721 } 6722 } 6723 6724 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentId", DbType="UniqueIdentifier NOT NULL")] 6725 public System.Nullable<System.Guid> ParentProjectId 6726 { 6727 get 6728 { 6729 return this._ParentId; 6730 } 6731 set 6732 { 6733 if ((this._ParentId != value)) 6734 { 6735 this.OnParentProjectIdChanging(value); 6736 this.SendPropertyChanging(); 6737 this._ParentId = value; 6738 this.SendPropertyChanged("ParentProjectId"); 6739 this.OnParentProjectIdChanged(); 6740 } 6741 } 6742 } 6743 6744 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", CanBeNull=false)] 6745 public string Name 6746 { 6747 get 6748 { 6749 return this._Name; 6750 } 6751 set 6752 { 6753 if ((this._Name != value)) 6754 { 6755 this.OnNameChanging(value); 6756 this.SendPropertyChanging(); 6757 this._Name = value; 6758 this.SendPropertyChanged("Name"); 6759 this.OnNameChanged(); 6760 } 6761 } 6762 } 6763 6764 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Description")] 6765 public string Description 6766 { 6767 get 6768 { 6769 return this._Description; 6770 } 6771 set 6772 { 6773 if ((this._Description != value)) 6774 { 6775 this.OnDescriptionChanging(value); 6776 this.SendPropertyChanging(); 6777 this._Description = value; 6778 this.SendPropertyChanged("Description"); 6779 this.OnDescriptionChanged(); 6780 } 6781 } 6782 } 6783 6784 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OwnerUserId", DbType="UniqueIdentifier NOT NULL")] 6785 public System.Guid OwnerUserId 6786 { 6787 get 6788 { 6789 return this._OwnerUserId; 6790 } 6791 set 6792 { 6793 if ((this._OwnerUserId != value)) 6794 { 6795 this.OnOwnerUserIdChanging(value); 6796 this.SendPropertyChanging(); 6797 this._OwnerUserId = value; 6798 this.SendPropertyChanged("OwnerUserId"); 6799 this.OnOwnerUserIdChanged(); 6800 } 6801 } 6802 } 6803 6804 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime NOT NULL")] 6805 public System.DateTime StartDate 6806 { 6807 get 6808 { 6809 return this._StartDate; 6810 } 6811 set 6812 { 6813 if ((this._StartDate != value)) 6814 { 6815 this.OnStartDateChanging(value); 6816 this.SendPropertyChanging(); 6817 this._StartDate = value; 6818 this.SendPropertyChanged("StartDate"); 6819 this.OnStartDateChanged(); 6820 } 6821 } 6822 } 6823 6824 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] 6825 public System.Nullable<System.DateTime> EndDate 6826 { 6827 get 6828 { 6829 return this._EndDate; 6830 } 6831 set 6832 { 6833 if ((this._EndDate != value)) 6834 { 6835 this.OnEndDateChanging(value); 6836 this.SendPropertyChanging(); 6837 this._EndDate = value; 6838 this.SendPropertyChanged("EndDate"); 6839 this.OnEndDateChanged(); 6840 } 6841 } 6842 } 6843 6844 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateCreated", DbType="DateTime NOT NULL")] 6845 public System.DateTime DateCreated 6846 { 6847 get 6848 { 6849 return this._DateCreated; 6850 } 6851 set 6852 { 6853 if ((this._DateCreated != value)) 6854 { 6855 this.OnDateCreatedChanging(value); 6856 this.SendPropertyChanging(); 6857 this._DateCreated = value; 6858 this.SendPropertyChanged("DateCreated"); 6859 this.OnDateCreatedChanged(); 6860 } 6861 } 6862 } 6863 6864 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateExpired", DbType="DateTime")] 6865 public System.Nullable<System.DateTime> DateExpired 6866 { 6867 get 6868 { 6869 return this._DateExpired; 6870 } 6871 set 6872 { 6873 if ((this._DateExpired != value)) 6874 { 6875 this.OnDateExpiredChanging(value); 6876 this.SendPropertyChanging(); 6877 this._DateExpired = value; 6878 this.SendPropertyChanged("DateExpired"); 6879 this.OnDateExpiredChanged(); 6880 } 6881 } 6882 } 6883 6884 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimProject_DimJob", Storage="_DimJobs", ThisKey="Id", OtherKey="ProjectId")] 6885 public EntitySet<DimJob> DimJobs 6886 { 6887 get 6888 { 6889 return this._DimJobs; 6890 } 6891 set 6892 { 6893 this._DimJobs.Assign(value); 6894 } 6895 } 6896 6897 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimProject_FactProjectInfo", Storage="_FactProjectInfos", ThisKey="Id", OtherKey="ProjectId")] 6898 public EntitySet<FactProjectInfo> FactProjectInfos 6899 { 6900 get 6901 { 6902 return this._FactProjectInfos; 6903 } 6904 set 6905 { 6906 this._FactProjectInfos.Assign(value); 6907 } 6908 } 6909 6910 public event PropertyChangingEventHandler PropertyChanging; 6911 6912 public event PropertyChangedEventHandler PropertyChanged; 6913 6914 protected virtual void SendPropertyChanging() 6915 { 6916 if ((this.PropertyChanging != null)) 6917 { 6918 this.PropertyChanging(this, emptyChangingEventArgs); 6919 } 6920 } 6921 6922 protected virtual void SendPropertyChanged(String propertyName) 6923 { 6924 if ((this.PropertyChanged != null)) 6925 { 6926 this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 6927 } 6928 } 6929 6930 private void attach_DimJobs(DimJob entity) 6931 { 6932 this.SendPropertyChanging(); 6933 entity.DimProject = this; 6934 } 6935 6936 private void detach_DimJobs(DimJob entity) 6937 { 6938 this.SendPropertyChanging(); 6939 entity.DimProject = null; 6940 } 6941 6942 private void attach_FactProjectInfos(FactProjectInfo entity) 6943 { 6944 this.SendPropertyChanging(); 6945 entity.DimProject = this; 6946 } 6947 6948 private void detach_FactProjectInfos(FactProjectInfo entity) 6949 { 6950 this.SendPropertyChanging(); 6951 entity.DimProject = null; 6952 } 6953 } 6241 6954 } 6242 6955 #pragma warning restore 1591 -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Interfaces/IPersistenceManager.cs
r15644 r15659 58 58 FactClientInfoDao FactClientInfoDao { get; } 59 59 FactTaskDao FactTaskDao { get; } 60 DimProjectDao DimProjectDao { get; } 61 FactProjectInfoDao FactProjectInfoDao { get; } 60 62 #endregion 61 63 -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Manager/PersistenceManager.cs
r15644 r15659 159 159 public FactTaskDao FactTaskDao { 160 160 get { return factTaskDao ?? (factTaskDao = new FactTaskDao(dataContext)); } 161 } 162 163 private DimProjectDao dimProjectDao; 164 public DimProjectDao DimProjectDao { 165 get { return dimProjectDao ?? (dimProjectDao = new DimProjectDao(dataContext)); } 166 } 167 168 private FactProjectInfoDao factProjectInfoDao; 169 public FactProjectInfoDao FactProjectInfoDao { 170 get { return factProjectInfoDao ?? (factProjectInfoDao = new FactProjectInfoDao(dataContext)); } 161 171 } 162 172 #endregion -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql
r15630 r15659 30 30 [ProjectId] UniqueIdentifier NOT NULL, 31 31 CONSTRAINT [PK_dbo.ResourceIdProjectId] PRIMARY KEY ([ResourceId], [ProjectId]) 32 )33 CREATE TABLE [dbo].[AssignedTaskResource](34 [ResourceId] UniqueIdentifier NOT NULL,35 [TaskId] UniqueIdentifier NOT NULL,36 CONSTRAINT [PK_dbo.ResourceIdTaskId] PRIMARY KEY ([ResourceId], [TaskId])37 32 ) 38 33 CREATE TABLE [dbo].[AssignedJobResource]( … … 176 171 ALTER TABLE [dbo].[AssignedProjectResource] 177 172 ADD CONSTRAINT [Project_AssignedProjectResource] FOREIGN KEY ([ProjectId]) REFERENCES [dbo].[Project]([ProjectId]) ON UPDATE CASCADE ON DELETE CASCADE; 178 ALTER TABLE [dbo].[AssignedTaskResource]179 ADD CONSTRAINT [Resource_AssignedTaskResource] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) ON UPDATE CASCADE ON DELETE CASCADE;180 ALTER TABLE [dbo].[AssignedTaskResource]181 ADD CONSTRAINT [Task_AssignedTaskResource] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId]) ON UPDATE CASCADE ON DELETE CASCADE;182 173 ALTER TABLE [dbo].[AssignedJobResource] 183 174 ADD CONSTRAINT [Resource_AssignedJobResource] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) ON UPDATE CASCADE ON DELETE CASCADE; -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Prepare Hive Database.sql
r15630 r15659 33 33 ON DELETE CASCADE 34 34 GO 35 -- OBSOLETE (start)36 ALTER TABLE [dbo].[AssignedTaskResource] DROP CONSTRAINT [Task_AssignedTaskResource]37 ALTER TABLE [dbo].[AssignedTaskResource] WITH CHECK ADD CONSTRAINT [Task_AssignedTaskResource] FOREIGN KEY([TaskId])38 REFERENCES [dbo].[Task] ([TaskId])39 ON UPDATE CASCADE40 ON DELETE CASCADE41 GO42 ALTER TABLE [dbo].[AssignedTaskResource] DROP CONSTRAINT [Resource_AssignedTaskResource]43 ALTER TABLE [dbo].[AssignedTaskResource] WITH CHECK ADD CONSTRAINT [Resource_AssignedTaskResource] FOREIGN KEY([ResourceId])44 REFERENCES [dbo].[Resource] ([ResourceId])45 ON UPDATE CASCADE46 ON DELETE CASCADE47 GO48 -- OBSOLETE (end)49 35 ALTER TABLE [dbo].[AssignedJobResource] DROP CONSTRAINT [Job_AssignedJobResource] 50 36 ALTER TABLE [dbo].[AssignedJobResource] WITH CHECK ADD CONSTRAINT [Job_AssignedJobResource] FOREIGN KEY([JobId]) … … 118 104 REFERENCES [dbo].[Project] ([ProjectId]) 119 105 ON UPDATE CASCADE 120 -- ON DELETE CASCADE (no "ON DELETE CASCADE" >>> if project is deleted, jobs (actually job-belonging tasks) should be aborted, but not deleted 106 ON DELETE CASCADE 121 107 GO 122 108 -
branches/HiveProjectManagement/HeuristicLab.Services.Hive/3.3/HiveStatisticsGenerator.cs
r15641 r15659 37 37 public void GenerateStatistics() { 38 38 using (var pm = new PersistenceManager()) { 39 40 pm.UseTransaction(() => { 41 UpdateDimProjectTable(pm); 42 }); 43 39 44 pm.UseTransaction(() => { 40 45 UpdateDimUserTable(pm); 46 41 47 UpdateDimJobTable(pm); 42 48 UpdateDimClientsTable(pm); … … 53 59 pm.UseTransaction(() => { 54 60 UpdateFactClientInfoTable(time, pm); 61 UpdateFactProjectInfoTable(time, pm); // in progress 55 62 pm.SubmitChanges(); 56 63 }); … … 111 118 } 112 119 120 private void UpdateDimProjectTable(PersistenceManager pm) { 121 var projectDao = pm.ProjectDao; 122 var dimProjectDao = pm.DimProjectDao; 123 124 var projects = projectDao.GetAll().ToList(); 125 var dimProjects = dimProjectDao.GetAllOnlineProjects().ToList(); 126 127 var onlineProjects = dimProjects.Where(x => projects.Select(y => y.ProjectId).Contains(x.ProjectId)); 128 var addedProjects = projects.Where(x => !dimProjects.Select(y => y.ProjectId).Contains(x.ProjectId)); 129 var removedProjects = dimProjects.Where(x => !projects.Select(y => y.ProjectId).Contains(x.ProjectId)); 130 131 // set expiration time of removed projects 132 foreach (var p in removedProjects) { 133 p.DateExpired = DateTime.Now; 134 } 135 136 // add new projects 137 dimProjectDao.Save(addedProjects.Select(x => new DimProject { 138 ProjectId = x.ProjectId, 139 ParentProjectId = x.ParentProjectId, 140 Name = x.Name, 141 Description = x.Description, 142 OwnerUserId = x.OwnerUserId, 143 StartDate = x.StartDate, 144 EndDate = x.EndDate, 145 DateCreated = x.DateCreated, 146 DateExpired = null 147 })); 148 149 // if a project's parent has changed expire entry in DimProject and create a new entry 150 // else perform "normal" update 151 foreach (var dimP in onlineProjects) { 152 var p = projects.Where(x => x.ProjectId == dimP.ProjectId).SingleOrDefault(); 153 if (p != null) { 154 if (dimP.ParentProjectId != p.ParentProjectId) { 155 dimP.DateExpired = DateTime.Now; 156 dimProjectDao.Save(new DimProject { 157 ProjectId = p.ProjectId, 158 ParentProjectId = p.ParentProjectId, 159 Name = p.Name, 160 Description = p.Description, 161 OwnerUserId = p.OwnerUserId, 162 StartDate = p.StartDate, 163 EndDate = p.EndDate, 164 DateCreated = p.DateCreated, 165 DateExpired = null 166 }); 167 } else { 168 dimP.Name = p.Name; 169 dimP.Description = p.Description; 170 dimP.OwnerUserId = p.OwnerUserId; 171 dimP.StartDate = p.StartDate; 172 dimP.EndDate = p.EndDate; 173 } 174 } 175 } 176 } 177 113 178 private void UpdateDimJobTable(PersistenceManager pm) { 179 var dimProjectDao = pm.DimProjectDao; 114 180 var dimJobDao = pm.DimJobDao; 115 181 var jobDao = pm.JobDao; … … 123 189 JobName = x.Name ?? string.Empty, 124 190 DateCreated = x.DateCreated, 191 ProjectId = dimProjectDao.GetLastValidIdByProjectId(x.ProjectId), 125 192 TotalTasks = taskDao.GetAll().Count(y => y.JobId == x.JobId) 126 193 }) … … 132 199 UserName = GetUserName(x.UserId), 133 200 DateCreated = x.DateCreated, 201 ProjectId = x.ProjectId, 134 202 TotalTasks = x.TotalTasks, 135 203 CompletedTasks = 0, … … 139 207 140 208 private void UpdateExistingDimJobs(PersistenceManager pm) { 209 var dimProjectDao = pm.DimProjectDao; 141 210 var jobDao = pm.JobDao; 142 211 var dimJobDao = pm.DimJobDao; … … 156 225 } 157 226 } 227 var job = jobDao.GetById(dimJob.JobId); 158 228 if (totalTasks == completedTasks) { 159 229 var completeDate = factTaskDao.GetLastCompletedTaskFromJob(dimJob.JobId); 160 230 if (completeDate == null) { 161 if (job Dao.GetById(dimJob.JobId)== null) {231 if (job == null) { 162 232 completeDate = DateTime.Now; 163 233 } … … 165 235 dimJob.DateCompleted = completeDate; 166 236 } 237 if(job != null) { 238 dimJob.JobName = job.Name; 239 dimJob.ProjectId = dimProjectDao.GetLastValidIdByProjectId(job.ProjectId); 240 } 241 167 242 dimJob.TotalTasks = totalTasks; 168 243 dimJob.CompletedTasks = completedTasks; … … 178 253 } 179 254 255 // (1) for new slaves (not yet reported in Table DimClients) ... 256 // and modified slaves (name or parent resource changed) a new DimClient-entry is created 257 // (2) for already reported removed and modifid clients the expiration date is set 180 258 private void UpdateDimClientsTable(PersistenceManager pm) { 181 259 var dimClientDao = pm.DimClientDao; … … 274 352 } 275 353 354 private void UpdateFactProjectInfoTable(DimTime newTime, PersistenceManager pm) { 355 // TODO 356 } 357 276 358 private void UpdateTaskFactsTable(PersistenceManager pm) { 277 359 var factTaskDao = pm.FactTaskDao; -
branches/HiveProjectManagement/HeuristicLab.Services.WebApp/3.3/HeuristicLab.Services.WebApp-3.3.csproj
r12878 r15659 23 23 <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir> 24 24 <RestorePackages>true</RestorePackages> 25 <UseGlobalApplicationHostFile /> 25 26 </PropertyGroup> 26 27 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> … … 234 235 <Content Include="WebApp\libs\bootstrap\fonts\glyphicons-halflings-regular.woff" /> 235 236 <Content Include="WebApp\libs\bootstrap\fonts\glyphicons-halflings-regular.woff2" /> 236 <Content Include="WebApp\shared\directives\scrollToTop.js" />237 237 <Content Include="WebApp\shared\filter\filters.js" /> 238 238 <Content Include="WebApp\shared\images\HeuristicLab-Logo.png" />
Note: See TracChangeset
for help on using the changeset viewer.