forked from ddrilling/AsbCloudServer
31 lines
952 B
C#
31 lines
952 B
C#
using System.Linq;
|
|
|
|
namespace AsbCloudInfrastructure.Services.DetectOperations.Detectors
|
|
{
|
|
|
|
internal class OperationDrilling : OperationDetector
|
|
{
|
|
public OperationDrilling(int idOperation)
|
|
:base(idOperation)
|
|
{
|
|
isValid = (DetectableTelemetry[] telemetryFragment) =>
|
|
{
|
|
var pBegin = telemetryFragment.First();
|
|
var pEnd = telemetryFragment.Last();
|
|
if (pBegin.WellDepth >= pEnd.WellDepth)
|
|
return false;
|
|
|
|
return true;
|
|
};
|
|
|
|
calcValue = (DetectableTelemetry[] telemetryFragment) =>
|
|
{
|
|
var pBegin = telemetryFragment.First();
|
|
var pEnd = telemetryFragment.Last();
|
|
var result = (double)(pEnd.WellDepth - pBegin.WellDepth) / (pEnd.DateTime - pBegin.DateTime).TotalHours;
|
|
return result;
|
|
};
|
|
}
|
|
}
|
|
}
|