Changeset 13682


Ignore:
Timestamp:
03/10/16 15:04:15 (20 months ago)
Author:
abeham
Message:

#2588:

  • Added table, FK constraints, and FK indexes to database
  • Updated Linq2Sql mapping
  • Added service methods and dtos for downloading
Location:
trunk/sources
Files:
3 added
9 edited

Legend:

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

    r13501 r13682  
    4949      <Association Name="DataType_Value" Member="Values" ThisKey="Id" OtherKey="DataTypeId" Type="Value" />
    5050      <Association Name="DataType_CharacteristicValue" Member="CharacteristicValues" ThisKey="Id" OtherKey="DataTypeId" Type="CharacteristicValue" />
     51      <Association Name="DataType_SingleObjectiveSolution" Member="SingleObjectiveSolutions" ThisKey="Id" OtherKey="DataTypeId" Type="SingleObjectiveSolution" />
    5152    </Type>
    5253  </Table>
     
    8990      <Association Name="Problem_Run" Member="Runs" ThisKey="Id" OtherKey="ProblemId" Type="Run" />
    9091      <Association Name="Problem_CharacteristicValue" Member="CharacteristicValues" ThisKey="Id" OtherKey="ProblemId" Type="CharacteristicValue" />
     92      <Association Name="Problem_SingleObjectiveSolution" Member="SingleObjectiveSolutions" ThisKey="Id" OtherKey="ProblemId" Type="SingleObjectiveSolution" />
    9193      <Association Name="DataType_Problem" Member="DataType" ThisKey="DataTypeId" OtherKey="Id" Type="DataType" IsForeignKey="true" />
    9294      <Association Name="Platform_Problem" Member="Platform" ThisKey="PlatformId" OtherKey="Id" Type="Platform" IsForeignKey="true" />
     
    103105      <Association Name="BinaryData_Problem" Member="Problems" ThisKey="Id" OtherKey="BinaryDataId" Type="Problem" />
    104106      <Association Name="BinaryData_Value" Member="Values" ThisKey="Id" OtherKey="BinaryDataId" Type="Value" />
     107      <Association Name="BinaryData_SingleObjectiveSolution" Member="SingleObjectiveSolutions" ThisKey="Id" OtherKey="BinaryDataId" Type="SingleObjectiveSolution" />
    105108    </Type>
    106109  </Table>
     
    114117      <Column Name="ClientId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
    115118      <Association Name="Run_Value" Member="Values" ThisKey="Id" OtherKey="RunId" Type="Value" />
     119      <Association Name="Run_SingleObjectiveSolution" Member="SingleObjectiveSolutions" ThisKey="Id" OtherKey="RunId" Type="SingleObjectiveSolution" />
    116120      <Association Name="Algorithm_Run" Member="Algorithm" ThisKey="AlgorithmId" OtherKey="Id" Type="Algorithm" IsForeignKey="true" />
    117121      <Association Name="Problem_Run" Member="Problem" ThisKey="ProblemId" OtherKey="Id" Type="Problem" IsForeignKey="true" />
     
    162166    </Type>
    163167  </Table>
     168  <Table Name="dbo.SingleObjectiveSolution" Member="SingleObjectiveSolutions">
     169    <Type Name="SingleObjectiveSolution">
     170      <Column Name="Id" Type="System.Int64" DbType="BigInt NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     171      <Column Name="ProblemId" Type="System.Int64" DbType="BigInt" CanBeNull="true" />
     172      <Column Name="BinaryDataId" Type="System.Int64" DbType="BigInt" CanBeNull="true" />
     173      <Column Name="RunId" Type="System.Int64" DbType="BigInt" CanBeNull="true" />
     174      <Column Name="Quality" Type="System.Double" DbType="Float" CanBeNull="false" />
     175      <Column Name="DataTypeId" Type="System.Int64" DbType="BigInt" CanBeNull="true" />
     176      <Association Name="Problem_SingleObjectiveSolution" Member="Problem" ThisKey="ProblemId" OtherKey="Id" Type="Problem" IsForeignKey="true" />
     177      <Association Name="BinaryData_SingleObjectiveSolution" Member="BinaryData" ThisKey="BinaryDataId" OtherKey="Id" Type="BinaryData" IsForeignKey="true" />
     178      <Association Name="Run_SingleObjectiveSolution" Member="Run" ThisKey="RunId" OtherKey="Id" Type="Run" IsForeignKey="true" />
     179      <Association Name="DataType_SingleObjectiveSolution" Member="DataType" ThisKey="DataTypeId" OtherKey="Id" Type="DataType" IsForeignKey="true" />
     180    </Type>
     181  </Table>
    164182</Database>
  • trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml.layout

    r13501 r13682  
    11<?xml version="1.0" encoding="utf-8"?>
    2 <ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 15.75, 11.25" name="OKB">
     2<ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 15.75, 11.125" name="OKB">
    33  <DataContextMoniker Name="/OKBDataContext" />
    44  <nestedChildShapes>
    5     <classShape Id="ec288562-8ef9-46b8-a2dc-a471fec7afb8" absoluteBounds="0.5, 0.5, 2, 1.3862939453125">
     5    <classShape Id="ec288562-8ef9-46b8-a2dc-a471fec7afb8" absoluteBounds="0.5, 0.5, 2, 1.26050048828125">
    66      <DataClassMoniker Name="/OKBDataContext/AlgorithmClass" />
    77      <nestedChildShapes>
    8         <elementListCompartment Id="fbed452c-662c-42d5-b89f-2b122b63aecc" absoluteBounds="0.51500000000000012, 0.96, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    9       </nestedChildShapes>
    10     </classShape>
    11     <classShape Id="018aceac-7bd0-4fdd-8cca-d219aa08a5b5" absoluteBounds="13.5, 0.5, 2, 1.3862939453125">
     8        <elementListCompartment Id="fbed452c-662c-42d5-b89f-2b122b63aecc" absoluteBounds="0.51500000000000012, 0.96, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     9      </nestedChildShapes>
     10    </classShape>
     11    <classShape Id="018aceac-7bd0-4fdd-8cca-d219aa08a5b5" absoluteBounds="13.5, 0.5, 2, 1.26050048828125">
    1212      <DataClassMoniker Name="/OKBDataContext/ProblemClass" />
    1313      <nestedChildShapes>
    14         <elementListCompartment Id="2958536f-012b-4eb7-8bc7-453edcda1493" absoluteBounds="13.515, 0.96, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    15       </nestedChildShapes>
    16     </classShape>
    17     <classShape Id="aa997e47-0162-4fc2-aa8d-e237c50c46fe" absoluteBounds="0.5, 2.125, 2, 1.1939925130208331">
     14        <elementListCompartment Id="2958536f-012b-4eb7-8bc7-453edcda1493" absoluteBounds="13.515, 0.96, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     15      </nestedChildShapes>
     16    </classShape>
     17    <classShape Id="aa997e47-0162-4fc2-aa8d-e237c50c46fe" absoluteBounds="0.5, 2.125, 2, 1.0961531575520831">
    1818      <DataClassMoniker Name="/OKBDataContext/AlgorithmUser" />
    1919      <nestedChildShapes>
    20         <elementListCompartment Id="f81c31a9-84c5-40b1-b817-6dccbe77227d" absoluteBounds="0.51500000000000057, 2.5850000000000009, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    21       </nestedChildShapes>
    22     </classShape>
    23     <classShape Id="8d911be4-13c4-4abd-85de-4f93f280dd50" absoluteBounds="13.5, 2.125, 2, 1.1939925130208331">
     20        <elementListCompartment Id="f81c31a9-84c5-40b1-b817-6dccbe77227d" absoluteBounds="0.51500000000000057, 2.5850000000000009, 1.9700000000000002, 0.53615315755208326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     21      </nestedChildShapes>
     22    </classShape>
     23    <classShape Id="8d911be4-13c4-4abd-85de-4f93f280dd50" absoluteBounds="13.5, 2.125, 2, 1.0961531575520831">
    2424      <DataClassMoniker Name="/OKBDataContext/ProblemUser" />
    2525      <nestedChildShapes>
    26         <elementListCompartment Id="bdf4bd9d-405f-4582-99ff-036459c86748" absoluteBounds="13.515, 2.5850000000000009, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    27       </nestedChildShapes>
    28     </classShape>
    29     <classShape Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" absoluteBounds="7, 0.5, 2, 1.3862939453125">
     26        <elementListCompartment Id="bdf4bd9d-405f-4582-99ff-036459c86748" absoluteBounds="13.515, 2.5850000000000009, 1.9700000000000002, 0.53615315755208326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     27      </nestedChildShapes>
     28    </classShape>
     29    <classShape Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" absoluteBounds="7, 0.5, 2, 1.26050048828125">
    3030      <DataClassMoniker Name="/OKBDataContext/Platform" />
    3131      <nestedChildShapes>
    32         <elementListCompartment Id="83ab4fa2-80aa-4c36-9596-bc4d9a0c6daf" absoluteBounds="7.0150000000000006, 0.96, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    33       </nestedChildShapes>
    34     </classShape>
    35     <classShape Id="34f5a12b-f109-4606-baf8-6ddfde7c1b34" absoluteBounds="7, 2.125, 2, 1.3862939453125">
     32        <elementListCompartment Id="83ab4fa2-80aa-4c36-9596-bc4d9a0c6daf" absoluteBounds="7.0150000000000006, 0.96, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     33      </nestedChildShapes>
     34    </classShape>
     35    <classShape Id="34f5a12b-f109-4606-baf8-6ddfde7c1b34" absoluteBounds="7, 2.125, 2, 1.26050048828125">
    3636      <DataClassMoniker Name="/OKBDataContext/DataType" />
    3737      <nestedChildShapes>
    38         <elementListCompartment Id="1dacac40-e283-48e9-a98d-dddbc6b4fd48" absoluteBounds="7.0150000000000006, 2.585, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    39       </nestedChildShapes>
    40     </classShape>
    41     <classShape Id="c75911bf-ae6d-421c-9219-e027c3059390" absoluteBounds="3.5, 4, 2, 1.5785953776041666">
     38        <elementListCompartment Id="1dacac40-e283-48e9-a98d-dddbc6b4fd48" absoluteBounds="7.0150000000000006, 2.585, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     39      </nestedChildShapes>
     40    </classShape>
     41    <classShape Id="c75911bf-ae6d-421c-9219-e027c3059390" absoluteBounds="3.5, 4, 2, 1.4248478190104166">
    4242      <DataClassMoniker Name="/OKBDataContext/ValueName" />
    4343      <nestedChildShapes>
    44         <elementListCompartment Id="5aadda7d-ee09-475a-a2d1-e153615911b4" absoluteBounds="3.5149999999999997, 4.46, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    45       </nestedChildShapes>
    46     </classShape>
    47     <classShape Id="be37de9e-465a-4d06-9dd6-3c3f7f1f07fa" absoluteBounds="2.75, 0.5, 2, 2.1554996744791666">
     44        <elementListCompartment Id="5aadda7d-ee09-475a-a2d1-e153615911b4" absoluteBounds="3.5149999999999997, 4.46, 1.9700000000000002, 0.86484781901041663" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     45      </nestedChildShapes>
     46    </classShape>
     47    <classShape Id="be37de9e-465a-4d06-9dd6-3c3f7f1f07fa" absoluteBounds="2.75, 0.5, 2, 1.9178898111979166">
    4848      <DataClassMoniker Name="/OKBDataContext/Algorithm" />
    4949      <nestedChildShapes>
    50         <elementListCompartment Id="5d0e5084-c74f-469d-bb56-da81ce2ce8d4" absoluteBounds="2.7650000000000006, 0.96, 1.9700000000000002, 1.5954996744791665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    51       </nestedChildShapes>
    52     </classShape>
    53     <associationConnector edgePoints="[(2.75 : 2.39024983723958); (2.5 : 2.39024983723958)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     50        <elementListCompartment Id="5d0e5084-c74f-469d-bb56-da81ce2ce8d4" absoluteBounds="2.7650000000000006, 0.96, 1.9700000000000002, 1.3578898111979165" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     51      </nestedChildShapes>
     52    </classShape>
     53    <associationConnector edgePoints="[(2.75 : 2.21452838459845); (2.62712 : 2.21452838459845); (2.62712 : 2.32099938104692); (2.5 : 2.32099938104692)]" fixedFrom="Caller" fixedTo="Caller">
    5454      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_AlgorithmUser" />
    5555      <nodes>
     
    5858      </nodes>
    5959    </associationConnector>
    60     <associationConnector edgePoints="[(2.5 : 1.19314697265625); (2.75 : 1.19314697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     60    <associationConnector edgePoints="[(2.5 : 0.916972452799479); (2.75 : 0.916972452799479)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    6161      <AssociationMoniker Name="/OKBDataContext/AlgorithmClass/AlgorithmClass_Algorithm" />
    6262      <nodes>
     
    6565      </nodes>
    6666    </associationConnector>
    67     <associationConnector edgePoints="[(7 : 2.39024983723958); (4.75 : 2.39024983723958)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     67    <associationConnector edgePoints="[(7 : 2.90169564973958); (3.75 : 2.90169564973958); (3.75 : 2.41788981119792)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    6868      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_Algorithm" />
    6969      <nodes>
     
    7272      </nodes>
    7373    </associationConnector>
    74     <associationConnector edgePoints="[(7 : 1.19314697265625); (4.75 : 1.19314697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     74    <associationConnector edgePoints="[(7 : 1.13025024414063); (4.75 : 1.13025024414063)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    7575      <AssociationMoniker Name="/OKBDataContext/Platform/Platform_Algorithm" />
    7676      <nodes>
     
    7979      </nodes>
    8080    </associationConnector>
    81     <classShape Id="f197afc9-8f2b-4dae-b87e-43c2c87796bb" absoluteBounds="11.25, 0.5, 2, 2.1554996744791666">
     81    <classShape Id="f197afc9-8f2b-4dae-b87e-43c2c87796bb" absoluteBounds="11.25, 0.5, 2, 1.9178898111979166">
    8282      <DataClassMoniker Name="/OKBDataContext/Problem" />
    8383      <nestedChildShapes>
    84         <elementListCompartment Id="9feb3034-0748-47df-aa82-41b7c3e8cdbd" absoluteBounds="11.265, 0.96, 1.9700000000000002, 1.5954996744791665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     84        <elementListCompartment Id="9feb3034-0748-47df-aa82-41b7c3e8cdbd" absoluteBounds="11.265, 0.96, 1.9700000000000002, 1.3578898111979165" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    8585      </nestedChildShapes>
    8686    </classShape>
     
    113113      </nodes>
    114114    </associationConnector>
    115     <classShape Id="c2a69525-596c-4c58-a8cb-cb8c616f52d1" absoluteBounds="7, 9.625, 2, 1.3862939453125">
     115    <classShape Id="c2a69525-596c-4c58-a8cb-cb8c616f52d1" absoluteBounds="7, 9.625, 2, 1.2605004882812505">
    116116      <DataClassMoniker Name="/OKBDataContext/BinaryData" />
    117117      <nestedChildShapes>
    118         <elementListCompartment Id="d8ba4b42-b034-4f4d-88c6-ccc998db2567" absoluteBounds="7.0150000000000006, 10.085, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    119       </nestedChildShapes>
    120     </classShape>
    121     <associationConnector edgePoints="[(7 : 10.3181469726562); (2.98333686713063 : 10.3181469726562); (2.98333686713063 : 2.65549967447917)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     118        <elementListCompartment Id="d8ba4b42-b034-4f4d-88c6-ccc998db2567" absoluteBounds="7.0150000000000006, 10.085, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     119      </nestedChildShapes>
     120    </classShape>
     121    <associationConnector edgePoints="[(7 : 10.2552502441406); (3.09375 : 10.2552502441406); (3.09375 : 2.41788981119792)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    122122      <AssociationMoniker Name="/OKBDataContext/BinaryData/BinaryData_Algorithm" />
    123123      <nodes>
     
    126126      </nodes>
    127127    </associationConnector>
    128     <associationConnector edgePoints="[(9 : 10.3181469726562); (13.0131477507419 : 10.3181469726562); (13.0131477507419 : 2.65549967447917)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     128    <associationConnector edgePoints="[(9 : 9.94921858039234); (12.9483480024624 : 9.94921858039234); (12.9483480024624 : 2.41788981119792)]" fixedFrom="Caller" fixedTo="Caller">
    129129      <AssociationMoniker Name="/OKBDataContext/BinaryData/BinaryData_Problem" />
    130130      <nodes>
     
    133133      </nodes>
    134134    </associationConnector>
    135     <classShape Id="65934fe9-4206-4d20-971b-1afacf645311" absoluteBounds="5.75, 7.25, 2, 1.9631982421875005">
     135    <classShape Id="65934fe9-4206-4d20-971b-1afacf645311" absoluteBounds="5.75, 7.25, 2, 1.7535424804687505">
    136136      <DataClassMoniker Name="/OKBDataContext/Run" />
    137137      <nestedChildShapes>
    138         <elementListCompartment Id="14f0104d-03c2-4aec-9a4d-faeaaa1d8947" absoluteBounds="5.7650000000000006, 7.7100000000000009, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    139       </nestedChildShapes>
    140     </classShape>
    141     <associationConnector edgePoints="[(3.24167093356531 : 2.65549967447917); (3.24167093356531 : 8.23159912109375); (5.75 : 8.23159912109375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     138        <elementListCompartment Id="14f0104d-03c2-4aec-9a4d-faeaaa1d8947" absoluteBounds="5.7650000000000006, 7.7100000000000009, 1.9700000000000002, 1.19354248046875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     139      </nestedChildShapes>
     140    </classShape>
     141    <associationConnector edgePoints="[(3.2968775 : 2.41788981119792); (3.2968775 : 8.12677124023438); (5.75 : 8.12677124023438)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    142142      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_Run" />
    143143      <nodes>
     
    146146      </nodes>
    147147    </associationConnector>
    148     <associationConnector edgePoints="[(12.7565713753709 : 2.65549967447917); (12.7565713753709 : 8.23159912109375); (8.13243692318721 : 8.23159912109375 : JumpStart); (7.96577025652055 : 8.23159912109375 : JumpEnd); (7.75 : 8.23159912109375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     148    <associationConnector edgePoints="[(12.7603838147602 : 2.41788981119792); (12.7603838147602 : 7.49340240799753); (8.13243692318721 : 7.49340240799753 : JumpStart); (7.96577025652055 : 7.49340240799753 : JumpEnd); (7.75 : 7.49340240799753)]" fixedFrom="Caller" fixedTo="Caller">
    149149      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_Run" />
    150150      <nodes>
     
    153153      </nodes>
    154154    </associationConnector>
    155     <classShape Id="7d592fcd-d7a9-4ad0-a69f-9d29b97d9995" absoluteBounds="5.75, 4, 2, 2.9247054036458331">
     155    <classShape Id="7d592fcd-d7a9-4ad0-a69f-9d29b97d9995" absoluteBounds="5.75, 4, 2, 2.5752791341145826">
    156156      <DataClassMoniker Name="/OKBDataContext/Value" />
    157157      <nestedChildShapes>
    158         <elementListCompartment Id="89ad14d6-7946-43fe-af7c-59ce9fbe1d96" absoluteBounds="5.7650000000000006, 4.46, 1.9700000000000002, 2.364705403645833" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    159       </nestedChildShapes>
    160     </classShape>
    161     <associationConnector edgePoints="[(8.04910358985388 : 9.625); (8.04910358985388 : 5.45496831242535); (7.75 : 5.45496831242535)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
     158        <elementListCompartment Id="89ad14d6-7946-43fe-af7c-59ce9fbe1d96" absoluteBounds="5.7650000000000006, 4.46, 1.9700000000000002, 2.015279134114583" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     159      </nestedChildShapes>
     160    </classShape>
     161    <associationConnector edgePoints="[(8.04910358985388 : 9.625); (8.04910358985388 : 5.45496831242535); (7.75 : 5.45496831242535)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
    162162      <AssociationMoniker Name="/OKBDataContext/BinaryData/BinaryData_Value" />
    163163      <nodes>
     
    173173      </nodes>
    174174    </associationConnector>
    175     <associationConnector edgePoints="[(6.72310950465391 : 7.25); (6.72027766059957 : 6.92470540364583)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
     175    <associationConnector edgePoints="[(6.72310950465391 : 7.25); (6.71723573886188 : 6.57527913411458)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
    176176      <AssociationMoniker Name="/OKBDataContext/Run/Run_Value" />
    177177      <nodes>
     
    187187      </nodes>
    188188    </associationConnector>
    189     <classShape Id="7fb3c838-3d13-4b45-9912-1b5733a61110" absoluteBounds="10.5, 4, 2, 1.3862939453125">
     189    <classShape Id="7fb3c838-3d13-4b45-9912-1b5733a61110" absoluteBounds="10.5, 4, 2, 1.2605004882812496">
    190190      <DataClassMoniker Name="/OKBDataContext/Characteristic" />
    191191      <nestedChildShapes>
    192         <elementListCompartment Id="861faa11-366e-46d5-8fcb-1cef297d1920" absoluteBounds="10.515, 4.46, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    193       </nestedChildShapes>
    194     </classShape>
    195     <classShape Id="78f1d8c1-299d-46f8-90b5-e79d3904a0e6" absoluteBounds="8.25, 4, 2, 2.7324039713541666">
     192        <elementListCompartment Id="861faa11-366e-46d5-8fcb-1cef297d1920" absoluteBounds="10.515, 4.46, 1.9700000000000002, 0.70050048828125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     193      </nestedChildShapes>
     194    </classShape>
     195    <classShape Id="78f1d8c1-299d-46f8-90b5-e79d3904a0e6" absoluteBounds="8.25, 4, 2, 2.4109318033854166">
    196196      <DataClassMoniker Name="/OKBDataContext/CharacteristicValue" />
    197197      <nestedChildShapes>
    198         <elementListCompartment Id="c197bfb3-c90d-42e4-91a8-17775b4cc933" absoluteBounds="8.265, 4.46, 1.9700000000000002, 2.1724039713541665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     198        <elementListCompartment Id="c197bfb3-c90d-42e4-91a8-17775b4cc933" absoluteBounds="8.265, 4.46, 1.9700000000000002, 1.8509318033854165" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    199199      </nestedChildShapes>
    200200    </classShape>
     
    206206      </nodes>
    207207    </associationConnector>
    208     <associationConnector edgePoints="[(8.68784173221247 : 3.5112939453125); (8.68784173221247 : 4)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     208    <associationConnector edgePoints="[(8.43436125277367 : 3.38550048828125); (8.43436125277367 : 4)]" fixedFrom="Caller" fixedTo="Algorithm">
    209209      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_CharacteristicValue" />
    210210      <nodes>
     
    213213      </nodes>
    214214    </associationConnector>
    215     <associationConnector edgePoints="[(11.8118610455891 : 2.65549967447917); (11.8118610455891 : 3.0432292702094); (9.62689159819655 : 3.0432292702094); (9.62689159819655 : 4)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
     215    <associationConnector edgePoints="[(11.8118610455891 : 2.41788981119792); (11.8118610455891 : 3.0432292702094); (9.62689159819655 : 3.0432292702094); (9.62689159819655 : 4)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
    216216      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_CharacteristicValue" />
    217217      <nodes>
    218218        <classShapeMoniker Id="f197afc9-8f2b-4dae-b87e-43c2c87796bb" />
    219219        <classShapeMoniker Id="78f1d8c1-299d-46f8-90b5-e79d3904a0e6" />
     220      </nodes>
     221    </associationConnector>
     222    <classShape Id="fe9ab60f-6e76-4363-ac1d-3e5711f402cd" absoluteBounds="13.5, 3.75, 2, 1.7535424804687496">
     223      <DataClassMoniker Name="/OKBDataContext/SingleObjectiveSolution" />
     224      <nestedChildShapes>
     225        <elementListCompartment Id="a283b96a-8121-4153-9c1c-8ebbbbe99f2c" absoluteBounds="13.515, 4.2100000000000009, 1.9700000000000002, 1.19354248046875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     226      </nestedChildShapes>
     227    </classShape>
     228    <associationConnector edgePoints="[(13.1361579720891 : 2.41788981119792); (13.1361579720891 : 3.45); (13.8726600840611 : 3.45); (13.8726600840611 : 3.75)]" fixedFrom="Caller" fixedTo="Caller">
     229      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_SingleObjectiveSolution" />
     230      <nodes>
     231        <classShapeMoniker Id="f197afc9-8f2b-4dae-b87e-43c2c87796bb" />
     232        <classShapeMoniker Id="fe9ab60f-6e76-4363-ac1d-3e5711f402cd" />
     233      </nodes>
     234    </associationConnector>
     235    <associationConnector edgePoints="[(9 : 10.3033576284925); (14.510357295819 : 10.3033576284925); (14.510357295819 : 5.50354248046875)]" fixedFrom="Caller" fixedTo="Caller">
     236      <AssociationMoniker Name="/OKBDataContext/BinaryData/BinaryData_SingleObjectiveSolution" />
     237      <nodes>
     238        <classShapeMoniker Id="c2a69525-596c-4c58-a8cb-cb8c616f52d1" />
     239        <classShapeMoniker Id="fe9ab60f-6e76-4363-ac1d-3e5711f402cd" />
     240      </nodes>
     241    </associationConnector>
     242    <associationConnector edgePoints="[(7.75 : 8.27972494423314); (7.96577025652055 : 8.27972494423314 : JumpStart); (8.13243692318721 : 8.27972494423314 : JumpEnd); (12.865014669129 : 8.27972494423314 : JumpStart); (13.0316813357957 : 8.27972494423314 : JumpEnd); (13.9739261479095 : 8.27972494423314); (13.9739261479095 : 5.50354248046875)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     243      <AssociationMoniker Name="/OKBDataContext/Run/Run_SingleObjectiveSolution" />
     244      <nodes>
     245        <classShapeMoniker Id="65934fe9-4206-4d20-971b-1afacf645311" />
     246        <classShapeMoniker Id="fe9ab60f-6e76-4363-ac1d-3e5711f402cd" />
     247      </nodes>
     248    </associationConnector>
     249    <associationConnector edgePoints="[(8.77843010499566 : 3.38550048828125); (8.77843010499566 : 3.77510427976719); (9.54355826486322 : 3.77510427976719 : JumpStart); (9.71022493152988 : 3.77510427976719 : JumpEnd); (12.6770504814268 : 3.77510427976719 : JumpStart); (12.8437171480935 : 3.77510427976719 : JumpEnd); (12.865014669129 : 3.77510427976719 : JumpStart); (13.0316813357957 : 3.77510427976719 : JumpEnd); (13.2521618458221 : 3.77510427976719); (13.2521618458221 : 4.08899946616712); (13.5 : 4.08899946616712)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
     250      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_SingleObjectiveSolution" />
     251      <nodes>
     252        <classShapeMoniker Id="34f5a12b-f109-4606-baf8-6ddfde7c1b34" />
     253        <classShapeMoniker Id="fe9ab60f-6e76-4363-ac1d-3e5711f402cd" />
    220254      </nodes>
    221255    </associationConnector>
  • trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.designer.cs

    r13501 r13682  
    7373    partial void UpdateCharacteristicValue(CharacteristicValue instance);
    7474    partial void DeleteCharacteristicValue(CharacteristicValue instance);
     75    partial void InsertSingleObjectiveSolution(SingleObjectiveSolution instance);
     76    partial void UpdateSingleObjectiveSolution(SingleObjectiveSolution instance);
     77    partial void DeleteSingleObjectiveSolution(SingleObjectiveSolution instance);
    7578    #endregion
    7679   
     
    214217      {
    215218        return this.GetTable<CharacteristicValue>();
     219      }
     220    }
     221   
     222    public System.Data.Linq.Table<SingleObjectiveSolution> SingleObjectiveSolutions
     223    {
     224      get
     225      {
     226        return this.GetTable<SingleObjectiveSolution>();
    216227      }
    217228    }
     
    934945    private EntitySet<CharacteristicValue> _CharacteristicValues;
    935946   
     947    private EntitySet<SingleObjectiveSolution> _SingleObjectiveSolutions;
     948   
    936949    #region Extensibility Method Definitions
    937950    partial void OnLoaded();
     
    952965      this._Values = new EntitySet<Value>(new Action<Value>(this.attach_Values), new Action<Value>(this.detach_Values));
    953966      this._CharacteristicValues = new EntitySet<CharacteristicValue>(new Action<CharacteristicValue>(this.attach_CharacteristicValues), new Action<CharacteristicValue>(this.detach_CharacteristicValues));
     967      this._SingleObjectiveSolutions = new EntitySet<SingleObjectiveSolution>(new Action<SingleObjectiveSolution>(this.attach_SingleObjectiveSolutions), new Action<SingleObjectiveSolution>(this.detach_SingleObjectiveSolutions));
    954968      OnCreated();
    955969    }
     
    10671081    }
    10681082   
     1083    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DataType_SingleObjectiveSolution", Storage="_SingleObjectiveSolutions", ThisKey="Id", OtherKey="DataTypeId")]
     1084    public EntitySet<SingleObjectiveSolution> SingleObjectiveSolutions
     1085    {
     1086      get
     1087      {
     1088        return this._SingleObjectiveSolutions;
     1089      }
     1090      set
     1091      {
     1092        this._SingleObjectiveSolutions.Assign(value);
     1093      }
     1094    }
     1095   
    10691096    public event PropertyChangingEventHandler PropertyChanging;
    10701097   
     
    11301157   
    11311158    private void detach_CharacteristicValues(CharacteristicValue entity)
     1159    {
     1160      this.SendPropertyChanging();
     1161      entity.DataType = null;
     1162    }
     1163   
     1164    private void attach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
     1165    {
     1166      this.SendPropertyChanging();
     1167      entity.DataType = this;
     1168    }
     1169   
     1170    private void detach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
    11321171    {
    11331172      this.SendPropertyChanging();
     
    17501789    private EntitySet<CharacteristicValue> _CharacteristicValues;
    17511790   
     1791    private EntitySet<SingleObjectiveSolution> _SingleObjectiveSolutions;
     1792   
    17521793    private EntityRef<DataType> _DataType;
    17531794   
     
    17831824      this._Runs = new EntitySet<Run>(new Action<Run>(this.attach_Runs), new Action<Run>(this.detach_Runs));
    17841825      this._CharacteristicValues = new EntitySet<CharacteristicValue>(new Action<CharacteristicValue>(this.attach_CharacteristicValues), new Action<CharacteristicValue>(this.detach_CharacteristicValues));
     1826      this._SingleObjectiveSolutions = new EntitySet<SingleObjectiveSolution>(new Action<SingleObjectiveSolution>(this.attach_SingleObjectiveSolutions), new Action<SingleObjectiveSolution>(this.detach_SingleObjectiveSolutions));
    17851827      this._DataType = default(EntityRef<DataType>);
    17861828      this._Platform = default(EntityRef<Platform>);
     
    19852027    }
    19862028   
     2029    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Problem_SingleObjectiveSolution", Storage="_SingleObjectiveSolutions", ThisKey="Id", OtherKey="ProblemId")]
     2030    public EntitySet<SingleObjectiveSolution> SingleObjectiveSolutions
     2031    {
     2032      get
     2033      {
     2034        return this._SingleObjectiveSolutions;
     2035      }
     2036      set
     2037      {
     2038        this._SingleObjectiveSolutions.Assign(value);
     2039      }
     2040    }
     2041   
    19872042    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DataType_Problem", Storage="_DataType", ThisKey="DataTypeId", OtherKey="Id", IsForeignKey=true)]
    19882043    public DataType DataType
     
    21722227   
    21732228    private void detach_CharacteristicValues(CharacteristicValue entity)
     2229    {
     2230      this.SendPropertyChanging();
     2231      entity.Problem = null;
     2232    }
     2233   
     2234    private void attach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
     2235    {
     2236      this.SendPropertyChanging();
     2237      entity.Problem = this;
     2238    }
     2239   
     2240    private void detach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
    21742241    {
    21752242      this.SendPropertyChanging();
     
    21952262   
    21962263    private EntitySet<Value> _Values;
     2264   
     2265    private EntitySet<SingleObjectiveSolution> _SingleObjectiveSolutions;
    21972266   
    21982267    #region Extensibility Method Definitions
     
    22132282      this._Problems = new EntitySet<Problem>(new Action<Problem>(this.attach_Problems), new Action<Problem>(this.detach_Problems));
    22142283      this._Values = new EntitySet<Value>(new Action<Value>(this.attach_Values), new Action<Value>(this.detach_Values));
     2284      this._SingleObjectiveSolutions = new EntitySet<SingleObjectiveSolution>(new Action<SingleObjectiveSolution>(this.attach_SingleObjectiveSolutions), new Action<SingleObjectiveSolution>(this.detach_SingleObjectiveSolutions));
    22152285      OnCreated();
    22162286    }
     
    23152385    }
    23162386   
     2387    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="BinaryData_SingleObjectiveSolution", Storage="_SingleObjectiveSolutions", ThisKey="Id", OtherKey="BinaryDataId")]
     2388    public EntitySet<SingleObjectiveSolution> SingleObjectiveSolutions
     2389    {
     2390      get
     2391      {
     2392        return this._SingleObjectiveSolutions;
     2393      }
     2394      set
     2395      {
     2396        this._SingleObjectiveSolutions.Assign(value);
     2397      }
     2398    }
     2399   
    23172400    public event PropertyChangingEventHandler PropertyChanging;
    23182401   
     
    23662449   
    23672450    private void detach_Values(Value entity)
     2451    {
     2452      this.SendPropertyChanging();
     2453      entity.BinaryData = null;
     2454    }
     2455   
     2456    private void attach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
     2457    {
     2458      this.SendPropertyChanging();
     2459      entity.BinaryData = this;
     2460    }
     2461   
     2462    private void detach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
    23682463    {
    23692464      this.SendPropertyChanging();
     
    23912486   
    23922487    private EntitySet<Value> _Values;
     2488   
     2489    private EntitySet<SingleObjectiveSolution> _SingleObjectiveSolutions;
    23932490   
    23942491    private EntityRef<Algorithm> _Algorithm;
     
    24172514    {
    24182515      this._Values = new EntitySet<Value>(new Action<Value>(this.attach_Values), new Action<Value>(this.detach_Values));
     2516      this._SingleObjectiveSolutions = new EntitySet<SingleObjectiveSolution>(new Action<SingleObjectiveSolution>(this.attach_SingleObjectiveSolutions), new Action<SingleObjectiveSolution>(this.detach_SingleObjectiveSolutions));
    24192517      this._Algorithm = default(EntityRef<Algorithm>);
    24202518      this._Problem = default(EntityRef<Problem>);
     
    25632661    }
    25642662   
     2663    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Run_SingleObjectiveSolution", Storage="_SingleObjectiveSolutions", ThisKey="Id", OtherKey="RunId")]
     2664    public EntitySet<SingleObjectiveSolution> SingleObjectiveSolutions
     2665    {
     2666      get
     2667      {
     2668        return this._SingleObjectiveSolutions;
     2669      }
     2670      set
     2671      {
     2672        this._SingleObjectiveSolutions.Assign(value);
     2673      }
     2674    }
     2675   
    25652676    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Algorithm_Run", Storage="_Algorithm", ThisKey="AlgorithmId", OtherKey="Id", IsForeignKey=true)]
    25662677    public Algorithm Algorithm
     
    26582769   
    26592770    private void detach_Values(Value entity)
     2771    {
     2772      this.SendPropertyChanging();
     2773      entity.Run = null;
     2774    }
     2775   
     2776    private void attach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
     2777    {
     2778      this.SendPropertyChanging();
     2779      entity.Run = this;
     2780    }
     2781   
     2782    private void detach_SingleObjectiveSolutions(SingleObjectiveSolution entity)
    26602783    {
    26612784      this.SendPropertyChanging();
     
    36683791    }
    36693792  }
     3793 
     3794  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.SingleObjectiveSolution")]
     3795  public partial class SingleObjectiveSolution : INotifyPropertyChanging, INotifyPropertyChanged
     3796  {
     3797   
     3798    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     3799   
     3800    private long _Id;
     3801   
     3802    private System.Nullable<long> _ProblemId;
     3803   
     3804    private System.Nullable<long> _BinaryDataId;
     3805   
     3806    private System.Nullable<long> _RunId;
     3807   
     3808    private double _Quality;
     3809   
     3810    private System.Nullable<long> _DataTypeId;
     3811   
     3812    private EntityRef<Problem> _Problem;
     3813   
     3814    private EntityRef<BinaryData> _BinaryData;
     3815   
     3816    private EntityRef<Run> _Run;
     3817   
     3818    private EntityRef<DataType> _DataType;
     3819   
     3820    #region Extensibility Method Definitions
     3821    partial void OnLoaded();
     3822    partial void OnValidate(System.Data.Linq.ChangeAction action);
     3823    partial void OnCreated();
     3824    partial void OnIdChanging(long value);
     3825    partial void OnIdChanged();
     3826    partial void OnProblemIdChanging(System.Nullable<long> value);
     3827    partial void OnProblemIdChanged();
     3828    partial void OnBinaryDataIdChanging(System.Nullable<long> value);
     3829    partial void OnBinaryDataIdChanged();
     3830    partial void OnRunIdChanging(System.Nullable<long> value);
     3831    partial void OnRunIdChanged();
     3832    partial void OnQualityChanging(double value);
     3833    partial void OnQualityChanged();
     3834    partial void OnDataTypeIdChanging(System.Nullable<long> value);
     3835    partial void OnDataTypeIdChanged();
     3836    #endregion
     3837   
     3838    public SingleObjectiveSolution()
     3839    {
     3840      this._Problem = default(EntityRef<Problem>);
     3841      this._BinaryData = default(EntityRef<BinaryData>);
     3842      this._Run = default(EntityRef<Run>);
     3843      this._DataType = default(EntityRef<DataType>);
     3844      OnCreated();
     3845    }
     3846   
     3847    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", AutoSync=AutoSync.OnInsert, DbType="BigInt NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
     3848    public long Id
     3849    {
     3850      get
     3851      {
     3852        return this._Id;
     3853      }
     3854      set
     3855      {
     3856        if ((this._Id != value))
     3857        {
     3858          this.OnIdChanging(value);
     3859          this.SendPropertyChanging();
     3860          this._Id = value;
     3861          this.SendPropertyChanged("Id");
     3862          this.OnIdChanged();
     3863        }
     3864      }
     3865    }
     3866   
     3867    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProblemId", DbType="BigInt")]
     3868    public System.Nullable<long> ProblemId
     3869    {
     3870      get
     3871      {
     3872        return this._ProblemId;
     3873      }
     3874      set
     3875      {
     3876        if ((this._ProblemId != value))
     3877        {
     3878          if (this._Problem.HasLoadedOrAssignedValue)
     3879          {
     3880            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3881          }
     3882          this.OnProblemIdChanging(value);
     3883          this.SendPropertyChanging();
     3884          this._ProblemId = value;
     3885          this.SendPropertyChanged("ProblemId");
     3886          this.OnProblemIdChanged();
     3887        }
     3888      }
     3889    }
     3890   
     3891    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BinaryDataId", DbType="BigInt")]
     3892    public System.Nullable<long> BinaryDataId
     3893    {
     3894      get
     3895      {
     3896        return this._BinaryDataId;
     3897      }
     3898      set
     3899      {
     3900        if ((this._BinaryDataId != value))
     3901        {
     3902          if (this._BinaryData.HasLoadedOrAssignedValue)
     3903          {
     3904            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3905          }
     3906          this.OnBinaryDataIdChanging(value);
     3907          this.SendPropertyChanging();
     3908          this._BinaryDataId = value;
     3909          this.SendPropertyChanged("BinaryDataId");
     3910          this.OnBinaryDataIdChanged();
     3911        }
     3912      }
     3913    }
     3914   
     3915    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RunId", DbType="BigInt")]
     3916    public System.Nullable<long> RunId
     3917    {
     3918      get
     3919      {
     3920        return this._RunId;
     3921      }
     3922      set
     3923      {
     3924        if ((this._RunId != value))
     3925        {
     3926          if (this._Run.HasLoadedOrAssignedValue)
     3927          {
     3928            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3929          }
     3930          this.OnRunIdChanging(value);
     3931          this.SendPropertyChanging();
     3932          this._RunId = value;
     3933          this.SendPropertyChanged("RunId");
     3934          this.OnRunIdChanged();
     3935        }
     3936      }
     3937    }
     3938   
     3939    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quality", DbType="Float")]
     3940    public double Quality
     3941    {
     3942      get
     3943      {
     3944        return this._Quality;
     3945      }
     3946      set
     3947      {
     3948        if ((this._Quality != value))
     3949        {
     3950          this.OnQualityChanging(value);
     3951          this.SendPropertyChanging();
     3952          this._Quality = value;
     3953          this.SendPropertyChanged("Quality");
     3954          this.OnQualityChanged();
     3955        }
     3956      }
     3957    }
     3958   
     3959    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DataTypeId", DbType="BigInt")]
     3960    public System.Nullable<long> DataTypeId
     3961    {
     3962      get
     3963      {
     3964        return this._DataTypeId;
     3965      }
     3966      set
     3967      {
     3968        if ((this._DataTypeId != value))
     3969        {
     3970          if (this._DataType.HasLoadedOrAssignedValue)
     3971          {
     3972            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     3973          }
     3974          this.OnDataTypeIdChanging(value);
     3975          this.SendPropertyChanging();
     3976          this._DataTypeId = value;
     3977          this.SendPropertyChanged("DataTypeId");
     3978          this.OnDataTypeIdChanged();
     3979        }
     3980      }
     3981    }
     3982   
     3983    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Problem_SingleObjectiveSolution", Storage="_Problem", ThisKey="ProblemId", OtherKey="Id", IsForeignKey=true)]
     3984    public Problem Problem
     3985    {
     3986      get
     3987      {
     3988        return this._Problem.Entity;
     3989      }
     3990      set
     3991      {
     3992        Problem previousValue = this._Problem.Entity;
     3993        if (((previousValue != value)
     3994              || (this._Problem.HasLoadedOrAssignedValue == false)))
     3995        {
     3996          this.SendPropertyChanging();
     3997          if ((previousValue != null))
     3998          {
     3999            this._Problem.Entity = null;
     4000            previousValue.SingleObjectiveSolutions.Remove(this);
     4001          }
     4002          this._Problem.Entity = value;
     4003          if ((value != null))
     4004          {
     4005            value.SingleObjectiveSolutions.Add(this);
     4006            this._ProblemId = value.Id;
     4007          }
     4008          else
     4009          {
     4010            this._ProblemId = default(Nullable<long>);
     4011          }
     4012          this.SendPropertyChanged("Problem");
     4013        }
     4014      }
     4015    }
     4016   
     4017    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="BinaryData_SingleObjectiveSolution", Storage="_BinaryData", ThisKey="BinaryDataId", OtherKey="Id", IsForeignKey=true)]
     4018    public BinaryData BinaryData
     4019    {
     4020      get
     4021      {
     4022        return this._BinaryData.Entity;
     4023      }
     4024      set
     4025      {
     4026        BinaryData previousValue = this._BinaryData.Entity;
     4027        if (((previousValue != value)
     4028              || (this._BinaryData.HasLoadedOrAssignedValue == false)))
     4029        {
     4030          this.SendPropertyChanging();
     4031          if ((previousValue != null))
     4032          {
     4033            this._BinaryData.Entity = null;
     4034            previousValue.SingleObjectiveSolutions.Remove(this);
     4035          }
     4036          this._BinaryData.Entity = value;
     4037          if ((value != null))
     4038          {
     4039            value.SingleObjectiveSolutions.Add(this);
     4040            this._BinaryDataId = value.Id;
     4041          }
     4042          else
     4043          {
     4044            this._BinaryDataId = default(Nullable<long>);
     4045          }
     4046          this.SendPropertyChanged("BinaryData");
     4047        }
     4048      }
     4049    }
     4050   
     4051    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Run_SingleObjectiveSolution", Storage="_Run", ThisKey="RunId", OtherKey="Id", IsForeignKey=true)]
     4052    public Run Run
     4053    {
     4054      get
     4055      {
     4056        return this._Run.Entity;
     4057      }
     4058      set
     4059      {
     4060        Run previousValue = this._Run.Entity;
     4061        if (((previousValue != value)
     4062              || (this._Run.HasLoadedOrAssignedValue == false)))
     4063        {
     4064          this.SendPropertyChanging();
     4065          if ((previousValue != null))
     4066          {
     4067            this._Run.Entity = null;
     4068            previousValue.SingleObjectiveSolutions.Remove(this);
     4069          }
     4070          this._Run.Entity = value;
     4071          if ((value != null))
     4072          {
     4073            value.SingleObjectiveSolutions.Add(this);
     4074            this._RunId = value.Id;
     4075          }
     4076          else
     4077          {
     4078            this._RunId = default(Nullable<long>);
     4079          }
     4080          this.SendPropertyChanged("Run");
     4081        }
     4082      }
     4083    }
     4084   
     4085    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DataType_SingleObjectiveSolution", Storage="_DataType", ThisKey="DataTypeId", OtherKey="Id", IsForeignKey=true)]
     4086    public DataType DataType
     4087    {
     4088      get
     4089      {
     4090        return this._DataType.Entity;
     4091      }
     4092      set
     4093      {
     4094        DataType previousValue = this._DataType.Entity;
     4095        if (((previousValue != value)
     4096              || (this._DataType.HasLoadedOrAssignedValue == false)))
     4097        {
     4098          this.SendPropertyChanging();
     4099          if ((previousValue != null))
     4100          {
     4101            this._DataType.Entity = null;
     4102            previousValue.SingleObjectiveSolutions.Remove(this);
     4103          }
     4104          this._DataType.Entity = value;
     4105          if ((value != null))
     4106          {
     4107            value.SingleObjectiveSolutions.Add(this);
     4108            this._DataTypeId = value.Id;
     4109          }
     4110          else
     4111          {
     4112            this._DataTypeId = default(Nullable<long>);
     4113          }
     4114          this.SendPropertyChanged("DataType");
     4115        }
     4116      }
     4117    }
     4118   
     4119    public event PropertyChangingEventHandler PropertyChanging;
     4120   
     4121    public event PropertyChangedEventHandler PropertyChanged;
     4122   
     4123    protected virtual void SendPropertyChanging()
     4124    {
     4125      if ((this.PropertyChanging != null))
     4126      {
     4127        this.PropertyChanging(this, emptyChangingEventArgs);
     4128      }
     4129    }
     4130   
     4131    protected virtual void SendPropertyChanged(String propertyName)
     4132    {
     4133      if ((this.PropertyChanged != null))
     4134      {
     4135        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     4136      }
     4137    }
     4138  }
    36704139}
    36714140#pragma warning restore 1591
  • trunk/sources/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj

    r13501 r13682  
    283283    <Compile Include="RunCreation\DataTransfer\BinaryValue.cs" />
    284284    <Compile Include="RunCreation\DataTransfer\BoolValue.cs" />
     285    <Compile Include="RunCreation\DataTransfer\SingleObjectiveSolution.cs" />
     286    <Compile Include="RunCreation\DataTransfer\Solution.cs" />
    285287    <Compile Include="RunCreation\DataTransfer\TimeSpanValue.cs" />
    286288    <Compile Include="RunCreation\DataTransfer\PercentValue.cs" />
     
    295297    <Compile Include="RunCreation\DataTransfer\StringValue.cs" />
    296298    <Compile Include="RunCreation\DataTransfer\Value.cs" />
     299    <Compile Include="RunCreation\MissingSolution.cs" />
    297300    <Compile Include="RunCreation\MissingProblem.cs" />
    298301    <Compile Include="RunCreation\RunCreationService.cs" />
  • trunk/sources/HeuristicLab.Services.OKB/3.3/RunCreation/Convert.cs

    r13511 r13682  
    3838      if (source == null) return null;
    3939      return new DT.Problem { Id = source.Id, Name = source.Name, Description = source.Description, ProblemClass = Convert.ToDto(source.ProblemClass), DataType = Convert.ToDto(source.DataType) };
     40    }
     41
     42    public static DT.SingleObjectiveSolution ToDto(DA.SingleObjectiveSolution source) {
     43      if (source == null) return null;
     44      return new DT.SingleObjectiveSolution() {
     45        Id = source.Id,
     46        ProblemId = source.ProblemId.Value,
     47        RunId = source.RunId,
     48        Quality = source.Quality
     49      };
    4050    }
    4151
  • trunk/sources/HeuristicLab.Services.OKB/3.3/RunCreation/IRunCreationService.cs

    r13511 r13682  
    4444
    4545    [OperationContract]
     46    [FaultContract(typeof(MissingProblem))]
     47    IEnumerable<Solution> GetSolutions(long problemId);
     48
     49    [OperationContract]
     50    [FaultContract(typeof(MissingSolution))]
     51    byte[] GetSolutionData(long solutionId);
     52
     53    [OperationContract]
    4654    void AddRun(Run run);
    4755
  • trunk/sources/HeuristicLab.Services.OKB/3.3/RunCreation/MissingProblem.cs

    r13501 r13682  
    2828    public string Message { get; set; }
    2929
    30     public MissingProblem(string message, params object[] c) {
    31       Message = string.Format(message, c);
     30    public MissingProblem(long problemId) {
     31      Message = string.Format("Problem with id {0} cannot be found", problemId);
    3232    }
    3333  }
  • trunk/sources/HeuristicLab.Services.OKB/3.3/RunCreation/RunCreationService.cs

    r13513 r13682  
    127127    }
    128128
     129    public IEnumerable<DataTransfer.Solution> GetSolutions(long problemId) {
     130      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     131
     132      using (OKBDataContext okb = new OKBDataContext()) {
     133        var problem = okb.Problems.SingleOrDefault(x => x.Id == problemId);
     134        if (problem == null) throw new FaultException<MissingProblem>(new MissingProblem(problemId));
     135        // TODO: In case of multi-objective problems one has to check whether it contains single- or multi-objective problems
     136        var result = problem.SingleObjectiveSolutions.Select(x => Convert.ToDto(x)).ToList();
     137        if (roleVerifier.IsInRole(OKBRoles.OKBAdministrator)) {
     138          return result;
     139        } else {
     140          var problemUsers = okb.ProblemUsers.Where(x => x.ProblemId == problemId).ToList();
     141          if (problemUsers.Count == 0 || userManager.VerifyUser(userManager.CurrentUserId, problemUsers.Select(y => y.UserGroupId).ToList())) {
     142            return result;
     143          } else {
     144            return null;
     145          }
     146        }
     147      }
     148    }
     149
     150    public byte[] GetSolutionData(long solutionId) {
     151      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     152
     153      using (OKBDataContext okb = new OKBDataContext()) {
     154        var solution = okb.SingleObjectiveSolutions.SingleOrDefault(x => x.Id == solutionId);
     155        if (solution == null) throw new FaultException<MissingSolution>(new MissingSolution(solutionId));
     156
     157        var result = solution.BinaryData.Data.ToArray();
     158        if (roleVerifier.IsInRole(OKBRoles.OKBAdministrator)) {
     159          return result;
     160        } else {
     161          var problemUsers = okb.ProblemUsers.Where(x => x.ProblemId == solution.ProblemId).ToList();
     162          if (problemUsers.Count == 0 || userManager.VerifyUser(userManager.CurrentUserId, problemUsers.Select(y => y.UserGroupId).ToList())) {
     163            return result;
     164          } else {
     165            return null;
     166          }
     167        }
     168      }
     169    }
     170
    129171    public void AddRun(DataTransfer.Run run) {
    130172      roleVerifier.AuthenticateForAnyRole(OKBRoles.OKBAdministrator, OKBRoles.OKBUser);
     
    150192      using (OKBDataContext okb = new OKBDataContext()) {
    151193        var problem = okb.Problems.SingleOrDefault(x => x.Id == problemId);
    152         if (problem == null) throw new FaultException<MissingProblem>(new MissingProblem("Problem with id {0} cannot be found", problemId));
     194        if (problem == null) throw new FaultException<MissingProblem>(new MissingProblem(problemId));
    153195
    154196        DoSetCharacteristicValue(okb, problem, value);
     
    162204      using (OKBDataContext okb = new OKBDataContext()) {
    163205        var problem = okb.Problems.SingleOrDefault(x => x.Id == problemId);
    164         if (problem == null) throw new FaultException<MissingProblem>(new MissingProblem("Problem with id {0} cannot be found", problemId));
     206        if (problem == null) throw new FaultException<MissingProblem>(new MissingProblem(problemId));
    165207
    166208        foreach (var v in values) {
Note: See TracChangeset for help on using the changeset viewer.