Правка по результатм ревью

This commit is contained in:
Оля Бизюкова 2024-05-28 00:05:21 +05:00
parent 28d9e74e45
commit 98b99a041a
11 changed files with 66 additions and 39 deletions

View File

@ -21,7 +21,7 @@ namespace AsbCloudApp.Extensions
/// <param name="moment"></param>
/// <returns></returns>
public static IEnumerable<ChangeLogDto<T>> WhereActualAtMoment<T>(this IEnumerable<ChangeLogDto<T>> items, DateTimeOffset moment)
where T : ProcessMapPlanBaseDto
where T : IId
{
var actualItems = items
.Where(item => item.Creation <= moment)

View File

@ -11,7 +11,7 @@ namespace AsbCloudApp.Repositories;
/// Репозиторий для записей с историей
/// </summary>
public interface IChangeLogRepository<TDto, TRequest>
where TDto : IId
where TDto : AsbCloudApp.Data.IId
where TRequest : ChangeLogBaseRequest
{
/// <summary>
@ -78,10 +78,10 @@ public interface IChangeLogRepository<TDto, TRequest>
Task<IEnumerable<DateOnly>> GetDatesChange(TRequest request, CancellationToken token);
/// <summary>
/// Получение журнала изменений
/// Получение измененных записей за определенную дату
/// </summary>
/// <param name="request"></param>
/// <param name="date">Фильтр по дате. Если null - вернет все</param>
/// <param name="date">Фильтр по дате. Если null - вернет все записи, без привязки к дате</param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<ChangeLogDto<TDto>>> GetChangeLog(TRequest request, DateOnly? date, CancellationToken token);

View File

@ -34,6 +34,6 @@ namespace AsbCloudApp.Repositories
/// <param name="idWell"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<ProcessMapPlanDrillingDto>> GetCompositeProcessMap(int idWell, CancellationToken token);
IEnumerable<ProcessMapPlanDrillingDto> GetCompositeProcessMap(int idWell, CancellationToken token);
}
}

View File

@ -11,4 +11,21 @@ public class ChangeLogBaseRequest
/// Дата/время на которую записи были актуальны. Если не задано, то возвращаются все данные без учета их актуальности
/// </summary>
public DateTimeOffset? Moment { get; set; }
/// <summary>
/// Конструктор
/// </summary>
public ChangeLogBaseRequest()
{
}
/// <summary>
/// Копирующий конструктор
/// </summary>
/// <param name="request"></param>
public ChangeLogBaseRequest(ChangeLogBaseRequest request)
{
Moment = request.Moment;
}
}

View File

@ -1,5 +1,4 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Requests;
@ -12,6 +11,23 @@ public class ProcessMapPlanBaseRequest: ChangeLogBaseRequest
/// Вернуть данные, которые поменялись с указанной даты
/// </summary>
public DateTimeOffset? UpdateFrom { get; set; }
/// <summary>
/// Конструктор
/// </summary>
public ProcessMapPlanBaseRequest()
{
}
/// <summary>
/// Копирующий конструктор
/// </summary>
/// <param name="request">Параметры запроса</param>
public ProcessMapPlanBaseRequest(ProcessMapPlanBaseRequest request) : base(request)
{
UpdateFrom = request.UpdateFrom;
}
}
/// <summary>
@ -34,6 +50,7 @@ public class ProcessMapPlanBaseRequestWithWell: ProcessMapPlanBaseRequest
/// <param name="request"></param>
/// <param name="idWell"></param>
public ProcessMapPlanBaseRequestWithWell(ProcessMapPlanBaseRequest request, int idWell)
: base(request)
{
IdWell = idWell;
UpdateFrom = request.UpdateFrom;

View File

@ -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
{

View File

@ -16,7 +16,7 @@ using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Repository;
public abstract class ChangeLogRepositoryAbstract<TDto, TEntity, TRequest> : IChangeLogRepository<TDto, TRequest>
where TDto : ProcessMapPlanBaseDto
where TDto : AsbCloudApp.Data.IId
where TEntity : ChangeLogAbstract
where TRequest : ChangeLogBaseRequest
{

View File

@ -11,7 +11,7 @@ using System.Linq;
namespace AsbCloudInfrastructure.Repository;
public class ProcessMapPlanBaseRepository<TDto, TEntity> : ChangeLogRepositoryAbstract<TDto, TEntity, ProcessMapPlanBaseRequestWithWell>
where TDto : ProcessMapPlanBaseDto
where TDto : AsbCloudApp.Data.IId
where TEntity : ProcessMapPlanBase
{
private readonly IWellService wellService;

View File

@ -51,9 +51,10 @@ public class WellCompositeRepository : IWellCompositeRepository
}
/// <inheritdoc/>
public async Task<IEnumerable<ProcessMapPlanDrillingDto>> GetCompositeProcessMap(int idWell, CancellationToken token)
public IEnumerable<ProcessMapPlanDrillingDto> GetCompositeProcessMap(int idWell, CancellationToken token)
{
return await Task.FromResult(Enumerable.Empty<ProcessMapPlanDrillingDto>());
throw new NotImplementedException();
//return await Task.FromResult(Enumerable.Empty<ProcessMapPlanDrillingDto>());
}
private static WellComposite Convert(int idWell, WellCompositeDto dto)

View File

@ -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);
}

View File

@ -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
{