diff options
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore')
| -rw-r--r-- | Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore/DefaultDataStoreService.cs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore/DefaultDataStoreService.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore/DefaultDataStoreService.cs index e5bec90f2..e6da8e8e7 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore/DefaultDataStoreService.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore/DefaultDataStoreService.cs @@ -58,7 +58,7 @@ namespace Tango.PPC.Common.DataStore [ExternalBridgeRequestHandlerMethod(typeof(RemoteDataStoreGetRequest), RequestHandlerLoggingMode.LogRequestName)] public async Task OnRemoteDataStoreGetRequest(RemoteDataStoreGetRequest request, String token, ExternalBridgeReceiver receiver) { - var value = GetManager().GetCollection(request.Collection).Get(request.Key); + var value = GetManager().GetCollection(request.Collection).Get(request.Key, request.DefaultValue); await receiver.SendGenericResponse(new RemoteDataStoreGetResponse() { Value = value @@ -68,7 +68,7 @@ namespace Tango.PPC.Common.DataStore [ExternalBridgeRequestHandlerMethod(typeof(RemoteDataStoreGetItemRequest), RequestHandlerLoggingMode.LogRequestName)] public async Task OnRemoteDataStoreGetItemRequest(RemoteDataStoreGetItemRequest request, String token, ExternalBridgeReceiver receiver) { - var item = GetManager().GetCollection(request.Collection).GetItem(request.Key); + var item = GetManager().GetCollection(request.Collection).GetItem(request.Key, request.DefaultValue); await receiver.SendGenericResponse(new RemoteDataStoreGetItemResponse() { Item = item @@ -127,7 +127,7 @@ namespace Tango.PPC.Common.DataStore { try { - GetManager().GetCollection(request.Collection).Put(request.Item.Key, GetPMRValue(request.Item)); + GetManager().GetCollection(request.Collection).Put(request.Key, GetPMRValue(request.Item)); await transporter.SendResponse(new PutDataStoreItemResponse(), token); } catch (Exception ex) @@ -151,9 +151,10 @@ namespace Tango.PPC.Common.DataStore { try { - var item = GetManager().GetCollection(request.Collection).GetItem(request.Key); + var item = GetManager().GetCollection(request.Collection).GetItem(request.Key, GetPMRValue(request.DefaultItem)); await transporter.SendResponse(new GetDataStoreItemResponse() { + Key = item.Key, Item = CreatePMRDataStoreItem(item), }, token); } @@ -194,7 +195,6 @@ namespace Tango.PPC.Common.DataStore private DataStoreItem CreatePMRDataStoreItem(IDataStoreItem item) { DataStoreItem pmr = new DataStoreItem(); - pmr.Key = item.Key; pmr.DataType = (PMR.DataStore.DataType)item.Type; switch (item.Type) @@ -224,6 +224,8 @@ namespace Tango.PPC.Common.DataStore private Object GetPMRValue(DataStoreItem item) { + if (item == null) return null; + switch (item.DataType) { case PMR.DataStore.DataType.Int32: |
