aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore')
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore/DefaultDataStoreService.cs12
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: