using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Requests; /// /// Запрос получения ГГД /// public class WellOperationRequestBase : RequestBase { /// /// Больше или равно дате начала операции /// public DateTimeOffset? GeDate { get; set; } /// /// Меньше или равно дате окончания операции /// public DateTimeOffset? LeDate { get; set; } /// /// Больше или равно глубины скважины на начало операции. /// public double? GeDepth { get; set; } /// /// Меньше или равно глубины скважины на конец операции. /// public double? LeDepth { get; set; } /// /// Идентификаторы категорий операции /// public IEnumerable? OperationCategoryIds { get; set; } /// /// Тип операций /// /// 0 - плановая операция /// 1 - фактическая операция /// /// public int? OperationType { get; set; } /// /// Идентификаторы конструкций секции /// public IEnumerable? SectionTypeIds { get; set; } /// /// /// public WellOperationRequestBase() { } /// /// /// /// public WellOperationRequestBase(WellOperationRequestBase request) { GeDepth = request.GeDepth; LeDepth = request.LeDepth; GeDate = request.GeDate; LeDate = request.LeDate; OperationCategoryIds = request.OperationCategoryIds; OperationType = request.OperationType; SectionTypeIds = request.SectionTypeIds; Skip = request.Skip; Take = request.Take; SortFields = request.SortFields; } } /// /// Запрос получения ГГД с идентификаторами скважин /// public class WellOperationRequest : WellOperationRequestBase { /// public WellOperationRequest(IEnumerable idsWell) { IdsWell = idsWell; } /// public WellOperationRequest(WellOperationRequestBase request, IEnumerable idsWell) : base(request) { IdsWell = idsWell; } /// /// Идентификаторы скважин /// [Required] [Length(1, 100)] public IEnumerable IdsWell { get; } } /// /// Запрос получения ГГД с идентификаторами скважин /// public class WellOperationRepositoryRequest { /// /// Идентификаторы скважин /// [Required] [Length(1, 100)] public IEnumerable IdsWell { get; } /// /// Меньше или равно дате окончания операции /// public DateTimeOffset? LeDate { get; set; } /// /// Меньше или равно глубины скважины на конец операции. /// public double? LeDepth { get; set; } /// /// Тип операций /// /// 0 - плановая операция /// 1 - фактическая операция /// /// public int? OperationType { get; set; } /// /// /// /// public WellOperationRepositoryRequest(WellOperationRequest request) { IdsWell = request.IdsWell; LeDate = request.LeDate; LeDepth = request.LeDepth; OperationType = request.OperationType; } }