using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Requests; /// <summary> /// Запрос на получение операций определенных по телеметрии /// </summary> public class DetectedOperationByTelemetryRequest : DetectedOperationRequest { /// <summary> /// id телеметрии /// </summary> [Required] public int IdTelemetry { get; set; } /// <summary> /// Запрос на получение операций определенных по id телеметрии /// </summary> public DetectedOperationByTelemetryRequest() {} /// <summary> /// Запрос на получение операций определенных по id телеметрии. Copy /// </summary> /// <param name="idTelemetry"></param> /// <param name="request"></param> public DetectedOperationByTelemetryRequest(int idTelemetry, DetectedOperationRequest request) :base(request) { IdTelemetry = idTelemetry; } } /// <summary> /// Запрос на получение операций определенных по id скважины /// </summary> public class DetectedOperationByWellRequest : DetectedOperationRequest { /// <summary> /// id скважины /// </summary> [Required] public int IdWell { get; set; } /// <summary> /// Запрос на получение операций определенных по id скважины /// </summary> public DetectedOperationByWellRequest() {} /// <summary> /// Запрос на получение операций определенных по id скважины. Copy /// </summary> public DetectedOperationByWellRequest(int idWell, DetectedOperationRequest request) : base(request) { IdWell = idWell; } } /// <summary> /// Запрос на получение операций определенных по телеметрии /// </summary> public class DetectedOperationRequest : RequestBase { /// <summary> /// категории операций /// </summary> public IEnumerable<int> IdsCategories { get; set; } /// <summary> /// Больше или равно дате /// </summary> public DateTimeOffset? GeDateStart { get; set; } /// <summary> /// Меньше или равно дате /// </summary> public DateTimeOffset? LeDateEnd { get; set; } /// <summary> /// Больше или равно глубины забоя /// </summary> public double? GeDepthStart { get; set; } /// <summary> /// Меньше или равно глубины забоя /// </summary> public double? LeDepthEnd { get; set; } /// <summary> /// Запрос на получение операций определенных по телеметрии /// </summary> public DetectedOperationRequest() { IdsCategories = new List<int>(); } /// <summary> /// Запрос на получение операций определенных по телеметрии. Copy /// </summary> /// <param name="request"></param> public DetectedOperationRequest(DetectedOperationRequest request) : base(request) { IdsCategories = request.IdsCategories; GeDateStart = request.GeDateStart; LeDateEnd = request.LeDateEnd; GeDepthStart = request.GeDepthStart; LeDepthEnd = request.LeDepthEnd; } }