Split DetectedOperationRequest request

This commit is contained in:
ngfrolov 2024-02-05 09:28:40 +05:00
parent fa28fdfefe
commit 7cd04b27d5
Signed by: ng.frolov
GPG Key ID: E99907A0357B29A7
2 changed files with 80 additions and 3 deletions

View File

@ -0,0 +1,65 @@
using AsbCloudApp.Data.DetectedOperation;
using AsbCloudApp.Requests;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Threading;
namespace AsbCloudApp.Repositories;
/// <summary>
/// Таблица автоопределенных операций
/// </summary>
public interface IDetectedOperationRepository
{
/// <summary>
/// Добавление записей
/// </summary>
/// <param name="idUser"></param>
/// <param name="dtos"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> Insert(int idUser, IEnumerable<DetectedOperationDto> dtos, CancellationToken token);
/// <summary>
/// Получить автоматически определенные по телеметрии операции
/// </summary>
/// <param name="request"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<DetectedOperationDto>> Get(DetectedOperationRequest request, CancellationToken token);
/// <summary>
/// Редактирование записей
/// </summary>
/// <param name="idUser"></param>
/// <param name="dtos"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> Update(int idUser, IEnumerable<DetectedOperationDto> dtos, CancellationToken token);
/// <summary>
/// Добавляет Dto у которых id == 0, изменяет dto у которых id != 0
/// </summary>
/// <param name="idUser"></param>
/// <param name="dtos"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> UpdateOrInsert(int idUser, IEnumerable<DetectedOperationDto> dtos, CancellationToken token);
/// <summary>
/// Удалить операции
/// </summary>
/// <param name="request"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> DeleteAsync(int idUser, DetectedOperationRequest request, CancellationToken token);
/// <summary>
/// Удаление записей
/// </summary>
/// <param name="idUser"></param>
/// <param name="ids"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> DeleteRange(int idUser, IEnumerable<int> ids, CancellationToken token);
}

View File

@ -6,22 +6,34 @@ using System.Linq;
namespace AsbCloudApp.Requests
{
/// <summary>
/// Параметры запроса на получение операций определенных по телеметрии
///
/// </summary>
public class DetectedOperationRequest : RequestBase
public class DetectedOperationByWellRequest : DetectedOperationRequest
{
/// <summary>
/// категория операций
/// </summary>
[Required]
public int IdWell { get; set; }
}
/// <summary>
///
/// </summary>
public class DetectedOperationByTelemetryRequest : DetectedOperationRequest
{
/// <summary>
/// Список id телеметрий
/// пустой список - нет фильтрации
/// </summary>
public IEnumerable<int> IdsTelemetries { get; set; } = Array.Empty<int>();
}
/// <summary>
/// Параметры запроса на получение операций определенных по телеметрии
/// </summary>
public class DetectedOperationRequest : RequestBase
{
/// <summary>
/// категории операций
/// </summary>