- Timestamp:
- 03/31/09 01:33:37 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Hive.Server.Core/ClientManager.cs
r1449 r1468 28 28 using HeuristicLab.Hive.Contracts; 29 29 using HeuristicLab.Hive.Server.DataAccess; 30 using HeuristicLab.DataAccess.Interfaces; 30 31 31 32 namespace HeuristicLab.Hive.Server.Core { 32 33 class ClientManager: IClientManager { 33 34 34 IClientAdapter clientAdapter; 35 IClientGroupAdapter clientGroupAdapter; 36 35 ISessionFactory factory; 37 36 List<ClientGroup> clientGroups; 38 37 39 38 public ClientManager() { 40 clientAdapter = ServiceLocator.GetClientAdapter(); 41 clientGroupAdapter = ServiceLocator.GetClientGroupAdapter(); 42 39 factory = ServiceLocator.GetSessionFactory(); 40 43 41 clientGroups = new List<ClientGroup>(); 44 45 ClientGroup cg = new ClientGroup { Id = Guid.NewGuid(), Name = "SuperGroup" };46 cg.Resources = new List<Resource>();47 48 clientGroups.Add(cg);49 42 } 50 43 … … 56 49 /// <returns></returns> 57 50 public ResponseList<ClientInfo> GetAllClients() { 58 ResponseList<ClientInfo> response = new ResponseList<ClientInfo>(); 59 60 response.List = new List<ClientInfo>(clientAdapter.GetAll()); 61 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_GET_ALL_CLIENTS; 62 response.Success = true; 63 64 return response; 51 ISession session = factory.GetSessionForCurrentThread(); 52 53 try { 54 IClientAdapter clientAdapter = 55 session.GetDataAdapter<ClientInfo, IClientAdapter>(); 56 57 ResponseList<ClientInfo> response = new ResponseList<ClientInfo>(); 58 59 response.List = new List<ClientInfo>(clientAdapter.GetAll()); 60 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_GET_ALL_CLIENTS; 61 response.Success = true; 62 63 return response; 64 } 65 finally { 66 if (session != null) 67 session.EndSession(); 68 } 65 69 } 66 70 … … 70 74 /// <returns></returns> 71 75 public ResponseList<ClientGroup> GetAllClientGroups() { 72 ResponseList<ClientGroup> response = new ResponseList<ClientGroup>(); 73 74 response.List = new List<ClientGroup>(clientGroupAdapter.GetAll()); 75 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_GET_ALL_CLIENTGROUPS; 76 response.Success = true; 77 78 return response; 76 ISession session = factory.GetSessionForCurrentThread(); 77 78 try { 79 IClientGroupAdapter clientGroupAdapter = 80 session.GetDataAdapter<ClientGroup, IClientGroupAdapter>(); 81 ResponseList<ClientGroup> response = new ResponseList<ClientGroup>(); 82 83 response.List = new List<ClientGroup>(clientGroupAdapter.GetAll()); 84 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_GET_ALL_CLIENTGROUPS; 85 response.Success = true; 86 87 return response; 88 } 89 finally { 90 if (session != null) 91 session.EndSession(); 92 } 79 93 } 80 94 … … 91 105 /// <returns></returns> 92 106 public Response AddClientGroup(ClientGroup clientGroup) { 93 Response response = new Response(); 94 95 if (clientGroup.Id != Guid.Empty) { 96 response.Success = false; 97 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_ID_MUST_NOT_BE_SET; 98 return response; 99 } 100 clientGroupAdapter.Update(clientGroup); 101 response.Success = true; 102 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_CLIENTGROUP_ADDED; 103 104 return response; 107 ISession session = factory.GetSessionForCurrentThread(); 108 109 try { 110 IClientGroupAdapter clientGroupAdapter = 111 session.GetDataAdapter<ClientGroup, IClientGroupAdapter>(); 112 113 Response response = new Response(); 114 115 if (clientGroup.Id != Guid.Empty) { 116 response.Success = false; 117 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_ID_MUST_NOT_BE_SET; 118 } else { 119 clientGroupAdapter.Update(clientGroup); 120 response.Success = true; 121 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_CLIENTGROUP_ADDED; 122 } 123 124 return response; 125 } 126 finally { 127 if (session != null) 128 session.EndSession(); 129 } 105 130 } 106 131 … … 112 137 /// <returns></returns> 113 138 public Response AddResourceToGroup(Guid clientGroupId, Resource resource) { 114 Response response = new Response(); 115 116 if (resource.Id != Guid.Empty) { 117 response.Success = false; 118 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_ID_MUST_NOT_BE_SET; 119 return response; 120 } 121 122 ClientGroup clientGroup = clientGroupAdapter.GetById(clientGroupId); 123 if (clientGroup == null) { 124 response.Success = false; 125 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_CLIENTGROUP_DOESNT_EXIST; 126 return response; 127 } 128 clientGroup.Resources.Add(resource); 129 130 response.Success = true; 131 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_RESOURCE_ADDED_TO_GROUP; 132 133 return response; 139 ISession session = factory.GetSessionForCurrentThread(); 140 141 try { 142 IClientGroupAdapter clientGroupAdapter = 143 session.GetDataAdapter<ClientGroup, IClientGroupAdapter>(); 144 145 Response response = new Response(); 146 147 if (resource.Id != Guid.Empty) { 148 response.Success = false; 149 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_ID_MUST_NOT_BE_SET; 150 return response; 151 } 152 153 ClientGroup clientGroup = clientGroupAdapter.GetById(clientGroupId); 154 if (clientGroup == null) { 155 response.Success = false; 156 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_CLIENTGROUP_DOESNT_EXIST; 157 return response; 158 } 159 clientGroup.Resources.Add(resource); 160 161 response.Success = true; 162 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_RESOURCE_ADDED_TO_GROUP; 163 164 return response; 165 } 166 finally { 167 if (session != null) 168 session.EndSession(); 169 } 134 170 } 135 171 … … 141 177 /// <returns></returns> 142 178 public Response DeleteResourceFromGroup(Guid clientGroupId, Guid resourceId) { 143 Response response = new Response(); 144 145 ClientGroup clientGroup = clientGroupAdapter.GetById(clientGroupId); 146 if (clientGroup == null) { 179 ISession session = factory.GetSessionForCurrentThread(); 180 181 try { 182 IClientGroupAdapter clientGroupAdapter = 183 session.GetDataAdapter<ClientGroup, IClientGroupAdapter>(); 184 185 Response response = new Response(); 186 187 ClientGroup clientGroup = clientGroupAdapter.GetById(clientGroupId); 188 if (clientGroup == null) { 189 response.Success = false; 190 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_CLIENTGROUP_DOESNT_EXIST; 191 return response; 192 } 193 foreach (Resource resource in clientGroup.Resources) { 194 if (resource.Id == resourceId) { 195 clientGroup.Resources.Remove(resource); 196 response.Success = true; 197 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_RESOURCE_REMOVED; 198 return response; 199 } 200 } 147 201 response.Success = false; 148 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_CLIENTGROUP_DOESNT_EXIST; 149 return response; 150 } 151 foreach (Resource resource in clientGroup.Resources) { 152 if (resource.Id == resourceId) { 153 clientGroup.Resources.Remove(resource); 154 response.Success = true; 155 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_RESOURCE_REMOVED; 156 return response; 157 } 158 } 159 response.Success = false; 160 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_RESOURCE_NOT_FOUND; 161 162 return response; 202 response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_RESOURCE_NOT_FOUND; 203 204 return response; 205 } 206 finally { 207 if (session != null) 208 session.EndSession(); 209 } 163 210 } 164 211 #endregion
Note: See TracChangeset
for help on using the changeset viewer.