- Timestamp:
- 12/07/08 18:03:51 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ResourceAdapter.cs
r899 r925 26 26 using HeuristicLab.Hive.Server.Core.InternalInterfaces.DataAccess; 27 27 using HeuristicLab.Hive.Contracts.BusinessObjects; 28 using System.Runtime.CompilerServices; 28 29 29 30 namespace HeuristicLab.Hive.Server.ADODataAccess { 30 class ResourceAdapter: IResourceAdapter { 31 #region IResourceAdapter Members 31 class ResourceAdapter: DataAdapterBase, IResourceAdapter { 32 32 private dsHiveServerTableAdapters.ResourceTableAdapter adapter = 33 new dsHiveServerTableAdapters.ResourceTableAdapter();33 new dsHiveServerTableAdapters.ResourceTableAdapter(); 34 34 35 private Resource Convert(dsHiveServer.ResourceRow row, 35 private dsHiveServer.ResourceDataTable data = 36 new dsHiveServer.ResourceDataTable(); 37 38 public ResourceAdapter() { 39 adapter.Fill(data); 40 } 41 42 protected override void Update() { 43 this.adapter.Update(this.data); 44 } 45 46 private Resource Convert(dsHiveServer.ResourceRow row, 36 47 Resource resource) { 37 48 if (row != null && resource != null) { … … 43 54 44 55 return resource; 45 } else 56 } else 46 57 return null; 47 58 } … … 57 68 } 58 69 70 #region IResourceAdapter Members 71 [MethodImpl(MethodImplOptions.Synchronized)] 59 72 public void UpdateResource(Resource resource) { 60 73 if (resource != null) { 61 dsHiveServer.Resource DataTable data=62 adapter.GetDataById(resource.ResourceId);74 dsHiveServer.ResourceRow row = 75 data.FindByResourceId(resource.ResourceId); 63 76 64 dsHiveServer.ResourceRow row; 65 if (data.Count == 0) { 77 if (row == null) { 66 78 row = data.NewResourceRow(); 67 79 data.AddResourceRow(row); 68 } else { 69 row = data[0]; 70 } 80 81 //write row to db to get primary key 82 adapter.Update(row); 83 } 71 84 72 85 Convert(resource, row); 73 74 adapter.Update(data);75 76 86 resource.ResourceId = row.ResourceId; 77 87 } 78 88 } 79 89 80 internal bool FillResource(Resource resource) {90 public bool GetResourceById(Resource resource) { 81 91 if (resource != null) { 82 dsHiveServer.ResourceDataTable data = 83 adapter.GetDataById(resource.ResourceId); 84 if (data.Count == 1) { 85 dsHiveServer.ResourceRow row = 86 data[0]; 92 dsHiveServer.ResourceRow row = 93 data.FindByResourceId(resource.ResourceId); 94 if (row != null) { 87 95 Convert(row, resource); 88 96 … … 98 106 resource.ResourceId = resourceId; 99 107 100 if( FillResource(resource))108 if(GetResourceById(resource)) 101 109 return resource; 102 110 else … … 105 113 106 114 public ICollection<Resource> GetAllResources() { 107 I Collection<Resource> allResources =115 IList<Resource> allResources = 108 116 new List<Resource>(); 109 110 dsHiveServer.ResourceDataTable data = 111 adapter.GetData(); 112 117 113 118 foreach (dsHiveServer.ResourceRow row in data) { 114 119 Resource resource = new Resource(); … … 120 125 } 121 126 127 [MethodImpl(MethodImplOptions.Synchronized)] 122 128 public bool DeleteResource(Resource resource) { 123 129 if(resource != null) { 130 dsHiveServer.ResourceRow row = 131 data.FindByResourceId(resource.ResourceId); 124 132 125 dsHiveServer.ResourceDataTable data =126 adapter.GetDataById(resource.ResourceId);133 if (row != null) { 134 data.RemoveResourceRow(row); 127 135 128 if (data.Count == 1) { 129 dsHiveServer.ResourceRow row = data[0]; 130 131 row.Delete(); 132 return adapter.Update(data) > 0; 136 return true; 133 137 } 134 138 }
Note: See TracChangeset
for help on using the changeset viewer.