- Timestamp:
- 02/16/11 04:59:43 (14 years ago)
- Location:
- branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3
- Files:
-
- 45 added
- 22 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Administration/AdministrationService.cs
r5479 r5482 22 22 using System; 23 23 using System.Collections.Generic; 24 using System.Data.Linq;25 24 using System.Linq; 26 using System.Security.Cryptography;27 25 using System.ServiceModel; 28 26 using HeuristicLab.Services.OKB.DataAccess; … … 35 33 public class AdministrationService : IAdministrationService { 36 34 #region Platform Methods 37 public DataTransfer.Platform GetPlatform(long id) {38 using (OKBDataContext okb = new OKBDataContext()) {39 return Convert.ToDto(okb.Platforms.FirstOrDefault(x => x.Id == id));40 }41 }42 35 public IEnumerable<DataTransfer.Platform> GetPlatforms() { 43 36 using (OKBDataContext okb = new OKBDataContext()) { … … 69 62 #endregion 70 63 71 #region DataType Methods72 public DataTransfer.DataType GetDataType(long id) {73 using (OKBDataContext okb = new OKBDataContext()) {74 return Convert.ToDto(okb.DataTypes.FirstOrDefault(x => x.Id == id));75 }76 }77 public long AddDataType(DataTransfer.DataType dto) {78 using (OKBDataContext okb = new OKBDataContext()) {79 var entity = okb.DataTypes.Where(x => (x.PlatformId == dto.PlatformId) && (x.Name == dto.Name) && (x.TypeName == dto.TypeName)).FirstOrDefault();80 if (entity == null) {81 entity = Convert.ToEntity(dto); entity.Id = 0;82 okb.DataTypes.InsertOnSubmit(entity);83 okb.SubmitChanges();84 }85 return entity.Id;86 }87 }88 #endregion89 90 #region BinaryData Methods91 public long GetBinaryDataId(byte[] hash) {92 using (OKBDataContext okb = new OKBDataContext()) {93 var id = okb.BinaryDatas.Where(x => x.Hash.Equals(hash)).Select(x => x.Id).FirstOrDefault();94 if (id == 0) return -1;95 else return id;96 }97 }98 public long AddBinaryData(DataTransfer.BinaryData dto) {99 byte[] hash;100 using (SHA1 sha1 = SHA1.Create()) {101 hash = sha1.ComputeHash(dto.Data);102 }103 104 using (OKBDataContext okb = new OKBDataContext()) {105 var id = okb.BinaryDatas.Where(x => x.Hash.Equals(hash)).Select(x => x.Id).FirstOrDefault();106 if (id != 0) {107 return id;108 } else {109 DataAccess.BinaryData entity = Convert.ToEntity(dto); entity.Id = 0;110 okb.BinaryDatas.InsertOnSubmit(entity);111 okb.SubmitChanges();112 return entity.Id;113 }114 }115 }116 #endregion117 118 64 #region AlgorithmClass Methods 119 public DataTransfer.AlgorithmClass GetAlgorithmClass(long id) {120 using (OKBDataContext okb = new OKBDataContext()) {121 return Convert.ToDto(okb.AlgorithmClasses.FirstOrDefault(x => x.Id == id));122 }123 }124 65 public IEnumerable<DataTransfer.AlgorithmClass> GetAlgorithmClasses() { 125 66 using (OKBDataContext okb = new OKBDataContext()) { … … 152 93 153 94 #region Algorithm Methods 154 public DataTransfer.Algorithm GetAlgorithm(long id) {155 using (OKBDataContext okb = new OKBDataContext()) {156 return Convert.ToDto(okb.Algorithms.FirstOrDefault(x => x.Id == id));157 }158 }159 95 public IEnumerable<DataTransfer.Algorithm> GetAlgorithms() { 160 96 using (OKBDataContext okb = new OKBDataContext()) { … … 164 100 public long AddAlgorithm(DataTransfer.Algorithm dto) { 165 101 using (OKBDataContext okb = new OKBDataContext()) { 166 DataAccess.Algorithm entity = Convert.ToEntity(dto ); entity.Id = 0;102 DataAccess.Algorithm entity = Convert.ToEntity(dto, okb); entity.Id = 0; 167 103 okb.Algorithms.InsertOnSubmit(entity); 168 104 okb.SubmitChanges(); … … 173 109 using (OKBDataContext okb = new OKBDataContext()) { 174 110 DataAccess.Algorithm entity = okb.Algorithms.FirstOrDefault(x => x.Id == dto.Id); 175 Convert.ToEntity(dto, entity );111 Convert.ToEntity(dto, entity, okb); 176 112 okb.SubmitChanges(); 177 113 } … … 196 132 } 197 133 } 198 public DataTransfer.BinaryData GetAlgorithmData(long algorithmId) { 199 using (OKBDataContext okb = new OKBDataContext()) { 200 DataLoadOptions dlo = new DataLoadOptions(); 201 dlo.LoadWith<Algorithm>(x => x.BinaryData); 202 okb.LoadOptions = dlo; 203 return Convert.ToDto(okb.Algorithms.Where(x => x.Id == algorithmId).Select(x => x.BinaryData).FirstOrDefault()); 134 public byte[] GetAlgorithmData(long algorithmId) { 135 using (OKBDataContext okb = new OKBDataContext()) { 136 return okb.Algorithms.Where(x => x.Id == algorithmId).Select(x => x.BinaryData.Data.ToArray()).FirstOrDefault(); 137 } 138 } 139 public void UpdateAlgorithmData(long algorithmId, byte[] data) { 140 using (OKBDataContext okb = new OKBDataContext()) { 141 var entity = okb.Algorithms.Where(x => x.Id == algorithmId).FirstOrDefault(); 142 if (entity != null) 143 entity.BinaryData = Convert.ToEntity(data, okb); 144 okb.SubmitChanges(); 204 145 } 205 146 } … … 207 148 208 149 #region ProblemClass Methods 209 public DataTransfer.ProblemClass GetProblemClass(long id) {210 using (OKBDataContext okb = new OKBDataContext()) {211 return Convert.ToDto(okb.ProblemClasses.FirstOrDefault(x => x.Id == id));212 }213 }214 150 public IEnumerable<DataTransfer.ProblemClass> GetProblemClasses() { 215 151 using (OKBDataContext okb = new OKBDataContext()) { … … 242 178 243 179 #region Problem Methods 244 public DataTransfer.Problem GetProblem(long id) {245 using (OKBDataContext okb = new OKBDataContext()) {246 return Convert.ToDto(okb.Problems.FirstOrDefault(x => x.Id == id));247 }248 }249 180 public IEnumerable<DataTransfer.Problem> GetProblems() { 250 181 using (OKBDataContext okb = new OKBDataContext()) { … … 254 185 public long AddProblem(DataTransfer.Problem dto) { 255 186 using (OKBDataContext okb = new OKBDataContext()) { 256 DataAccess.Problem entity = Convert.ToEntity(dto ); entity.Id = 0;187 DataAccess.Problem entity = Convert.ToEntity(dto, okb); entity.Id = 0; 257 188 okb.Problems.InsertOnSubmit(entity); 258 189 okb.SubmitChanges(); … … 263 194 using (OKBDataContext okb = new OKBDataContext()) { 264 195 DataAccess.Problem entity = okb.Problems.FirstOrDefault(x => x.Id == dto.Id); 265 Convert.ToEntity(dto, entity );196 Convert.ToEntity(dto, entity, okb); 266 197 okb.SubmitChanges(); 267 198 } … … 286 217 } 287 218 } 288 public DataTransfer.BinaryData GetProblemData(long problemId) { 289 using (OKBDataContext okb = new OKBDataContext()) { 290 DataLoadOptions dlo = new DataLoadOptions(); 291 dlo.LoadWith<Problem>(x => x.BinaryData); 292 okb.LoadOptions = dlo; 293 return Convert.ToDto(okb.Problems.Where(x => x.Id == problemId).Select(x => x.BinaryData).FirstOrDefault()); 294 } 295 } 296 #endregion 297 298 #region Run Methods 299 public DataTransfer.Run GetRun(long id) { 300 using (OKBDataContext okb = new OKBDataContext()) { 301 DataLoadOptions dlo = new DataLoadOptions(); 302 dlo.LoadWith<Run>(x => x.Values); 303 dlo.LoadWith<Value>(x => x.ValueName); 304 okb.LoadOptions = dlo; 305 return Convert.ToDto(okb.Runs.FirstOrDefault(x => x.Id == id)); 306 } 307 } 308 public IEnumerable<DataTransfer.Run> GetRuns(long algorithmId, long problemId) { 309 using (OKBDataContext okb = new OKBDataContext()) { 310 DataLoadOptions dlo = new DataLoadOptions(); 311 dlo.LoadWith<Run>(x => x.Values); 312 dlo.LoadWith<Value>(x => x.ValueName); 313 okb.LoadOptions = dlo; 314 if ((algorithmId != 0) && (problemId != 0)) 315 return okb.Runs.Where(x => (x.AlgorithmId == algorithmId) && (x.ProblemId == problemId)).Select(x => Convert.ToDto(x)).ToArray(); 316 else if (algorithmId != 0) 317 return okb.Runs.Where(x => x.AlgorithmId == algorithmId).Select(x => Convert.ToDto(x)).ToArray(); 318 else if (problemId != 0) 319 return okb.Runs.Where(x => x.ProblemId == problemId).Select(x => Convert.ToDto(x)).ToArray(); 320 else 321 return okb.Runs.Select(x => Convert.ToDto(x)).ToArray(); 322 } 323 } 324 public long AddRun(DataTransfer.Run dto) { 325 using (OKBDataContext okb = new OKBDataContext()) { 326 DataAccess.Run entity = Convert.ToEntity(dto); entity.Id = 0; 327 okb.Runs.InsertOnSubmit(entity); 328 okb.SubmitChanges(); 329 return entity.Id; 330 } 331 } 332 public void DeleteRun(long id) { 333 using (OKBDataContext okb = new OKBDataContext()) { 334 IEnumerable<DataAccess.ResultBlobValue> resultBlobValues = okb.ResultBlobValues.Where(x => x.RunId == id); 335 okb.ResultBlobValues.DeleteAllOnSubmit(resultBlobValues); 336 IEnumerable<DataAccess.ResultBoolValue> resultBoolValues = okb.ResultBoolValues.Where(x => x.RunId == id); 337 okb.ResultBoolValues.DeleteAllOnSubmit(resultBoolValues); 338 IEnumerable<DataAccess.ResultFloatValue> resultFloatValues = okb.ResultFloatValues.Where(x => x.RunId == id); 339 okb.ResultFloatValues.DeleteAllOnSubmit(resultFloatValues); 340 IEnumerable<DataAccess.ResultIntValue> resultIntValues = okb.ResultIntValues.Where(x => x.RunId == id); 341 okb.ResultIntValues.DeleteAllOnSubmit(resultIntValues); 342 IEnumerable<DataAccess.ResultStringValue> resultStringValues = okb.ResultStringValues.Where(x => x.RunId == id); 343 okb.ResultStringValues.DeleteAllOnSubmit(resultStringValues); 344 345 DataAccess.Run entity = okb.Runs.FirstOrDefault(x => x.Id == id); 346 if (entity != null) okb.Runs.DeleteOnSubmit(entity); 219 public byte[] GetProblemData(long problemId) { 220 using (OKBDataContext okb = new OKBDataContext()) { 221 return okb.Problems.Where(x => x.Id == problemId).Select(x => x.BinaryData.Data.ToArray()).FirstOrDefault(); 222 } 223 } 224 public void UpdateProblemData(long problemId, byte[] data) { 225 using (OKBDataContext okb = new OKBDataContext()) { 226 var entity = okb.Problems.Where(x => x.Id == problemId).FirstOrDefault(); 227 if (entity != null) 228 entity.BinaryData = Convert.ToEntity(data, okb); 347 229 okb.SubmitChanges(); 348 230 } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Administration/IAdministrationService.cs
r5479 r5482 24 24 using System.Net.Security; 25 25 using System.ServiceModel; 26 using HeuristicLab.Services.OKB. DataTransfer;26 using HeuristicLab.Services.OKB.Administration.DataTransfer; 27 27 28 28 namespace HeuristicLab.Services.OKB.Administration { … … 33 33 public interface IAdministrationService { 34 34 #region Platform Methods 35 [OperationContract]36 Platform GetPlatform(long id);37 35 [OperationContract] 38 36 IEnumerable<Platform> GetPlatforms(); … … 45 43 #endregion 46 44 47 #region DataType Methods48 [OperationContract]49 DataType GetDataType(long id);50 [OperationContract]51 long AddDataType(DataType dto);52 #endregion53 54 #region BinaryData Methods55 [OperationContract]56 long GetBinaryDataId(byte[] hash);57 [OperationContract]58 long AddBinaryData(BinaryData dto);59 #endregion60 61 45 #region AlgorithmClass Methods 62 [OperationContract]63 AlgorithmClass GetAlgorithmClass(long id);64 46 [OperationContract] 65 47 IEnumerable<AlgorithmClass> GetAlgorithmClasses(); … … 73 55 74 56 #region Algorithm Methods 75 [OperationContract]76 Algorithm GetAlgorithm(long id);77 57 [OperationContract] 78 58 IEnumerable<Algorithm> GetAlgorithms(); … … 88 68 void UpdateAlgorithmUsers(long algorithmId, IEnumerable<Guid> users); 89 69 [OperationContract] 90 BinaryData GetAlgorithmData(long algorithmId); 70 byte[] GetAlgorithmData(long algorithmId); 71 [OperationContract] 72 void UpdateAlgorithmData(long algorithmId, byte[] data); 91 73 #endregion 92 74 93 75 #region ProblemClass Methods 94 [OperationContract]95 ProblemClass GetProblemClass(long id);96 76 [OperationContract] 97 77 IEnumerable<ProblemClass> GetProblemClasses(); … … 105 85 106 86 #region Problem Methods 107 [OperationContract]108 Problem GetProblem(long id);109 87 [OperationContract] 110 88 IEnumerable<Problem> GetProblems(); … … 120 98 void UpdateProblemUsers(long problemId, IEnumerable<Guid> users); 121 99 [OperationContract] 122 BinaryData GetProblemData(long problemId); 123 #endregion 124 125 #region Run Methods 100 byte[] GetProblemData(long problemId); 126 101 [OperationContract] 127 Run GetRun(long id); 128 [OperationContract] 129 IEnumerable<Run> GetRuns(long algorithmId, long problemId); 130 [OperationContract] 131 long AddRun(Run dto); 132 [OperationContract] 133 void DeleteRun(long id); 102 void UpdateProblemData(long problemId, byte[] data); 134 103 #endregion 135 104 } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj
r5481 r5482 121 121 <ItemGroup> 122 122 <Compile Include="Administration\AdministrationService.cs" /> 123 <Compile Include="Administration\Convert.cs" /> 124 <Compile Include="Administration\DataTransfer\Algorithm.cs" /> 125 <Compile Include="Administration\DataTransfer\AlgorithmClass.cs" /> 126 <Compile Include="Administration\DataTransfer\DataType.cs" /> 127 <Compile Include="Administration\DataTransfer\NamedOKBItem.cs" /> 128 <Compile Include="Administration\DataTransfer\OKBItem.cs" /> 129 <Compile Include="Administration\DataTransfer\Platform.cs" /> 130 <Compile Include="Administration\DataTransfer\Problem.cs" /> 131 <Compile Include="Administration\DataTransfer\ProblemClass.cs" /> 123 132 <Compile Include="Administration\IAdministrationService.cs" /> 124 133 <Compile Include="Authentication\AuthenticationService.cs" /> … … 127 136 <Compile Include="Convert.cs" /> 128 137 <Compile Include="Properties\AssemblyInfo.cs" /> 129 <Compile Include="Query\Filters\AlgorithmClassNameFilter.cs" /> 130 <Compile Include="Query\Filters\AlgorithmDataDataTypeNameFilter.cs" /> 131 <Compile Include="Query\Filters\AlgorithmNameFilter.cs" /> 132 <Compile Include="Query\Filters\AlgorithmParameterBlobValueDataTypeNameFilter.cs" /> 133 <Compile Include="Query\Filters\AlgorithmParameterBlobValueValueFilter.cs" /> 134 <Compile Include="Query\Filters\AlgorithmParameterBoolValueValueFilter.cs" /> 135 <Compile Include="Query\Filters\AlgorithmParameterFloatValueValueFilter.cs" /> 136 <Compile Include="Query\Filters\AlgorithmParameterIntValueValueFilter.cs" /> 137 <Compile Include="Query\Filters\AlgorithmParameterNameFilter.cs" /> 138 <Compile Include="Query\Filters\AlgorithmParameterStringValueValueFilter.cs" /> 139 <Compile Include="Query\Filters\AlgorithmPlatformNameFilter.cs" /> 140 <Compile Include="Query\Filters\AndFilter.cs" /> 141 <Compile Include="Query\Filters\OrFilter.cs" /> 142 <Compile Include="Query\Filters\ProblemClassNameFilter.cs" /> 143 <Compile Include="Query\Filters\ProblemDataDataTypeNameFilter.cs" /> 144 <Compile Include="Query\Filters\ProblemNameFilter.cs" /> 145 <Compile Include="Query\Filters\ProblemParameterBlobValueDataTypeNameFilter.cs" /> 146 <Compile Include="Query\Filters\ProblemParameterBlobValueValueFilter.cs" /> 147 <Compile Include="Query\Filters\ProblemParameterBoolValueValueFilter.cs" /> 148 <Compile Include="Query\Filters\ProblemParameterFloatValueValueFilter.cs" /> 149 <Compile Include="Query\Filters\ProblemParameterIntValueValueFilter.cs" /> 150 <Compile Include="Query\Filters\ProblemParameterNameFilter.cs" /> 151 <Compile Include="Query\Filters\ProblemParameterStringValueValueFilter.cs" /> 152 <Compile Include="Query\Filters\ProblemPlatformNameFilter.cs" /> 153 <Compile Include="Query\Filters\ResultBlobValueDataTypeNameFilter.cs" /> 154 <Compile Include="Query\Filters\ResultBlobValueValueFilter.cs" /> 155 <Compile Include="Query\Filters\ResultBoolValueValueFilter.cs" /> 156 <Compile Include="Query\Filters\ResultFloatValueValueFilter.cs" /> 157 <Compile Include="Query\Filters\ResultIntValueValueFilter.cs" /> 158 <Compile Include="Query\Filters\ResultNameFilter.cs" /> 159 <Compile Include="Query\Filters\ResultStringValueValueFilter.cs" /> 160 <Compile Include="Query\Filters\RunClientNameFilter.cs" /> 161 <Compile Include="Query\Filters\RunCreatedDateFilter.cs" /> 162 <Compile Include="Query\Filters\RunRandomSeedFilter.cs" /> 163 <Compile Include="Query\Filters\RunUserNameFilter.cs" /> 164 <Compile Include="Query\IFilter.cs" /> 138 <Compile Include="Query\DataTransfer\Algorithm.cs" /> 139 <Compile Include="Query\DataTransfer\AlgorithmClass.cs" /> 140 <Compile Include="Query\DataTransfer\BinaryValue.cs" /> 141 <Compile Include="Query\DataTransfer\BooleanOperation.cs" /> 142 <Compile Include="Query\DataTransfer\BoolValue.cs" /> 143 <Compile Include="Query\DataTransfer\CombinedFilter.cs" /> 144 <Compile Include="Query\DataTransfer\DataType.cs" /> 145 <Compile Include="Query\DataTransfer\DoubleValue.cs" /> 146 <Compile Include="Query\DataTransfer\EqualityComparison.cs" /> 147 <Compile Include="Query\DataTransfer\EqualityComparisonFilter.cs" /> 148 <Compile Include="Query\DataTransfer\Filter.cs" /> 149 <Compile Include="Query\DataTransfer\FloatValue.cs" /> 150 <Compile Include="Query\DataTransfer\IntValue.cs" /> 151 <Compile Include="Query\DataTransfer\LongValue.cs" /> 152 <Compile Include="Query\DataTransfer\NameEqualityComparisonBoolFilter.cs" /> 153 <Compile Include="Query\DataTransfer\NameEqualityComparisonByteArrayFilter.cs" /> 154 <Compile Include="Query\DataTransfer\NameOrdinalComparisonDoubleFilter.cs" /> 155 <Compile Include="Query\DataTransfer\NameOrdinalComparisonFloatFilter.cs" /> 156 <Compile Include="Query\DataTransfer\NameOrdinalComparisonIntFilter.cs" /> 157 <Compile Include="Query\DataTransfer\NameOrdinalComparisonLongFilter.cs" /> 158 <Compile Include="Query\DataTransfer\NameStringComparisonAvailableValuesFilter.cs" /> 159 <Compile Include="Query\DataTransfer\NameStringComparisonFilter.cs" /> 160 <Compile Include="Query\DataTransfer\OrdinalComparison.cs" /> 161 <Compile Include="Query\DataTransfer\OrdinalComparisonDateTimeFilter.cs" /> 162 <Compile Include="Query\DataTransfer\OrdinalComparisonFilter.cs" /> 163 <Compile Include="Query\DataTransfer\OrdinalComparisonIntFilter.cs" /> 164 <Compile Include="Query\DataTransfer\OrdinalComparisonLongFilter.cs" /> 165 <Compile Include="Query\DataTransfer\Platform.cs" /> 166 <Compile Include="Query\DataTransfer\Problem.cs" /> 167 <Compile Include="Query\DataTransfer\ProblemClass.cs" /> 168 <Compile Include="Query\DataTransfer\Run.cs" /> 169 <Compile Include="Query\DataTransfer\StringComparison.cs" /> 170 <Compile Include="Query\DataTransfer\StringComparisonAvailableValuesFilter.cs" /> 171 <Compile Include="Query\DataTransfer\StringComparisonFilter.cs" /> 172 <Compile Include="Query\DataTransfer\StringValue.cs" /> 173 <Compile Include="Query\DataTransfer\Value.cs" /> 174 <Compile Include="Query\Filters\AlgorithmClassNameFilter.cs"> 175 <SubType>Code</SubType> 176 </Compile> 177 <Compile Include="Query\Filters\AlgorithmDataDataTypeNameFilter.cs"> 178 <SubType>Code</SubType> 179 </Compile> 180 <Compile Include="Query\Filters\AlgorithmNameFilter.cs"> 181 <SubType>Code</SubType> 182 </Compile> 183 <Compile Include="Query\Filters\AlgorithmParameterBlobValueDataTypeNameFilter.cs"> 184 <SubType>Code</SubType> 185 </Compile> 186 <Compile Include="Query\Filters\AlgorithmParameterBlobValueValueFilter.cs"> 187 <SubType>Code</SubType> 188 </Compile> 189 <Compile Include="Query\Filters\AlgorithmParameterBoolValueValueFilter.cs"> 190 <SubType>Code</SubType> 191 </Compile> 192 <Compile Include="Query\Filters\AlgorithmParameterFloatValueValueFilter.cs"> 193 <SubType>Code</SubType> 194 </Compile> 195 <Compile Include="Query\Filters\AlgorithmParameterIntValueValueFilter.cs"> 196 <SubType>Code</SubType> 197 </Compile> 198 <Compile Include="Query\Filters\AlgorithmParameterNameFilter.cs"> 199 <SubType>Code</SubType> 200 </Compile> 201 <Compile Include="Query\Filters\AlgorithmParameterStringValueValueFilter.cs"> 202 <SubType>Code</SubType> 203 </Compile> 204 <Compile Include="Query\Filters\AlgorithmPlatformNameFilter.cs"> 205 <SubType>Code</SubType> 206 </Compile> 207 <Compile Include="Query\Filters\AndFilter.cs"> 208 <SubType>Code</SubType> 209 </Compile> 210 <Compile Include="Query\Filters\IFilter.cs" /> 211 <Compile Include="Query\Filters\OrFilter.cs"> 212 <SubType>Code</SubType> 213 </Compile> 214 <Compile Include="Query\Filters\ProblemClassNameFilter.cs"> 215 <SubType>Code</SubType> 216 </Compile> 217 <Compile Include="Query\Filters\ProblemDataDataTypeNameFilter.cs"> 218 <SubType>Code</SubType> 219 </Compile> 220 <Compile Include="Query\Filters\ProblemNameFilter.cs"> 221 <SubType>Code</SubType> 222 </Compile> 223 <Compile Include="Query\Filters\ProblemParameterBlobValueDataTypeNameFilter.cs"> 224 <SubType>Code</SubType> 225 </Compile> 226 <Compile Include="Query\Filters\ProblemParameterBlobValueValueFilter.cs"> 227 <SubType>Code</SubType> 228 </Compile> 229 <Compile Include="Query\Filters\ProblemParameterBoolValueValueFilter.cs"> 230 <SubType>Code</SubType> 231 </Compile> 232 <Compile Include="Query\Filters\ProblemParameterFloatValueValueFilter.cs"> 233 <SubType>Code</SubType> 234 </Compile> 235 <Compile Include="Query\Filters\ProblemParameterIntValueValueFilter.cs"> 236 <SubType>Code</SubType> 237 </Compile> 238 <Compile Include="Query\Filters\ProblemParameterNameFilter.cs"> 239 <SubType>Code</SubType> 240 </Compile> 241 <Compile Include="Query\Filters\ProblemParameterStringValueValueFilter.cs"> 242 <SubType>Code</SubType> 243 </Compile> 244 <Compile Include="Query\Filters\ProblemPlatformNameFilter.cs"> 245 <SubType>Code</SubType> 246 </Compile> 247 <Compile Include="Query\Filters\ResultBlobValueDataTypeNameFilter.cs"> 248 <SubType>Code</SubType> 249 </Compile> 250 <Compile Include="Query\Filters\ResultBlobValueValueFilter.cs"> 251 <SubType>Code</SubType> 252 </Compile> 253 <Compile Include="Query\Filters\ResultBoolValueValueFilter.cs"> 254 <SubType>Code</SubType> 255 </Compile> 256 <Compile Include="Query\Filters\ResultFloatValueValueFilter.cs"> 257 <SubType>Code</SubType> 258 </Compile> 259 <Compile Include="Query\Filters\ResultIntValueValueFilter.cs"> 260 <SubType>Code</SubType> 261 </Compile> 262 <Compile Include="Query\Filters\ResultNameFilter.cs"> 263 <SubType>Code</SubType> 264 </Compile> 265 <Compile Include="Query\Filters\ResultStringValueValueFilter.cs"> 266 <SubType>Code</SubType> 267 </Compile> 268 <Compile Include="Query\Filters\RunClientNameFilter.cs"> 269 <SubType>Code</SubType> 270 </Compile> 271 <Compile Include="Query\Filters\RunCreatedDateFilter.cs"> 272 <SubType>Code</SubType> 273 </Compile> 274 <Compile Include="Query\Filters\RunRandomSeedFilter.cs"> 275 <SubType>Code</SubType> 276 </Compile> 277 <Compile Include="Query\Filters\RunUserNameFilter.cs"> 278 <SubType>Code</SubType> 279 </Compile> 165 280 <Compile Include="Query\IQueryService.cs" /> 166 281 <Compile Include="Query\QueryService.cs" /> … … 200 315 </ProjectReference> 201 316 </ItemGroup> 202 <ItemGroup> 203 <Folder Include="Administration\DataTransfer\" /> 204 <Folder Include="Query\DataTransfer\" /> 205 </ItemGroup> 317 <ItemGroup /> 206 318 <ItemGroup> 207 319 <Service Include="{3259AA49-8AA1-44D3-9025-A0B520596A8C}" /> -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmClassNameFilter.cs
r5378 r5482 24 24 using HeuristicLab.Services.OKB.DataAccess; 25 25 26 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 27 27 public class AlgorithmClassNameFilter : IFilter { 28 28 public DataTransfer.StringComparison Comparison { get; set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmDataDataTypeNameFilter.cs
r5378 r5482 24 24 using HeuristicLab.Services.OKB.DataAccess; 25 25 26 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 27 27 public class AlgorithmDataDataTypeNameFilter : IFilter { 28 28 public DataTransfer.StringComparison Comparison { get; set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmNameFilter.cs
r5378 r5482 24 24 using HeuristicLab.Services.OKB.DataAccess; 25 25 26 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 27 27 public class AlgorithmNameFilter : IFilter { 28 28 public DataTransfer.StringComparison Comparison { get; set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterBlobValueDataTypeNameFilter.cs
r5378 r5482 21 21 22 22 using System; 23 using System.Linq;24 23 using System.Linq.Expressions; 25 24 using HeuristicLab.Services.OKB.DataAccess; 26 25 27 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 28 27 public class AlgorithmParameterBlobValueDataTypeNameFilter : IFilter { 29 28 public string Name { get; protected set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterBlobValueValueFilter.cs
r5286 r5482 21 21 22 22 using System; 23 using System.Linq;24 23 using System.Linq.Expressions; 25 24 using HeuristicLab.Services.OKB.DataAccess; 26 25 27 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 28 27 public class AlgorithmParameterBlobValueValueFilter : IFilter { 29 28 public string Name { get; protected set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterBoolValueValueFilter.cs
r5286 r5482 21 21 22 22 using System; 23 using System.Linq;24 23 using System.Linq.Expressions; 25 24 using HeuristicLab.Services.OKB.DataAccess; 26 25 27 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 28 27 public class AlgorithmParameterBoolValueValueFilter : IFilter { 29 28 public string Name { get; protected set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterFloatValueValueFilter.cs
r5286 r5482 21 21 22 22 using System; 23 using System.Linq;24 23 using System.Linq.Expressions; 25 24 using HeuristicLab.Services.OKB.DataAccess; 26 25 27 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 28 27 public class AlgorithmParameterFloatValueValueFilter : IFilter { 29 28 public string Name { get; protected set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterIntValueValueFilter.cs
r5286 r5482 21 21 22 22 using System; 23 using System.Linq;24 23 using System.Linq.Expressions; 25 24 using HeuristicLab.Services.OKB.DataAccess; 26 25 27 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 28 27 public class AlgorithmParameterIntValueValueFilter : IFilter { 29 28 public string Name { get; protected set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterNameFilter.cs
r5378 r5482 21 21 22 22 using System; 23 using System.Linq;24 23 using System.Linq.Expressions; 25 24 using HeuristicLab.Services.OKB.DataAccess; 26 25 27 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 28 27 public class AlgorithmParameterNameFilter : IFilter { 29 28 public DataTransfer.StringComparison Comparison { get; set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterStringValueValueFilter.cs
r5378 r5482 21 21 22 22 using System; 23 using System.Linq;24 23 using System.Linq.Expressions; 25 24 using HeuristicLab.Services.OKB.DataAccess; 26 25 27 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 28 27 public class AlgorithmParameterStringValueValueFilter : IFilter { 29 28 public string Name { get; protected set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmPlatformNameFilter.cs
r5378 r5482 24 24 using HeuristicLab.Services.OKB.DataAccess; 25 25 26 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 27 27 public class AlgorithmPlatformNameFilter : IFilter { 28 28 public DataTransfer.StringComparison Comparison { get; set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AndFilter.cs
r5304 r5482 22 22 using System; 23 23 using System.Collections.Generic; 24 using System.Linq;25 24 using System.Linq.Expressions; 26 25 using HeuristicLab.Services.OKB.DataAccess; 27 26 28 namespace HeuristicLab.Services.OKB {27 namespace HeuristicLab.Services.OKB.Query.Filters { 29 28 public class AndFilter : IFilter { 30 29 public List<IFilter> Filters { get; private set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/IFilter.cs
r5480 r5482 24 24 using HeuristicLab.Services.OKB.DataAccess; 25 25 26 namespace HeuristicLab.Services.OKB.Query {26 namespace HeuristicLab.Services.OKB.Query.Filters { 27 27 public interface IFilter { 28 28 Expression<Func<Run, bool>> Expression { get; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/OrFilter.cs
r5304 r5482 22 22 using System; 23 23 using System.Collections.Generic; 24 using System.Linq;25 24 using System.Linq.Expressions; 26 25 using HeuristicLab.Services.OKB.DataAccess; 27 26 28 namespace HeuristicLab.Services.OKB {27 namespace HeuristicLab.Services.OKB.Query.Filters { 29 28 public class OrFilter : IFilter { 30 29 public List<IFilter> Filters { get; private set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/ProblemClassNameFilter.cs
r5378 r5482 24 24 using HeuristicLab.Services.OKB.DataAccess; 25 25 26 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 27 27 public class ProblemClassNameFilter : IFilter { 28 28 public DataTransfer.StringComparison Comparison { get; set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/ProblemDataDataTypeNameFilter.cs
r5378 r5482 24 24 using HeuristicLab.Services.OKB.DataAccess; 25 25 26 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 27 27 public class ProblemDataDataTypeNameFilter : IFilter { 28 28 public DataTransfer.StringComparison Comparison { get; set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/ProblemNameFilter.cs
r5378 r5482 24 24 using HeuristicLab.Services.OKB.DataAccess; 25 25 26 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 27 27 public class ProblemNameFilter : IFilter { 28 28 public DataTransfer.StringComparison Comparison { get; set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/ProblemParameterBlobValueDataTypeNameFilter.cs
r5378 r5482 21 21 22 22 using System; 23 using System.Linq;24 23 using System.Linq.Expressions; 25 24 using HeuristicLab.Services.OKB.DataAccess; 26 25 27 namespace HeuristicLab.Services.OKB {26 namespace HeuristicLab.Services.OKB.Query.Filters { 28 27 public class ProblemParameterBlobValueDataTypeNameFilter : IFilter { 29 28 public string Name { get; protected set; } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/IQueryService.cs
r5479 r5482 23 23 using System.Net.Security; 24 24 using System.ServiceModel; 25 using HeuristicLab.Services.OKB. DataTransfer;25 using HeuristicLab.Services.OKB.Query.DataTransfer; 26 26 27 27 namespace HeuristicLab.Services.OKB.Query { … … 35 35 36 36 [OperationContract] 37 long GetNumberOf QueryResults(Filter filter);37 long GetNumberOfRuns(Filter filter); 38 38 39 39 [OperationContract] 40 IEnumerable<long> Get QueryResultIds(Filter filter);40 IEnumerable<long> GetRunIds(Filter filter); 41 41 42 42 [OperationContract] 43 IEnumerable< QueryResult> GetQueryResults(IEnumerable<long> ids);43 IEnumerable<Run> GetRuns(IEnumerable<long> ids); 44 44 } 45 45 } -
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/QueryService.cs
r5479 r5482 26 26 using System.ServiceModel; 27 27 using HeuristicLab.Services.OKB.DataAccess; 28 using HeuristicLab.Services.OKB. DataTransfer;28 using HeuristicLab.Services.OKB.Query.DataTransfer; 29 29 30 30 namespace HeuristicLab.Services.OKB.Query { … … 107 107 } 108 108 109 public long GetNumberOf QueryResults(Filter filter) {109 public long GetNumberOfRuns(Filter filter) { 110 110 using (OKBDataContext okb = new OKBDataContext()) { 111 111 return FilterRuns(okb.Runs, filter).LongCount(); … … 113 113 } 114 114 115 public IEnumerable<long> Get QueryResultIds(Filter filter) {115 public IEnumerable<long> GetRunIds(Filter filter) { 116 116 using (OKBDataContext okb = new OKBDataContext()) { 117 117 return FilterRuns(okb.Runs, filter).Select(x => x.Id).ToArray(); … … 119 119 } 120 120 121 public IEnumerable< QueryResult> GetQueryResults(IEnumerable<long> ids) {121 public IEnumerable<DataTransfer.Run> GetRuns(IEnumerable<long> ids) { 122 122 using (OKBDataContext okb = new OKBDataContext()) { 123 123 DataLoadOptions dlo = new DataLoadOptions();
Note: See TracChangeset
for help on using the changeset viewer.