From ff357f2794996f01d8510f2e683a4331125cfab4 Mon Sep 17 00:00:00 2001 From: ngfrolov Date: Fri, 5 Aug 2022 17:16:11 +0500 Subject: [PATCH] doc AsbCloudApp --- AsbCloudApp/Comparators/ComparerIId.cs | 2 +- .../DetectedOperation/DetectedOperationDto.cs | 4 +- AsbCloudApp/Data/TimeDto.cs | 2 + AsbCloudApp/Services/IAuthService.cs | 35 ++++++++++++++++ .../Services/IBackgroundWorkerService.cs | 30 +++++++++++++- AsbCloudApp/Services/IClusterService.cs | 41 +++++++++++++++++++ AsbCloudApp/Services/IDailyReportService.cs | 6 ++- .../Services/IDetectedOperationService.cs | 38 +++++++++++++++++ .../DetectedOperationServiceTest.cs | 2 +- 9 files changed, 154 insertions(+), 6 deletions(-) diff --git a/AsbCloudApp/Comparators/ComparerIId.cs b/AsbCloudApp/Comparators/ComparerIId.cs index 5ea883ec..7dbf5cb5 100644 --- a/AsbCloudApp/Comparators/ComparerIId.cs +++ b/AsbCloudApp/Comparators/ComparerIId.cs @@ -9,7 +9,7 @@ namespace AsbCloudApp.Comparators /// public class ComparerIId : IComparer, IEqualityComparer { - private static readonly ComparerIId instance = new ComparerIId(); + private static readonly ComparerIId instance = new (); private ComparerIId() { } /// diff --git a/AsbCloudApp/Data/DetectedOperation/DetectedOperationDto.cs b/AsbCloudApp/Data/DetectedOperation/DetectedOperationDto.cs index add539e4..62837213 100644 --- a/AsbCloudApp/Data/DetectedOperation/DetectedOperationDto.cs +++ b/AsbCloudApp/Data/DetectedOperation/DetectedOperationDto.cs @@ -52,12 +52,12 @@ namespace AsbCloudApp.Data.DetectedOperation /// /// название/описание операции /// - public WellOperationCategoryDto OperationCategory { get; set; } + public WellOperationCategoryDto OperationCategory { get; set; } = null!; /// /// Пользователь панели оператора /// - public string TelemetryUserName { get; set; } + public string? TelemetryUserName { get; set; } /// /// Бурильщик diff --git a/AsbCloudApp/Data/TimeDto.cs b/AsbCloudApp/Data/TimeDto.cs index 91d0fc5f..faf99427 100644 --- a/AsbCloudApp/Data/TimeDto.cs +++ b/AsbCloudApp/Data/TimeDto.cs @@ -121,6 +121,7 @@ namespace AsbCloudApp.Data public int CompareTo(TimeDto other) => TotalSeconds - other.TotalSeconds; + /// public override bool Equals(object obj) { if (ReferenceEquals(this, obj)) @@ -141,6 +142,7 @@ namespace AsbCloudApp.Data return false; } + /// public override int GetHashCode() { return base.GetHashCode(); diff --git a/AsbCloudApp/Services/IAuthService.cs b/AsbCloudApp/Services/IAuthService.cs index 783eb8e0..34030c24 100644 --- a/AsbCloudApp/Services/IAuthService.cs +++ b/AsbCloudApp/Services/IAuthService.cs @@ -5,14 +5,49 @@ using System.Threading.Tasks; namespace AsbCloudApp.Services { + /// + /// Сервис авторизации + /// public interface IAuthService { + /// + /// Смена пароля пользователю + /// + /// + /// + /// int ChangePassword(int idUser, string newPassword); + + /// + /// Смена пароля пользователю + /// + /// + /// + /// int ChangePassword(string userLogin, string newPassword); + + /// + /// Авторизация + /// + /// + /// + /// токен отмены задачи + /// Task LoginAsync(string login, string password, CancellationToken token = default); + /// + /// Обновление токена авторизации + /// + /// + /// string Refresh(ClaimsPrincipal user); + + /// + /// Регистрация нового пользователя + /// + /// + /// int Register(UserRegistrationDto userDto); } } \ No newline at end of file diff --git a/AsbCloudApp/Services/IBackgroundWorkerService.cs b/AsbCloudApp/Services/IBackgroundWorkerService.cs index c65fd4f5..2ccc47ab 100644 --- a/AsbCloudApp/Services/IBackgroundWorkerService.cs +++ b/AsbCloudApp/Services/IBackgroundWorkerService.cs @@ -4,19 +4,47 @@ using System.Threading.Tasks; namespace AsbCloudApp.Services { + /// + /// Сервис выстраивает очередь из фоновых задач. Ограничивает количество одновременно выполняющихся задач. + /// public interface IBackgroundWorkerService { + /// + /// Проверка, есть ли задача в очереди + /// + /// идентификатор задачи + /// bool Contains(string id); /// /// Добавляет в очередь задач новую задачу /// - /// id задачи в очереди + /// идентификатор задачи /// делегат /// id задачи в очереди string Enqueue(string id, Func func); + + /// + /// Добавляет в очередь задач новую задачу + /// + /// + /// string Enqueue(Func func); + + /// + /// Добавляет в очередь задач новую задачу + /// + /// идентификатор задачи + /// + /// + /// string Enqueue(string id, Func func, Func onError); + + /// + /// Пробуем удалить задачу по идентификатору + /// + /// + /// bool TryRemove(string id); } } \ No newline at end of file diff --git a/AsbCloudApp/Services/IClusterService.cs b/AsbCloudApp/Services/IClusterService.cs index 66952f21..5a77d46d 100644 --- a/AsbCloudApp/Services/IClusterService.cs +++ b/AsbCloudApp/Services/IClusterService.cs @@ -5,16 +5,57 @@ using System.Threading.Tasks; namespace AsbCloudApp.Services { + //TODO: remove unused methods + + /// + /// Сервис информации о кустах + /// public interface IClusterService { + /// + /// список месторождений + /// + /// + /// + /// Task> GetDepositsAsync(int idCompany, CancellationToken token); + + /// + /// Список кустов с заполненными параметрами бурения + /// + /// + /// + /// Task> GetDepositsDrillParamsAsync(int idCompany, CancellationToken token = default); + + /// + /// Список кустов месторождения доступных компании + /// + /// + /// + /// + /// Task> GetClustersAsync(int idCompany, int depositId, CancellationToken token); + + /// + /// Список кустов доступных компании + /// + /// + /// + /// Task> GetClustersAsync(int idCompany, CancellationToken token); + + /// + /// Список скважин доступных компании + /// + /// + /// + /// + /// Task> GetWellsAsync(int idCompany, int clusterId, CancellationToken token); } diff --git a/AsbCloudApp/Services/IDailyReportService.cs b/AsbCloudApp/Services/IDailyReportService.cs index ba9f58a7..28bc72fc 100644 --- a/AsbCloudApp/Services/IDailyReportService.cs +++ b/AsbCloudApp/Services/IDailyReportService.cs @@ -7,8 +7,12 @@ using System.Threading.Tasks; namespace AsbCloudApp.Services { + /// + /// Суточный рапорт (сводка) + /// public interface IDailyReportService - { + { + Task> GetListAsync(int idWell, DateTime? v1, DateTime? v2, CancellationToken cancellationToken); Task GetOrGenerateAsync(int idWell, DateTime date, CancellationToken token); Task AddAsync(int idWell, DailyReportDto dto, CancellationToken token = default); diff --git a/AsbCloudApp/Services/IDetectedOperationService.cs b/AsbCloudApp/Services/IDetectedOperationService.cs index 3d077443..0a0bd999 100644 --- a/AsbCloudApp/Services/IDetectedOperationService.cs +++ b/AsbCloudApp/Services/IDetectedOperationService.cs @@ -9,12 +9,50 @@ using System.Threading.Tasks; namespace AsbCloudApp.Services { #nullable enable + /// + /// Сервис автоматически определенных по телеметрии операций + /// public interface IDetectedOperationService { + /// + /// Список названий операций. + /// Если указан idWell, то возвращается список названий операций найденных на указанной скважине. + /// + /// + /// + /// Task?> GetCategoriesAsync(int? idWell, CancellationToken token); + + /// + /// Получить автоматически определенные по телеметрии операции с анализом по бурильщикам + /// + /// + /// + /// Task GetAsync(DetectedOperationRequest request, CancellationToken token); + + /// + /// Удалить операции + /// + /// + /// + /// Task DeleteAsync(DetectedOperationRequest request, CancellationToken token); + + /// + /// Статистика по операциям + /// + /// + /// + /// Task?> GetOperationsStatAsync(DetectedOperationRequest request, CancellationToken token); + + /// + /// Выгрузка в Excel + /// + /// + /// + /// Task ExportAsync(IEnumerable idsWells, CancellationToken token); } #nullable disable diff --git a/AsbCloudWebApi.Tests/ServicesTests/DetectedOperationServiceTest.cs b/AsbCloudWebApi.Tests/ServicesTests/DetectedOperationServiceTest.cs index e169049d..03bcff27 100644 --- a/AsbCloudWebApi.Tests/ServicesTests/DetectedOperationServiceTest.cs +++ b/AsbCloudWebApi.Tests/ServicesTests/DetectedOperationServiceTest.cs @@ -131,7 +131,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests request = new DetectedOperationRequest { IdWell = 1, - IdCategory = 1 + IdsCategories = new int[] { 1 }, }; AsbCloudInfrastructure.DependencyInjection.MapsterSetup(); }