forked from ddrilling/AsbCloudServer
63 lines
1.8 KiB
C#
63 lines
1.8 KiB
C#
using System;
|
|
|
|
namespace AsbCloudApp.Data
|
|
{
|
|
/// <summary>
|
|
/// Описание целевых/нормативных показателей операций
|
|
/// </summary>
|
|
public class OperationValueDto : IId
|
|
{
|
|
/// <summary>
|
|
/// Идентификатор в БД
|
|
/// </summary>
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Идентификатор скважины
|
|
/// </summary>
|
|
public int IdWell { get; set; }
|
|
|
|
/// <summary>
|
|
/// Идентификатор категории операции
|
|
/// </summary>
|
|
public int IdOperationCategory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Целевой показатель
|
|
/// </summary>
|
|
public double TargetValue { get; set; }
|
|
|
|
/// <summary>
|
|
/// Нормативный показатель
|
|
/// </summary>
|
|
public double StandardValue { get; set; }
|
|
|
|
/// <summary>
|
|
/// Стартовая глубина
|
|
/// </summary>
|
|
public double DepthStart { get; set; }
|
|
|
|
/// <summary>
|
|
/// Конечная глубина
|
|
/// </summary>
|
|
public double DepthEnd { get; set; }
|
|
|
|
/// <summary>
|
|
/// Определение применяемого предикат по типц операции
|
|
/// </summary>
|
|
/// <returns>Предикат для использования</returns>
|
|
public Predicate<double> PredicateTarget
|
|
{
|
|
get {
|
|
return IdOperationCategory switch
|
|
{
|
|
1 => (x) => false,
|
|
11 => (x) => x > TargetValue,
|
|
_ => (x) => true
|
|
};
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|