// using System; // using AsbCloudDb.Model; // // namespace AsbCloudInfrastructure.Services.DetectOperations.Detectors // { // // internal class DetectorSlipsTime : DetectorAbstract // { // protected override double CalcValue(DetectableTelemetry[] telemetry, int begin, int end) // => CalcDeltaMinutes(telemetry, begin, end); // // public override Func GetIdOperation => (_, _, _) => WellOperationCategory.IdSlipsTime; // // protected override bool DetectBegin(DetectableTelemetry[] telemetry, int position, DetectedOperation? previousOperation) // { // var point0 = telemetry[position]; // var delta = point0.WellDepth - point0.BitDepth; // if (delta > 2.5d) // return false; // // if (point0.Pressure > 15) // return false; // // if (point0.BlockPosition > 8) // return false; // // if (point0.HookWeight > 20) // return false; // // return true; // } // // protected override bool IsValid(DetectableTelemetry[] telemetry, int begin, int end) // => IsValidByWellDepthDoesNotChange(telemetry, begin, end); // } // // // } //