diff --git a/AsbCloudApp/Extensions/ChangeLogExtensions.cs b/AsbCloudApp/Extensions/ChangeLogExtensions.cs index 628c2661..c963201b 100644 --- a/AsbCloudApp/Extensions/ChangeLogExtensions.cs +++ b/AsbCloudApp/Extensions/ChangeLogExtensions.cs @@ -21,7 +21,7 @@ namespace AsbCloudApp.Extensions /// /// public static IEnumerable> WhereActualAtMoment(this IEnumerable> items, DateTimeOffset moment) - where T : ProcessMapPlanBaseDto + where T : IId { var actualItems = items .Where(item => item.Creation <= moment) diff --git a/AsbCloudApp/Repositories/IChangeLogRepository.cs b/AsbCloudApp/Repositories/IChangeLogRepository.cs index bcadce47..c17b2723 100644 --- a/AsbCloudApp/Repositories/IChangeLogRepository.cs +++ b/AsbCloudApp/Repositories/IChangeLogRepository.cs @@ -11,7 +11,7 @@ namespace AsbCloudApp.Repositories; /// Репозиторий для записей с историей /// public interface IChangeLogRepository - where TDto : IId + where TDto : AsbCloudApp.Data.IId where TRequest : ChangeLogBaseRequest { /// @@ -78,10 +78,10 @@ public interface IChangeLogRepository Task> GetDatesChange(TRequest request, CancellationToken token); /// - /// Получение журнала изменений + /// Получение измененных записей за определенную дату /// /// - /// Фильтр по дате. Если null - вернет все + /// Фильтр по дате. Если null - вернет все записи, без привязки к дате /// /// Task>> GetChangeLog(TRequest request, DateOnly? date, CancellationToken token); diff --git a/AsbCloudApp/Repositories/IWellCompositeRepository.cs b/AsbCloudApp/Repositories/IWellCompositeRepository.cs index f5a5101a..0f9a05f8 100644 --- a/AsbCloudApp/Repositories/IWellCompositeRepository.cs +++ b/AsbCloudApp/Repositories/IWellCompositeRepository.cs @@ -34,6 +34,6 @@ namespace AsbCloudApp.Repositories /// /// /// - Task> GetCompositeProcessMap(int idWell, CancellationToken token); + IEnumerable GetCompositeProcessMap(int idWell, CancellationToken token); } } diff --git a/AsbCloudApp/Requests/ChangeLogBaseRequest.cs b/AsbCloudApp/Requests/ChangeLogBaseRequest.cs index e70553b2..2beef7a5 100644 --- a/AsbCloudApp/Requests/ChangeLogBaseRequest.cs +++ b/AsbCloudApp/Requests/ChangeLogBaseRequest.cs @@ -11,4 +11,21 @@ public class ChangeLogBaseRequest /// Дата/время на которую записи были актуальны. Если не задано, то возвращаются все данные без учета их актуальности /// public DateTimeOffset? Moment { get; set; } + + /// + /// Конструктор + /// + public ChangeLogBaseRequest() + { + + } + + /// + /// Копирующий конструктор + /// + /// + public ChangeLogBaseRequest(ChangeLogBaseRequest request) + { + Moment = request.Moment; + } } diff --git a/AsbCloudApp/Requests/ProcessMapPlanBaseRequest.cs b/AsbCloudApp/Requests/ProcessMapPlanBaseRequest.cs index 98a2dc4f..6efe21a6 100644 --- a/AsbCloudApp/Requests/ProcessMapPlanBaseRequest.cs +++ b/AsbCloudApp/Requests/ProcessMapPlanBaseRequest.cs @@ -1,23 +1,39 @@ using System; -using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Requests; /// /// Запрос для получения РТК план /// -public class ProcessMapPlanBaseRequest: ChangeLogBaseRequest +public class ProcessMapPlanBaseRequest : ChangeLogBaseRequest { /// /// Вернуть данные, которые поменялись с указанной даты /// public DateTimeOffset? UpdateFrom { get; set; } + + /// + /// Конструктор + /// + public ProcessMapPlanBaseRequest() + { + + } + + /// + /// Копирующий конструктор + /// + /// Параметры запроса + public ProcessMapPlanBaseRequest(ProcessMapPlanBaseRequest request) : base(request) + { + UpdateFrom = request.UpdateFrom; + } } /// /// Запрос для получения РТК план по скважине /// -public class ProcessMapPlanBaseRequestWithWell: ProcessMapPlanBaseRequest +public class ProcessMapPlanBaseRequestWithWell : ProcessMapPlanBaseRequest { /// /// Запрос для получения РТК план по скважине @@ -34,8 +50,9 @@ public class ProcessMapPlanBaseRequestWithWell: ProcessMapPlanBaseRequest /// /// public ProcessMapPlanBaseRequestWithWell(ProcessMapPlanBaseRequest request, int idWell) + : base(request) { - IdWell=idWell; + IdWell = idWell; UpdateFrom = request.UpdateFrom; Moment = request.Moment; } diff --git a/AsbCloudInfrastructure/DependencyInjection.cs b/AsbCloudInfrastructure/DependencyInjection.cs index 591c195c..6b36d358 100644 --- a/AsbCloudInfrastructure/DependencyInjection.cs +++ b/AsbCloudInfrastructure/DependencyInjection.cs @@ -1,18 +1,17 @@ using AsbCloudApp.Data; using AsbCloudApp.Data.DailyReport.Blocks.TimeBalance; +using AsbCloudApp.Data.DetectedOperation; using AsbCloudApp.Data.DrillTestReport; using AsbCloudApp.Data.Manuals; using AsbCloudApp.Data.ProcessMaps; using AsbCloudApp.Data.SAUB; using AsbCloudApp.Data.Subsystems; using AsbCloudApp.Data.Trajectory; -using AsbCloudApp.Data.WellOperationImport.Options; using AsbCloudApp.Repositories; using AsbCloudApp.Requests; using AsbCloudApp.Services; using AsbCloudApp.Services.DailyReport; using AsbCloudApp.Services.Notifications; -using AsbCloudApp.Services.ProcessMaps; using AsbCloudApp.Services.ProcessMaps.WellDrilling; using AsbCloudDb.Model; using AsbCloudDb.Model.DailyReports.Blocks.TimeBalance; @@ -27,14 +26,15 @@ using AsbCloudInfrastructure.Services.DailyReport; using AsbCloudInfrastructure.Services.DetectOperations; using AsbCloudInfrastructure.Services.DrillingProgram; using AsbCloudInfrastructure.Services.DrillTestReport; +using AsbCloudInfrastructure.Services.ProcessMapPlan.Export; using AsbCloudInfrastructure.Services.ProcessMapPlan.Parser; -using AsbCloudInfrastructure.Services.ProcessMaps; using AsbCloudInfrastructure.Services.ProcessMaps.Report; using AsbCloudInfrastructure.Services.SAUB; using AsbCloudInfrastructure.Services.Subsystems; using AsbCloudInfrastructure.Services.Trajectory; using AsbCloudInfrastructure.Services.Trajectory.Export; using AsbCloudInfrastructure.Services.Trajectory.Parser; +using AsbCloudInfrastructure.Services.WellOperations.Factories; using AsbCloudInfrastructure.Services.WellOperationService; using Mapster; using Microsoft.EntityFrameworkCore; @@ -42,13 +42,6 @@ using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System; -using AsbCloudApp.Data.DetectedOperation; -using AsbCloudInfrastructure.Services.ProcessMapPlan.Export; -using AsbCloudInfrastructure.Services.WellOperations.Factories; -using AsbCloudDb.Model.ProcessMapPlan; -using static Org.BouncyCastle.Math.EC.ECCurve; -using AsbCloudApp.Data.User; -using DocumentFormat.OpenXml.Drawing; namespace AsbCloudInfrastructure { @@ -60,15 +53,15 @@ namespace AsbCloudInfrastructure .ForType() .Ignore(source => source.Author) .Ignore(source => source.Well); - + TypeAdapterConfig.GlobalSettings.Default.Config .ForType() .Ignore(source => source.OperationCategory); - + TypeAdapterConfig.GlobalSettings.Default.Config .ForType() .Ignore(source => source.Driller); - + TypeAdapterConfig.GlobalSettings.Default.Config .ForType() .MapWith((source) => source.DateTime); @@ -136,7 +129,7 @@ namespace AsbCloudInfrastructure .Include>() .Map(dest => dest, src => new ChangeLogDto() { - Item = src.Adapt() + Item = src.Adapt() }); } @@ -304,7 +297,7 @@ namespace AsbCloudInfrastructure services.AddTransient(); services.AddTransient(); services.AddTransient(); - + services.AddTransient(); services.AddTransient(); services.AddTransient(); @@ -314,7 +307,7 @@ namespace AsbCloudInfrastructure services.AddTransient(); services.AddTransient(); - + return services; } } diff --git a/AsbCloudInfrastructure/Repository/ChangeLogRepositoryAbstract.cs b/AsbCloudInfrastructure/Repository/ChangeLogRepositoryAbstract.cs index 45ce103d..cff7f61e 100644 --- a/AsbCloudInfrastructure/Repository/ChangeLogRepositoryAbstract.cs +++ b/AsbCloudInfrastructure/Repository/ChangeLogRepositoryAbstract.cs @@ -16,7 +16,7 @@ using System.Threading.Tasks; namespace AsbCloudInfrastructure.Repository; public abstract class ChangeLogRepositoryAbstract : IChangeLogRepository - where TDto : ProcessMapPlanBaseDto + where TDto : AsbCloudApp.Data.IId where TEntity : ChangeLogAbstract where TRequest : ChangeLogBaseRequest { diff --git a/AsbCloudInfrastructure/Repository/ProcessMapPlanBaseRepository.cs b/AsbCloudInfrastructure/Repository/ProcessMapPlanBaseRepository.cs index f33b5dca..a7807a62 100644 --- a/AsbCloudInfrastructure/Repository/ProcessMapPlanBaseRepository.cs +++ b/AsbCloudInfrastructure/Repository/ProcessMapPlanBaseRepository.cs @@ -11,7 +11,7 @@ using System.Linq; namespace AsbCloudInfrastructure.Repository; public class ProcessMapPlanBaseRepository : ChangeLogRepositoryAbstract - where TDto : ProcessMapPlanBaseDto + where TDto : AsbCloudApp.Data.IId where TEntity : ProcessMapPlanBase { private readonly IWellService wellService; diff --git a/AsbCloudInfrastructure/Repository/WellCompositeRepository.cs b/AsbCloudInfrastructure/Repository/WellCompositeRepository.cs index 2a06cf9c..a3085e76 100644 --- a/AsbCloudInfrastructure/Repository/WellCompositeRepository.cs +++ b/AsbCloudInfrastructure/Repository/WellCompositeRepository.cs @@ -51,9 +51,10 @@ public class WellCompositeRepository : IWellCompositeRepository } /// - public async Task> GetCompositeProcessMap(int idWell, CancellationToken token) + public IEnumerable GetCompositeProcessMap(int idWell, CancellationToken token) { - return await Task.FromResult(Enumerable.Empty()); + throw new NotImplementedException(); + //return await Task.FromResult(Enumerable.Empty()); } private static WellComposite Convert(int idWell, WellCompositeDto dto) diff --git a/AsbCloudWebApi/Controllers/WellCompositeController.cs b/AsbCloudWebApi/Controllers/WellCompositeController.cs index 903966dd..d4a74ebf 100644 --- a/AsbCloudWebApi/Controllers/WellCompositeController.cs +++ b/AsbCloudWebApi/Controllers/WellCompositeController.cs @@ -79,7 +79,7 @@ namespace AsbCloudWebApi.Controllers if (!await CanUserAccessToWellAsync(idWell, token).ConfigureAwait(false)) return Forbid(); - var result = await wellCompositeRepository.GetCompositeProcessMap(idWell, token).ConfigureAwait(false); + var result = wellCompositeRepository.GetCompositeProcessMap(idWell, token); return Ok(result); } diff --git a/AsbCloudWebApi/DependencyInjection.cs b/AsbCloudWebApi/DependencyInjection.cs index 8f25ee81..3551c3c5 100644 --- a/AsbCloudWebApi/DependencyInjection.cs +++ b/AsbCloudWebApi/DependencyInjection.cs @@ -1,25 +1,24 @@ using AsbCloudApp.Data.GTR; +using AsbCloudApp.IntegrationEvents; +using AsbCloudApp.IntegrationEvents.Interfaces; using AsbCloudApp.Repositories; +using AsbCloudApp.Services.Notifications; using AsbCloudDb.Model; using AsbCloudInfrastructure.Services; +using AsbCloudInfrastructure.Services.Email; +using AsbCloudWebApi.SignalR; +using AsbCloudWebApi.SignalR.Services; using Microsoft.AspNetCore.Authentication.JwtBearer; +using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Microsoft.IdentityModel.Tokens; +using Microsoft.OpenApi.Any; using Microsoft.OpenApi.Models; using System; using System.Collections.Generic; using System.IO; using System.Reflection; using System.Threading.Tasks; -using AsbCloudApp.IntegrationEvents; -using AsbCloudApp.IntegrationEvents.Interfaces; -using AsbCloudApp.Services.Notifications; -using AsbCloudInfrastructure.Services.Email; -using AsbCloudWebApi.SignalR; -using AsbCloudWebApi.SignalR.Services; -using Microsoft.AspNetCore.Mvc; -using Microsoft.OpenApi.Any; -using Swashbuckle.AspNetCore.SwaggerGen; namespace AsbCloudWebApi {