forked from ddrilling/AsbCloudServer
148 lines
4.1 KiB
C#
148 lines
4.1 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel.DataAnnotations;
|
||
|
||
namespace AsbCloudApp.Requests;
|
||
|
||
/// <summary>
|
||
/// Запрос получения ГГД
|
||
/// </summary>
|
||
public class WellOperationRequestBase : RequestBase
|
||
{
|
||
/// <summary>
|
||
/// Больше или равно дате начала операции
|
||
/// </summary>
|
||
public DateTimeOffset? GeDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Меньше или равно дате окончания операции
|
||
/// </summary>
|
||
public DateTimeOffset? LeDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Больше или равно глубины скважины на начало операции.
|
||
/// </summary>
|
||
public double? GeDepth { get; set; }
|
||
|
||
/// <summary>
|
||
/// Меньше или равно глубины скважины на конец операции.
|
||
/// </summary>
|
||
public double? LeDepth { get; set; }
|
||
|
||
/// <summary>
|
||
/// Идентификаторы категорий операции
|
||
/// </summary>
|
||
public IEnumerable<int>? OperationCategoryIds { get; set; }
|
||
|
||
/// <summary>
|
||
/// Тип операций
|
||
/// <list type="bullet">
|
||
/// <item>0 - плановая операция</item>
|
||
/// <item>1 - фактическая операция</item>
|
||
/// </list>
|
||
/// </summary>
|
||
public int? OperationType { get; set; }
|
||
|
||
/// <summary>
|
||
/// Идентификаторы конструкций секции
|
||
/// </summary>
|
||
public IEnumerable<int>? SectionTypeIds { get; set; }
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public WellOperationRequestBase()
|
||
{
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="request"></param>
|
||
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;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// Запрос получения ГГД с идентификаторами скважин
|
||
/// </summary>
|
||
public class WellOperationRequest : WellOperationRequestBase
|
||
{
|
||
/// <inheritdoc />
|
||
public WellOperationRequest(IEnumerable<int> idsWell)
|
||
{
|
||
IdsWell = idsWell;
|
||
}
|
||
|
||
/// <inheritdoc />
|
||
public WellOperationRequest(WellOperationRequestBase request, IEnumerable<int> idsWell)
|
||
: base(request)
|
||
{
|
||
IdsWell = idsWell;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Идентификаторы скважин
|
||
/// </summary>
|
||
[Required]
|
||
[Length(1, 100)]
|
||
public IEnumerable<int> IdsWell { get; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// Запрос получения ГГД с идентификаторами скважин
|
||
/// </summary>
|
||
public class WellOperationRepositoryRequest
|
||
{
|
||
/// <summary>
|
||
/// Идентификаторы скважин
|
||
/// </summary>
|
||
[Required]
|
||
[Length(1, 100)]
|
||
public IEnumerable<int> IdsWell { get; }
|
||
|
||
/// <summary>
|
||
/// Меньше или равно дате окончания операции
|
||
/// </summary>
|
||
public DateTimeOffset? LeDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Меньше или равно глубины скважины на конец операции.
|
||
/// </summary>
|
||
public double? LeDepth { get; set; }
|
||
|
||
/// <summary>
|
||
/// Тип операций
|
||
/// <list type="bullet">
|
||
/// <item>0 - плановая операция</item>
|
||
/// <item>1 - фактическая операция</item>
|
||
/// </list>
|
||
/// </summary>
|
||
public int? OperationType { get; set; }
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="request"></param>
|
||
public WellOperationRepositoryRequest(WellOperationRequest request)
|
||
{
|
||
IdsWell = request.IdsWell;
|
||
LeDate = request.LeDate;
|
||
LeDepth = request.LeDepth;
|
||
OperationType = request.OperationType;
|
||
}
|
||
} |