diff --git a/DD.Persistence.API/DD.Persistence.API.csproj b/DD.Persistence.API/DD.Persistence.API.csproj
index 5ed1097..38dd298 100644
--- a/DD.Persistence.API/DD.Persistence.API.csproj
+++ b/DD.Persistence.API/DD.Persistence.API.csproj
@@ -25,7 +25,6 @@
-
diff --git a/DD.Persistence.API/Startup.cs b/DD.Persistence.API/Startup.cs
index 1a880c0..bc78548 100644
--- a/DD.Persistence.API/Startup.cs
+++ b/DD.Persistence.API/Startup.cs
@@ -1,6 +1,5 @@
using DD.Persistence.Database.Model;
using DD.Persistence.Database.Postgres.Extensions;
-using DD.Persistence.Repository;
namespace DD.Persistence.API;
diff --git a/DD.Persistence.Database.Postgres/DD.Persistence.Database.Postgres.csproj b/DD.Persistence.Database.Postgres/DD.Persistence.Database.Postgres.csproj
index bf406a6..80b6736 100644
--- a/DD.Persistence.Database.Postgres/DD.Persistence.Database.Postgres.csproj
+++ b/DD.Persistence.Database.Postgres/DD.Persistence.Database.Postgres.csproj
@@ -7,11 +7,13 @@
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/DD.Persistence.Database.Postgres/DependencyInjection.cs b/DD.Persistence.Database.Postgres/DependencyInjection.cs
index f0c8ff1..0509061 100644
--- a/DD.Persistence.Database.Postgres/DependencyInjection.cs
+++ b/DD.Persistence.Database.Postgres/DependencyInjection.cs
@@ -1,6 +1,13 @@
-using Microsoft.EntityFrameworkCore;
+using DD.Persistence.Database.Entity;
+using DD.Persistence.Database.Postgres.Repositories;
+using DD.Persistence.Database.Postgres.RepositoriesCached;
+using DD.Persistence.Models;
+using DD.Persistence.Repositories;
+using Mapster;
+using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
+using System.Reflection;
namespace DD.Persistence.Database.Model;
@@ -17,4 +24,37 @@ public static class DependencyInjection
return services;
}
+
+ public static void MapsterSetup()
+ {
+ TypeAdapterConfig.GlobalSettings.Default.Config
+ .ForType()
+ .Ignore(dest => dest.System, dest => dest.SystemId);
+
+ TypeAdapterConfig.NewConfig()
+ .Map(dest => dest.Value, src => new ChangeLogValuesDto()
+ {
+ Value = src.Value,
+ Id = src.Id
+ });
+ }
+
+ public static IServiceCollection AddInfrastructure(this IServiceCollection services)
+ {
+ var typeAdapterConfig = TypeAdapterConfig.GlobalSettings;
+ typeAdapterConfig.RuleMap.Clear();
+ typeAdapterConfig.Scan(Assembly.GetExecutingAssembly());
+
+ MapsterSetup();
+
+ services.AddTransient();
+ services.AddTransient();
+ services.AddTransient();
+ services.AddTransient();
+ services.AddTransient();
+ services.AddTransient();
+ services.AddTransient();
+
+ return services;
+ }
}
diff --git a/DD.Persistence.Repository/Extensions/EFExtensionsSortBy.cs b/DD.Persistence.Database.Postgres/Extensions/EFExtensionsSortBy.cs
similarity index 99%
rename from DD.Persistence.Repository/Extensions/EFExtensionsSortBy.cs
rename to DD.Persistence.Database.Postgres/Extensions/EFExtensionsSortBy.cs
index bed529e..3af7ae0 100644
--- a/DD.Persistence.Repository/Extensions/EFExtensionsSortBy.cs
+++ b/DD.Persistence.Database.Postgres/Extensions/EFExtensionsSortBy.cs
@@ -2,7 +2,7 @@ using System.Collections.Concurrent;
using System.Linq.Expressions;
using System.Reflection;
-namespace DD.Persistence.Repository.Extensions;
+namespace DD.Persistence.Database.Postgres.Extensions;
public static class EFExtensionsSortBy
{
diff --git a/DD.Persistence.Repository/CyclicArray.cs b/DD.Persistence.Database.Postgres/Helpers/CyclicArray.cs
similarity index 99%
rename from DD.Persistence.Repository/CyclicArray.cs
rename to DD.Persistence.Database.Postgres/Helpers/CyclicArray.cs
index 7a7ea1d..fcb5793 100644
--- a/DD.Persistence.Repository/CyclicArray.cs
+++ b/DD.Persistence.Database.Postgres/Helpers/CyclicArray.cs
@@ -1,6 +1,6 @@
using System.Collections;
-namespace DD.Persistence.Repository;
+namespace DD.Persistence.Database.Postgres.Helpers;
///
/// Цикличный массив
///
diff --git a/DD.Persistence.Repository/QueryBuilders.cs b/DD.Persistence.Database.Postgres/Helpers/QueryBuilders.cs
similarity index 90%
rename from DD.Persistence.Repository/QueryBuilders.cs
rename to DD.Persistence.Database.Postgres/Helpers/QueryBuilders.cs
index 52b6429..8529230 100644
--- a/DD.Persistence.Repository/QueryBuilders.cs
+++ b/DD.Persistence.Database.Postgres/Helpers/QueryBuilders.cs
@@ -1,11 +1,10 @@
-using Microsoft.EntityFrameworkCore;
-using DD.Persistence.Models.Requests;
-using DD.Persistence.Models.Common;
-using DD.Persistence.ModelsAbstractions;
-using DD.Persistence.Database.EntityAbstractions;
+using DD.Persistence.Database.EntityAbstractions;
using DD.Persistence.Extensions;
+using DD.Persistence.Models.Common;
+using DD.Persistence.Models.Requests;
+using Microsoft.EntityFrameworkCore;
-namespace DD.Persistence.Repository;
+namespace DD.Persistence.Database.Postgres.Helpers;
///
/// класс с набором методов, необходимых для фильтрации записей
@@ -55,4 +54,4 @@ public static class QueryBuilders
return result;
}
-}
+}
\ No newline at end of file
diff --git a/DD.Persistence.Repository/Repositories/ChangeLogRepository.cs b/DD.Persistence.Database.Postgres/Repositories/ChangeLogRepository.cs
similarity index 98%
rename from DD.Persistence.Repository/Repositories/ChangeLogRepository.cs
rename to DD.Persistence.Database.Postgres/Repositories/ChangeLogRepository.cs
index 2af06ce..c2502ef 100644
--- a/DD.Persistence.Repository/Repositories/ChangeLogRepository.cs
+++ b/DD.Persistence.Database.Postgres/Repositories/ChangeLogRepository.cs
@@ -1,4 +1,5 @@
using DD.Persistence.Database.Entity;
+using DD.Persistence.Database.Postgres.Helpers;
using DD.Persistence.Models;
using DD.Persistence.Models.Common;
using DD.Persistence.Models.Requests;
@@ -7,7 +8,7 @@ using Mapster;
using Microsoft.EntityFrameworkCore;
using UuidExtensions;
-namespace DD.Persistence.Repository.Repositories;
+namespace DD.Persistence.Database.Postgres.Repositories;
public class ChangeLogRepository : IChangeLogRepository
{
private readonly DbContext db;
diff --git a/DD.Persistence.Repository/Repositories/DataSchemeRepository.cs b/DD.Persistence.Database.Postgres/Repositories/DataSchemeRepository.cs
similarity index 94%
rename from DD.Persistence.Repository/Repositories/DataSchemeRepository.cs
rename to DD.Persistence.Database.Postgres/Repositories/DataSchemeRepository.cs
index c30c8da..ba5ccd7 100644
--- a/DD.Persistence.Repository/Repositories/DataSchemeRepository.cs
+++ b/DD.Persistence.Database.Postgres/Repositories/DataSchemeRepository.cs
@@ -4,7 +4,7 @@ using DD.Persistence.Repositories;
using Mapster;
using Microsoft.EntityFrameworkCore;
-namespace DD.Persistence.Repository.Repositories;
+namespace DD.Persistence.Database.Postgres.Repositories;
public class DataSchemeRepository : IDataSchemeRepository
{
protected DbContext db;
diff --git a/DD.Persistence.Repository/Repositories/DataSourceSystemRepository.cs b/DD.Persistence.Database.Postgres/Repositories/DataSourceSystemRepository.cs
similarity index 94%
rename from DD.Persistence.Repository/Repositories/DataSourceSystemRepository.cs
rename to DD.Persistence.Database.Postgres/Repositories/DataSourceSystemRepository.cs
index d8b6c0a..d9e7fa7 100644
--- a/DD.Persistence.Repository/Repositories/DataSourceSystemRepository.cs
+++ b/DD.Persistence.Database.Postgres/Repositories/DataSourceSystemRepository.cs
@@ -4,7 +4,7 @@ using DD.Persistence.Repositories;
using Mapster;
using Microsoft.EntityFrameworkCore;
-namespace DD.Persistence.Repository.Repositories;
+namespace DD.Persistence.Database.Postgres.Repositories;
public class DataSourceSystemRepository : IDataSourceSystemRepository
{
protected DbContext db;
diff --git a/DD.Persistence.Repository/Repositories/ParameterRepository.cs b/DD.Persistence.Database.Postgres/Repositories/ParameterRepository.cs
similarity index 98%
rename from DD.Persistence.Repository/Repositories/ParameterRepository.cs
rename to DD.Persistence.Database.Postgres/Repositories/ParameterRepository.cs
index d241de7..c489cd7 100644
--- a/DD.Persistence.Repository/Repositories/ParameterRepository.cs
+++ b/DD.Persistence.Database.Postgres/Repositories/ParameterRepository.cs
@@ -5,7 +5,7 @@ using DD.Persistence.Models;
using DD.Persistence.Repositories;
using DD.Persistence.Models.Common;
-namespace DD.Persistence.Repository.Repositories;
+namespace DD.Persistence.Database.Postgres.Repositories;
public class ParameterRepository : IParameterRepository
{
private DbContext db;
diff --git a/DD.Persistence.Repository/Repositories/SetpointRepository.cs b/DD.Persistence.Database.Postgres/Repositories/SetpointRepository.cs
similarity index 98%
rename from DD.Persistence.Repository/Repositories/SetpointRepository.cs
rename to DD.Persistence.Database.Postgres/Repositories/SetpointRepository.cs
index 97c6098..3cfd9b1 100644
--- a/DD.Persistence.Repository/Repositories/SetpointRepository.cs
+++ b/DD.Persistence.Database.Postgres/Repositories/SetpointRepository.cs
@@ -6,7 +6,7 @@ using Mapster;
using Microsoft.EntityFrameworkCore;
using System.Text.Json;
-namespace DD.Persistence.Repository.Repositories
+namespace DD.Persistence.Database.Postgres.Repositories
{
public class SetpointRepository : ISetpointRepository
{
diff --git a/DD.Persistence.Repository/Repositories/TechMessagesRepository.cs b/DD.Persistence.Database.Postgres/Repositories/TechMessagesRepository.cs
similarity index 98%
rename from DD.Persistence.Repository/Repositories/TechMessagesRepository.cs
rename to DD.Persistence.Database.Postgres/Repositories/TechMessagesRepository.cs
index 1a84f25..15d8fe8 100644
--- a/DD.Persistence.Repository/Repositories/TechMessagesRepository.cs
+++ b/DD.Persistence.Database.Postgres/Repositories/TechMessagesRepository.cs
@@ -7,7 +7,7 @@ using DD.Persistence.Repositories;
using Mapster;
using Microsoft.EntityFrameworkCore;
-namespace DD.Persistence.Repository.Repositories
+namespace DD.Persistence.Database.Postgres.Repositories
{
public class TechMessagesRepository : ITechMessagesRepository
{
diff --git a/DD.Persistence.Repository/Repositories/TimestampedValuesRepository.cs b/DD.Persistence.Database.Postgres/Repositories/TimestampedValuesRepository.cs
similarity index 91%
rename from DD.Persistence.Repository/Repositories/TimestampedValuesRepository.cs
rename to DD.Persistence.Database.Postgres/Repositories/TimestampedValuesRepository.cs
index 2005a5a..149e411 100644
--- a/DD.Persistence.Repository/Repositories/TimestampedValuesRepository.cs
+++ b/DD.Persistence.Database.Postgres/Repositories/TimestampedValuesRepository.cs
@@ -4,7 +4,7 @@ using DD.Persistence.Models.Common;
using DD.Persistence.Repositories;
using Microsoft.EntityFrameworkCore;
-namespace DD.Persistence.Repository.Repositories;
+namespace DD.Persistence.Database.Postgres.Repositories;
public class TimestampedValuesRepository : ITimestampedValuesRepository
{
private readonly DbContext db;
@@ -14,7 +14,8 @@ public class TimestampedValuesRepository : ITimestampedValuesRepository
this.db = db;
}
- protected virtual IQueryable GetQueryReadOnly() => this.db.Set();
+ protected virtual IQueryable GetQueryReadOnly() => this.db.Set()
+ .Include(e => e.DataScheme);
public async virtual Task AddRange(Guid discriminatorId, IEnumerable dtos, CancellationToken token)
{
@@ -54,6 +55,15 @@ public class TimestampedValuesRepository : ITimestampedValuesRepository
.Select(g => KeyValuePair.Create(g.Key, g.OrderBy(i => i.Timestamp).Skip(skip).Take(take)));
var entities = await groupQuery.ToArrayAsync(token);
+ //var root = new TVertex(
+ // OperationEnum.And,
+ // new TLeaf(OperationEnum.Equal, "A", 1),
+ // new TLeaf(OperationEnum.Equal, "B", 1)
+ //);
+ //var dataScheme = entities.First().Value.First().DataScheme;
+ //var specification = dataScheme.BuildFilter(root);
+ //var que = ApplySpecification(specification);
+
var result = entities.ToDictionary(k => k.Key, v => v.Value.Select(e => (
e.Timestamp,
e.Values
diff --git a/DD.Persistence.Repository/RepositoriesCached/DataSchemeCachedRepository.cs b/DD.Persistence.Database.Postgres/RepositoriesCached/DataSchemeCachedRepository.cs
similarity index 88%
rename from DD.Persistence.Repository/RepositoriesCached/DataSchemeCachedRepository.cs
rename to DD.Persistence.Database.Postgres/RepositoriesCached/DataSchemeCachedRepository.cs
index ea22196..f4cec62 100644
--- a/DD.Persistence.Repository/RepositoriesCached/DataSchemeCachedRepository.cs
+++ b/DD.Persistence.Database.Postgres/RepositoriesCached/DataSchemeCachedRepository.cs
@@ -1,9 +1,9 @@
using DD.Persistence.Models;
-using DD.Persistence.Repository.Repositories;
+using DD.Persistence.Database.Postgres.Repositories;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Caching.Memory;
-namespace DD.Persistence.Repository.RepositoriesCached;
+namespace DD.Persistence.Database.Postgres.RepositoriesCached;
public class DataSchemeCachedRepository : DataSchemeRepository
{
private readonly IMemoryCache memoryCache;
diff --git a/DD.Persistence.Repository/RepositoriesCached/DataSourceSystemCachedRepository.cs b/DD.Persistence.Database.Postgres/RepositoriesCached/DataSourceSystemCachedRepository.cs
similarity index 91%
rename from DD.Persistence.Repository/RepositoriesCached/DataSourceSystemCachedRepository.cs
rename to DD.Persistence.Database.Postgres/RepositoriesCached/DataSourceSystemCachedRepository.cs
index 87e487e..919c3ba 100644
--- a/DD.Persistence.Repository/RepositoriesCached/DataSourceSystemCachedRepository.cs
+++ b/DD.Persistence.Database.Postgres/RepositoriesCached/DataSourceSystemCachedRepository.cs
@@ -1,10 +1,10 @@
using DD.Persistence.Database.Entity;
using DD.Persistence.Models;
-using DD.Persistence.Repository.Repositories;
+using DD.Persistence.Database.Postgres.Repositories;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Caching.Memory;
-namespace DD.Persistence.Repository.RepositoriesCached;
+namespace DD.Persistence.Database.Postgres.RepositoriesCached;
public class DataSourceSystemCachedRepository : DataSourceSystemRepository
{
private static readonly string SystemCacheKey = $"{typeof(DataSourceSystem).FullName}CacheKey";
diff --git a/DD.Persistence.Repository/RepositoriesCached/TimestampedValuesCachedRepository.cs b/DD.Persistence.Database.Postgres/RepositoriesCached/TimestampedValuesCachedRepository.cs
similarity index 98%
rename from DD.Persistence.Repository/RepositoriesCached/TimestampedValuesCachedRepository.cs
rename to DD.Persistence.Database.Postgres/RepositoriesCached/TimestampedValuesCachedRepository.cs
index f81f7a0..2073126 100644
--- a/DD.Persistence.Repository/RepositoriesCached/TimestampedValuesCachedRepository.cs
+++ b/DD.Persistence.Database.Postgres/RepositoriesCached/TimestampedValuesCachedRepository.cs
@@ -3,7 +3,7 @@
//using DD.Persistence.Repositories;
//using Microsoft.EntityFrameworkCore;
-//namespace DD.Persistence.Repository.Repositories;
+//namespace DD.Persistence.Database.Postgres.Repositories;
//public class TimestampedValuesCachedRepository : TimestampedValuesRepository
//{
diff --git a/DD.Persistence.Repository.Test/DD.Persistence.Repository.Test.csproj b/DD.Persistence.Repository.Test/DD.Persistence.Repository.Test.csproj
index 4f29d86..63b4134 100644
--- a/DD.Persistence.Repository.Test/DD.Persistence.Repository.Test.csproj
+++ b/DD.Persistence.Repository.Test/DD.Persistence.Repository.Test.csproj
@@ -20,7 +20,6 @@
-
diff --git a/DD.Persistence.Repository.Test/SetpointRepositoryShould.cs b/DD.Persistence.Repository.Test/SetpointRepositoryShould.cs
index 6b05ff3..44c518a 100644
--- a/DD.Persistence.Repository.Test/SetpointRepositoryShould.cs
+++ b/DD.Persistence.Repository.Test/SetpointRepositoryShould.cs
@@ -1,12 +1,7 @@
using DD.Persistence.Database.Model;
-using DD.Persistence.Repository.Repositories;
+using DD.Persistence.Database.Postgres.Repositories;
using Shouldly;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using System.Text.Json;
-using System.Threading.Tasks;
namespace DD.Persistence.Repository.Test;
public class SetpointRepositoryShould : IClassFixture
diff --git a/DD.Persistence.Repository/DD.Persistence.Repository.csproj b/DD.Persistence.Repository/DD.Persistence.Repository.csproj
deleted file mode 100644
index 75803db..0000000
--- a/DD.Persistence.Repository/DD.Persistence.Repository.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- net9.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/DD.Persistence.Repository/DependencyInjection.cs b/DD.Persistence.Repository/DependencyInjection.cs
deleted file mode 100644
index a6ae2af..0000000
--- a/DD.Persistence.Repository/DependencyInjection.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using DD.Persistence.Database.Entity;
-using DD.Persistence.Models;
-using DD.Persistence.Repositories;
-using DD.Persistence.Repository.Repositories;
-using DD.Persistence.Repository.RepositoriesCached;
-using Mapster;
-using Microsoft.Extensions.DependencyInjection;
-using System.Reflection;
-
-namespace DD.Persistence.Repository;
-public static class DependencyInjection
-{
- public static void MapsterSetup()
- {
- TypeAdapterConfig.GlobalSettings.Default.Config
- .ForType()
- .Ignore(dest => dest.System, dest => dest.SystemId);
-
- TypeAdapterConfig.NewConfig()
- .Map(dest => dest.Value, src => new ChangeLogValuesDto()
- {
- Value = src.Value,
- Id = src.Id
- });
- }
-
- public static IServiceCollection AddInfrastructure(this IServiceCollection services)
- {
- var typeAdapterConfig = TypeAdapterConfig.GlobalSettings;
- typeAdapterConfig.RuleMap.Clear();
- typeAdapterConfig.Scan(Assembly.GetExecutingAssembly());
-
- MapsterSetup();
-
- services.AddTransient();
- services.AddTransient();
- services.AddTransient();
- services.AddTransient();
- services.AddTransient();
- services.AddTransient();
- services.AddTransient();
-
- return services;
- }
-}
diff --git a/DD.Persistence.sln b/DD.Persistence.sln
index ca91e47..e42f411 100644
--- a/DD.Persistence.sln
+++ b/DD.Persistence.sln
@@ -7,8 +7,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DD.Persistence", "DD.Persis
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DD.Persistence.API", "DD.Persistence.API\DD.Persistence.API.csproj", "{8650A227-929E-45F0-AEF7-2C91F45FE884}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DD.Persistence.Repository", "DD.Persistence.Repository\DD.Persistence.Repository.csproj", "{493D6D92-231B-4CB6-831B-BE13884B0DE4}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DD.Persistence.Database", "DD.Persistence.Database\DD.Persistence.Database.csproj", "{F77475D1-D074-407A-9D69-2FADDDAE2056}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DD.Persistence.IntegrationTests", "DD.Persistence.IntegrationTests\DD.Persistence.IntegrationTests.csproj", "{10752C25-3773-4081-A1F2-215A1D950126}"
@@ -51,10 +49,6 @@ Global
{8650A227-929E-45F0-AEF7-2C91F45FE884}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8650A227-929E-45F0-AEF7-2C91F45FE884}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8650A227-929E-45F0-AEF7-2C91F45FE884}.Release|Any CPU.Build.0 = Release|Any CPU
- {493D6D92-231B-4CB6-831B-BE13884B0DE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {493D6D92-231B-4CB6-831B-BE13884B0DE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {493D6D92-231B-4CB6-831B-BE13884B0DE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {493D6D92-231B-4CB6-831B-BE13884B0DE4}.Release|Any CPU.Build.0 = Release|Any CPU
{F77475D1-D074-407A-9D69-2FADDDAE2056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F77475D1-D074-407A-9D69-2FADDDAE2056}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F77475D1-D074-407A-9D69-2FADDDAE2056}.Release|Any CPU.ActiveCfg = Release|Any CPU