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