diff --git a/DD.Persistence.Client/Clients/Mapping/Clients/SetpointMappingClient.cs b/DD.Persistence.Client/Clients/Mapping/Clients/SetpointMappingClient.cs
index a090d4d..1942ad4 100644
--- a/DD.Persistence.Client/Clients/Mapping/Clients/SetpointMappingClient.cs
+++ b/DD.Persistence.Client/Clients/Mapping/Clients/SetpointMappingClient.cs
@@ -13,6 +13,7 @@ public class SetpointMappingClient : ISetpointMappingClient
private readonly ISetpointClient setpointClient;
private readonly MappingConfig mappingConfigs;
+ ///
public SetpointMappingClient(ISetpointClient setpointClient, MappingConfig mappingConfigs)
{
this.setpointClient = setpointClient;
@@ -62,11 +63,11 @@ public class SetpointMappingClient : ISetpointMappingClient
///
public async Task> GetPart(DateTimeOffset dateBegin, int take, CancellationToken token)
{
- var res = await setpointClient.GetPart(dateBegin, take, token);
+ var result = await setpointClient.GetPart(dateBegin, take, token);
- DeserializeList(res);
+ DeserializeList(result);
- return res;
+ return result;
}
///
@@ -81,6 +82,7 @@ public class SetpointMappingClient : ISetpointMappingClient
public void Dispose()
{
setpointClient.Dispose();
+
}
private object DeserializeValue(Guid key, JsonElement value)
diff --git a/DD.Persistence.Client/Clients/Mapping/Clients/TimestampedMappingClient.cs b/DD.Persistence.Client/Clients/Mapping/Clients/TimestampedMappingClient.cs
index 0d73376..09aa283 100644
--- a/DD.Persistence.Client/Clients/Mapping/Clients/TimestampedMappingClient.cs
+++ b/DD.Persistence.Client/Clients/Mapping/Clients/TimestampedMappingClient.cs
@@ -2,6 +2,7 @@
using DD.Persistence.Client.Clients.Mapping.Abstractions;
using DD.Persistence.Models;
using DD.Persistence.Models.Common;
+using Microsoft.Extensions.Logging;
namespace DD.Persistence.Client.Clients.Mapping.Clients;
diff --git a/DD.Persistence.Client/Clients/Mapping/MapperStorage.cs b/DD.Persistence.Client/Clients/Mapping/MapperStorage.cs
index ab0d91c..74d33d7 100644
--- a/DD.Persistence.Client/Clients/Mapping/MapperStorage.cs
+++ b/DD.Persistence.Client/Clients/Mapping/MapperStorage.cs
@@ -1,5 +1,6 @@
using DD.Persistence.Client.Clients.Mapping.Abstractions;
using DD.Persistence.Models.Configurations;
+using Microsoft.Extensions.Logging;
using System;
using System.Collections.Concurrent;
@@ -8,22 +9,25 @@ internal class MapperStorage : IMapperStorage
{
private readonly ConcurrentDictionary mapperCache = new();
private readonly MappingConfig mappingConfigs;
- public MapperStorage(MappingConfig mappingConfigs)
+ private readonly ILogger logger;
+
+ public MapperStorage(MappingConfig mappingConfigs, ILogger logger)
{
this.mappingConfigs = mappingConfigs;
+ this.logger = logger;
}
public TimestampedSetMapper? GetMapper(Guid idDiscriminator)
{
- if(mappingConfigs.TryGetValue(idDiscriminator, out var type))
- return mapperCache.GetOrAdd(idDiscriminator, name => new TimestampedSetMapper(idDiscriminator, type));
+ if (mappingConfigs.TryGetValue(idDiscriminator, out var type))
+ return mapperCache.GetOrAdd(idDiscriminator, name => new TimestampedSetMapper(idDiscriminator, type, logger));
return null;
}
public TimestampedSetMapper GetMapper(Guid idDiscriminator)
{
- return mapperCache.GetOrAdd(idDiscriminator, name => new TimestampedSetMapper(idDiscriminator, typeof(T)));
+ return mapperCache.GetOrAdd(idDiscriminator, name => new TimestampedSetMapper(idDiscriminator, typeof(T), logger));
}
}
diff --git a/DD.Persistence.Client/Clients/Mapping/TimestampedSetMapper.cs b/DD.Persistence.Client/Clients/Mapping/TimestampedSetMapper.cs
index 1911d09..38c1bea 100644
--- a/DD.Persistence.Client/Clients/Mapping/TimestampedSetMapper.cs
+++ b/DD.Persistence.Client/Clients/Mapping/TimestampedSetMapper.cs
@@ -1,4 +1,5 @@
using DD.Persistence.Models;
+using Microsoft.Extensions.Logging;
using System.Collections.Concurrent;
using System.Reflection;
using System.Runtime.CompilerServices;
@@ -9,13 +10,16 @@ namespace DD.Persistence.Client.Clients.Mapping;
internal class TimestampedSetMapper
{
private readonly Type entityType;
+ private readonly ILogger logger;
+
public Guid IdDiscriminator { get; }
private readonly ConcurrentDictionary PropertyCache = new();
- public TimestampedSetMapper(Guid idDiscriminator, Type entityType)
+ public TimestampedSetMapper(Guid idDiscriminator, Type entityType, ILogger logger)
{
IdDiscriminator = idDiscriminator;
this.entityType = entityType;
+ this.logger = logger;
}
public object DeserializeTimeStampedData(TimestampedValuesDto data)
@@ -66,7 +70,10 @@ internal class TimestampedSetMapper
var value = element.Deserialize(property.PropertyType);
property.SetValue(entity, value);
}
- catch (Exception) { }
+ catch (Exception ex)
+ {
+ logger.LogError(ex.Message);
+ }
}
private void SetPropertyValueForStruct(ref object entity, string propertyName, object value)
{
@@ -79,7 +86,10 @@ internal class TimestampedSetMapper
var convertedValue = Convert.ChangeType(value, property.PropertyType);
property.SetValue(entity, convertedValue);
}
- catch (Exception) { }
+ catch (Exception ex)
+ {
+ logger.LogError(ex.Message);
+ }
}
@@ -95,7 +105,10 @@ internal class TimestampedSetMapper
var value = jsonElement.Deserialize(property.PropertyType);
property.SetValue(entity, value);
}
- catch (Exception) { }
+ catch (Exception ex)
+ {
+ logger.LogError(ex.Message);
+ }
}
private void SetPropertyValue(ref object entity, string propertyName, object value)
@@ -109,7 +122,10 @@ internal class TimestampedSetMapper
var convertedValue = Convert.ChangeType(value, property.PropertyType);
property.SetValue(entity, convertedValue);
}
- catch (Exception) { }
+ catch (Exception ex)
+ {
+ logger.LogError(ex.Message);
+ }
}
private PropertyInfo? GetPropertyInfo(string propertyName)
diff --git a/DD.Persistence.Test/MappingClientsTest.cs b/DD.Persistence.Test/MappingClientsTest.cs
index 78648f9..b5d2e70 100644
--- a/DD.Persistence.Test/MappingClientsTest.cs
+++ b/DD.Persistence.Test/MappingClientsTest.cs
@@ -3,6 +3,7 @@ using DD.Persistence.Client.Clients.Mapping;
using DD.Persistence.Client.Clients.Mapping.Clients;
using DD.Persistence.Models;
using DD.Persistence.Models.Configurations;
+using Microsoft.Extensions.Logging;
using NSubstitute;
using System.Text.Json;
@@ -15,6 +16,7 @@ public record SecondTestDto(Guid DiscriminatorId, DateTimeOffset Timestamp, int
public class MappingClientsTest
{
private readonly ITimestampedValuesClient timestampedValuesClient = Substitute.For();
+ private readonly ILogger logger = Substitute.For>();
private readonly TimestampedMappingClient timestampedMappingClient;
private readonly MappingConfig mappingConfigs;
@@ -23,7 +25,7 @@ public class MappingClientsTest
public MappingClientsTest()
{
mappingConfigs = GetConfig();
- var storage = new MapperStorage(mappingConfigs);
+ var storage = new MapperStorage(mappingConfigs, logger);
timestampedMappingClient = new TimestampedMappingClient(timestampedValuesClient, storage);
}