Add telemetryWireLine.

Add InstantDataRepository
This commit is contained in:
ngfrolov 2022-04-11 17:22:52 +05:00
parent c96bf87f17
commit 80434475db
8 changed files with 580 additions and 127 deletions

View File

@ -0,0 +1,30 @@
using System;
namespace AsbCloudApp.Data.SAUB
{
public class TelemetryWirelineRunOutDto
{
public DateTime DateTime { get; set; }
/// <summary>
/// Наработка талевого каната с момента перетяжки каната, т*км
/// </summary>
public float Hauling { get; set; }
/// <summary>
/// Наработка талевого каната до сигнализации о необходимости перетяжки, т*км
/// </summary>
public float HaulingWarnSp { get; set; }
/// <summary>
/// Наработка талевого каната с момента замены каната, т*км
/// </summary>
public float Replace { get; set; }
/// <summary>
/// Наработка талевого каната до сигнализации о необходимости замены, т*км
/// </summary>
public float ReplaceWarnSp { get; set; }
}
}

View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
namespace AsbCloudApp.Services
{
/// <summary>
///
/// </summary>
public class InstantDataRepository: ConcurrentDictionary<int, ConcurrentDictionary<Type, object>>
{
}
}

View File

@ -7,5 +7,16 @@ SELECT timescaledb_pre_restore();
SELECT timescaledb_post_restore();
--https://www.postgresql.org/docs/current/rules-materializedviews.html
CREATE MATERIALIZED VIEW mv_telemetry_statistic AS select
id_telemetry,
count(*) as count,
min(date) as date_start,
max(date) as date_end,
min(well_depth) as depth_start,
max(well_depth) as depth_end
from t_telemetry_data_saub
group by id_telemetry;
select * from t_telemetry_message ttm where id_event = 206;

View File

@ -57,6 +57,7 @@ namespace AsbCloudInfrastructure
services.AddSingleton(new WitsInfoService());
services.AddSingleton(new CacheDb());
services.AddSingleton(new InstantDataRepository());
services.AddSingleton<ITelemetryTracker, TelemetryTracker>();
services.AddSingleton<IRequerstTrackerService, RequestTrackerService>();
services.AddSingleton<IBackgroundWorkerService, BackgroundWorkerService>();

View File

@ -53,7 +53,7 @@ namespace AsbCloudWebApi.Controllers
await telemetryDataService.UpdateDataAsync(uid, dtos, token).ConfigureAwait(false);
var idWell = telemetryService.GetIdWellByTelemetryUid(uid);
if (idWell != null && dtos.Any())
if (idWell is not null && dtos.Any())
_ = Task.Run(() => telemetryHubContext.Clients.Group($"well_{idWell}")
.SendAsync(SirnalRMethodGetDataName, dtos), CancellationToken.None);

View File

@ -0,0 +1,95 @@
using AsbCloudApp.Services;
using AsbCloudWebApi.SignalR;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.SignalR;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers
{
[Route("api/[controller]")]
[ApiController]
public abstract class TelemetryInstantDataController<TDto> : ControllerBase
{
private readonly ITelemetryService telemetryService;
private readonly IWellService wellService;
private readonly IHubContext<TelemetryHub> telemetryHubContext;
private readonly InstantDataRepository repository;
protected abstract string SirnalRMethodGetDataName { get; }
public TelemetryInstantDataController(
ITelemetryService telemetryService,
IWellService wellService,
IHubContext<TelemetryHub> telemetryHubContext,
InstantDataRepository repository)
{
this.telemetryService = telemetryService;
this.wellService = wellService;
this.telemetryHubContext = telemetryHubContext;
this.repository = repository;
}
[HttpPost]
[Route("{uid}")]
[AllowAnonymous]
public virtual IActionResult PostData(
string uid,
[FromBody] TDto dto)
{
if (dto is null)
return BadRequest("Dto shouldn't be null");
var idTelemetry = telemetryService.GetOrCreateTelemetryIdByUid(uid);
var typedStore = repository.GetOrAdd(idTelemetry, (id) => new System.Collections.Concurrent.ConcurrentDictionary<System.Type, object>());
var typeDto = typeof(TDto);
typedStore.AddOrUpdate(typeDto, dto, (_,_) => dto);
var idWell = telemetryService.GetIdWellByTelemetryUid(uid);
if (idWell is not null)
_ = Task.Run(async () =>
{
var clients = telemetryHubContext.Clients.Group($"well_{idWell}");
await clients.SendAsync(SirnalRMethodGetDataName, dto);
}, CancellationToken.None);
return Ok();
}
[HttpGet("{idWell}")]
[Permission]
public virtual async Task<ActionResult<TDto>> GetDataAsync(
int idWell,
CancellationToken token = default)
{
int? idCompany = User.GetCompanyId();
if (idCompany is null)
return Forbid();
bool isCompanyOwnsWell = await wellService.IsCompanyInvolvedInWellAsync((int)idCompany,
idWell, token).ConfigureAwait(false);
if (!isCompanyOwnsWell)
return Forbid();
int? idTelemetry = telemetryService.GetIdTelemetryByIdWell(idWell);
if (idTelemetry is null)
return NoContent();
var typedStore = repository.GetValueOrDefault((int)idTelemetry, null);
if (typedStore is null)
return NoContent();
var typeDto = typeof(TDto);
var dto = typedStore.GetValueOrDefault(typeDto);
return Ok(dto);
}
}
}

View File

@ -0,0 +1,26 @@
using AsbCloudApp.Data.SAUB;
using AsbCloudApp.Services;
using AsbCloudWebApi.SignalR;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.SignalR;
namespace AsbCloudWebApi.Controllers
{
[ApiController]
[Authorize]
[Route("api/[controller]")]
public class TelemetryWirelineRunOutController : TelemetryInstantDataController<TelemetryWirelineRunOutDto>
{
protected override string SirnalRMethodGetDataName => "ReceiveWirelineRunOut";
public TelemetryWirelineRunOutController(
ITelemetryService telemetryService,
IWellService wellService,
IHubContext<TelemetryHub> telemetryHubContext,
InstantDataRepository repository)
: base(telemetryService, wellService, telemetryHubContext, repository)
{
}
}
}

View File

@ -3,132 +3,409 @@ using ProtoBuf.Meta;
namespace AsbCloudWebApi
{
public static class ProtobufModel
{
public static void EnshureRegistered()
{
EnshureRegisteredDataSpin();
EnshureRegisteredDataSaub();
}
public static class ProtobufModel
{
public static void EnshureRegistered()
{
EnshureRegisteredDataSpin();
EnshureRegisteredDataSaub();
EnshureRegisteredWITS();
EnshureRegisteredWirelineRunOutDto();
}
static void EnshureRegisteredDataSpin()
{
var type = typeof(TelemetryDataSpinDto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
RuntimeTypeModel.Default.Add(type, false)
.Add(1, nameof(TelemetryDataSpinDto.IdTelemetry))
.Add(2, nameof(TelemetryDataSpinDto.DateTime))
.Add(3, nameof(TelemetryDataSpinDto.TopDriveSpeed))
.Add(4, nameof(TelemetryDataSpinDto.TopDriveSpeedMin))
.Add(5, nameof(TelemetryDataSpinDto.TopDriveSpeedMax))
.Add(6, nameof(TelemetryDataSpinDto.TopDriveSpeedOffset))
.Add(7, nameof(TelemetryDataSpinDto.TopDriveSpeedErr))
.Add(8, nameof(TelemetryDataSpinDto.TopDriveTorque))
.Add(9, nameof(TelemetryDataSpinDto.TopDriveTorqueMin))
.Add(10, nameof(TelemetryDataSpinDto.TopDriveTorqueMax))
.Add(11, nameof(TelemetryDataSpinDto.TopDriveTorqueOffset))
.Add(12, nameof(TelemetryDataSpinDto.TopDriveTorqueErr))
.Add(13, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFrom))
.Add(14, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromMin))
.Add(15, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromMax))
.Add(16, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromOffset))
.Add(17, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromErr))
.Add(18, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFrom))
.Add(19, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromMin))
.Add(20, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromMax))
.Add(21, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromOffset))
.Add(22, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromErr))
.Add(23, nameof(TelemetryDataSpinDto.TopDriveSpeedSpTo))
.Add(24, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToMin))
.Add(25, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToMax))
.Add(26, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToOffset))
.Add(27, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToErr))
.Add(28, nameof(TelemetryDataSpinDto.TopDriveTorqueSpTo))
.Add(29, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToMin))
.Add(30, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToMax))
.Add(31, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToOffset))
.Add(32, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToErr))
.Add(33, nameof(TelemetryDataSpinDto.W2800))
.Add(34, nameof(TelemetryDataSpinDto.W2810))
.Add(35, nameof(TelemetryDataSpinDto.Mode))
.Add(36, nameof(TelemetryDataSpinDto.W2808))
.Add(37, nameof(TelemetryDataSpinDto.TorqueStarting))
.Add(38, nameof(TelemetryDataSpinDto.RotorTorqueAvg))
.Add(39, nameof(TelemetryDataSpinDto.EncoderResolution))
.Add(40, nameof(TelemetryDataSpinDto.Ratio))
.Add(41, nameof(TelemetryDataSpinDto.TorqueRightLimit))
.Add(42, nameof(TelemetryDataSpinDto.TorqueLeftLimit))
.Add(43, nameof(TelemetryDataSpinDto.RevolsRightLimit))
.Add(44, nameof(TelemetryDataSpinDto.RevolsLeftLimit))
.Add(45, nameof(TelemetryDataSpinDto.SpeedRightSp))
.Add(46, nameof(TelemetryDataSpinDto.SpeedLeftSp))
.Add(47, nameof(TelemetryDataSpinDto.RevolsRightTotal))
.Add(48, nameof(TelemetryDataSpinDto.RevolsLeftTotal))
.Add(49, nameof(TelemetryDataSpinDto.TurnRightOnceByTorque))
.Add(50, nameof(TelemetryDataSpinDto.TurnLeftOnceByTorque))
.Add(51, nameof(TelemetryDataSpinDto.TurnRightOnceByAngle))
.Add(52, nameof(TelemetryDataSpinDto.TurnLeftOnceByAngle))
.Add(53, nameof(TelemetryDataSpinDto.TurnRightOnceByRevols))
.Add(54, nameof(TelemetryDataSpinDto.TurnLeftOnceByRevols))
.Add(55, nameof(TelemetryDataSpinDto.BreakAngleK))
.Add(56, nameof(TelemetryDataSpinDto.ReverseKTorque))
.Add(57, nameof(TelemetryDataSpinDto.PositionZero))
.Add(58, nameof(TelemetryDataSpinDto.PositionRight))
.Add(59, nameof(TelemetryDataSpinDto.TorqueRampTime))
.Add(60, nameof(TelemetryDataSpinDto.Ver))
.Add(61, nameof(TelemetryDataSpinDto.ReverseSpeedSpZeroTime))
.Add(62, nameof(TelemetryDataSpinDto.UnlockBySectorOut))
.Add(63, nameof(TelemetryDataSpinDto.PidMuxTorqueLeftLimit))
.Add(64, nameof(TelemetryDataSpinDto.State))
.Add(65, nameof(TelemetryDataSpinDto.BreakAngleLeft));
}
private static void EnshureRegisteredWirelineRunOutDto()
{
var type = typeof(TelemetryWirelineRunOutDto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
RuntimeTypeModel.Default.Add(type, false)
.Add(1, nameof(TelemetryWirelineRunOutDto.DateTime))
.Add(2, nameof(TelemetryWirelineRunOutDto.Hauling))
.Add(3, nameof(TelemetryWirelineRunOutDto.HaulingWarnSp))
.Add(4, nameof(TelemetryWirelineRunOutDto.Replace))
.Add(5, nameof(TelemetryWirelineRunOutDto.ReplaceWarnSp));
}
static void EnshureRegisteredDataSaub()
{
var type = typeof(TelemetryDataSaubDto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
RuntimeTypeModel.Default.Add(type, false)
.Add(1, nameof(TelemetryDataSaubDto.IdTelemetry))
.Add(2, nameof(TelemetryDataSaubDto.DateTime))
.Add(3, nameof(TelemetryDataSaubDto.Mode))
.Add(4, nameof(TelemetryDataSaubDto.User))
.Add(5, nameof(TelemetryDataSaubDto.WellDepth))
.Add(6, nameof(TelemetryDataSaubDto.BitDepth))
.Add(7, nameof(TelemetryDataSaubDto.BlockPosition))
.Add(8, nameof(TelemetryDataSaubDto.BlockPositionMin))
.Add(9, nameof(TelemetryDataSaubDto.BlockPositionMax))
.Add(10, nameof(TelemetryDataSaubDto.BlockSpeed))
.Add(11, nameof(TelemetryDataSaubDto.BlockSpeedSp))
.Add(12, nameof(TelemetryDataSaubDto.BlockSpeedSpRotor))
.Add(13, nameof(TelemetryDataSaubDto.BlockSpeedSpSlide))
.Add(14, nameof(TelemetryDataSaubDto.BlockSpeedSpDevelop))
.Add(15, nameof(TelemetryDataSaubDto.Pressure))
.Add(16, nameof(TelemetryDataSaubDto.PressureIdle))
.Add(17, nameof(TelemetryDataSaubDto.PressureSp))
.Add(18, nameof(TelemetryDataSaubDto.PressureSpRotor))
.Add(19, nameof(TelemetryDataSaubDto.PressureSpSlide))
.Add(20, nameof(TelemetryDataSaubDto.PressureSpDevelop))
.Add(21, nameof(TelemetryDataSaubDto.PressureDeltaLimitMax))
.Add(22, nameof(TelemetryDataSaubDto.AxialLoad))
.Add(23, nameof(TelemetryDataSaubDto.AxialLoadSp))
.Add(24, nameof(TelemetryDataSaubDto.AxialLoadLimitMax))
.Add(25, nameof(TelemetryDataSaubDto.HookWeight))
.Add(26, nameof(TelemetryDataSaubDto.HookWeightIdle))
.Add(27, nameof(TelemetryDataSaubDto.HookWeightLimitMin))
.Add(28, nameof(TelemetryDataSaubDto.HookWeightLimitMax))
.Add(29, nameof(TelemetryDataSaubDto.RotorTorque))
.Add(30, nameof(TelemetryDataSaubDto.RotorTorqueIdle))
.Add(31, nameof(TelemetryDataSaubDto.RotorTorqueSp))
.Add(32, nameof(TelemetryDataSaubDto.RotorTorqueLimitMax))
.Add(33, nameof(TelemetryDataSaubDto.RotorSpeed))
.Add(34, nameof(TelemetryDataSaubDto.Flow))
.Add(35, nameof(TelemetryDataSaubDto.FlowIdle))
.Add(36, nameof(TelemetryDataSaubDto.FlowDeltaLimitMax))
.Add(37, nameof(TelemetryDataSaubDto.IdFeedRegulator))
.Add(38, nameof(TelemetryDataSaubDto.MseState))
.Add(39, nameof(TelemetryDataSaubDto.Mse));
}
}
private static void EnshureRegisteredWITS()
{
EnshureRegisteredRecord1();
EnshureRegisteredRecord7();
EnshureRegisteredRecord8();
EnshureRegisteredRecord50();
EnshureRegisteredRecord60();
EnshureRegisteredRecord61();
}
private static void EnshureRegisteredRecord1()
{
var type = typeof(AsbCloudApp.Data.WITS.Record1Dto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
var i = 1;
RuntimeTypeModel.Default.Add(type, false)
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Id))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.IdTelemetry))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.DateTime))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.TimeStamp))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Wellid))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Stknum))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Recid))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Seqid))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Date_))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Time))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Actcod))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Deptbitm))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Deptbitv))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Deptmeas))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Deptvert))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Blkpos))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Ropa))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Hkla))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Hklx))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Woba))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Wobx))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Torqa))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Torqx))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Rpma))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Sppa))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Chkp))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Spm1))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Spm2))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Spm3))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Tvolact))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Tvolcact))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Mfop))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Mfoa))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Mfia))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Mdoa))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Mdia))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Mtoa))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Mtia))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Mcoa))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Mcia))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Stkc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Lagstks))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Deptretm))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Gasa))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Spare1))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Spare2))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Spare3))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Spare4))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record1Dto.Spare5))
;
}
private static void EnshureRegisteredRecord7()
{
var type = typeof(AsbCloudApp.Data.WITS.Record7Dto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
var i = 1;
RuntimeTypeModel.Default.Add(type, false)
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Id))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.IdTelemetry))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.DateTime))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.TimeStamp))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Wellid))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Stknum))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Recid))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Seqid))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Date_))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Time))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Actcod))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Deptsvym))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Deptsvyv))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Passnum))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Deptmeas))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Svytype))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Svyinc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Svyazu))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Svyazc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Svymtf))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Svygtf))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Svyns))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Svyew))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Svydls))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Svywalk))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Spare1))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Spare2))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Spare3))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Spare4))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record7Dto.Spare5))
;
}
private static void EnshureRegisteredRecord8()
{
var type = typeof(AsbCloudApp.Data.WITS.Record8Dto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
var i = 1;
RuntimeTypeModel.Default.Add(type, false)
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Id))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.IdTelemetry))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.DateTime))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.TimeStamp))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Wellid))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Stknum))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Recid))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Seqid))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Date_))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Time))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Actcod))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptmeas))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptvert))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptbitm))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptbitv))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Passnum))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptrs1m))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptrs1v))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mr1))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mr1c))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptrs2m))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptrs2v))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mr2))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mr2c))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptgr1m))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptgr1v))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mg1))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mg1c))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptgr2m))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptgr2v))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mg2))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mg2c))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptp1m))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptp1v))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mpo1))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptp2m))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptp2v))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mpo2))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mftann))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mftpipe))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mfrann))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mfrpipe))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptfdm))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptfdv))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mfd))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptcalm))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Deptcalv))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mclp))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mfpp))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Mffp))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Spare1))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Spare2))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Spare3))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Spare4))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Spare5))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Spare6))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Spare7))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Spare8))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record8Dto.Spare9))
;
}
private static void EnshureRegisteredRecord60()
{
var type = typeof(AsbCloudApp.Data.WITS.Record60Dto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
var i = 1;
RuntimeTypeModel.Default.Add(type, false)
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.Id))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.IdTelemetry))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.DateTime))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.TimeStamp))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.Deptbitm))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.Deptmeas))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.Gtot))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.Gx))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.Gy))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.Gz))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.Btot))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.Bx))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.By))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record60Dto.Bz))
;
}
private static void EnshureRegisteredRecord61()
{
var type = typeof(AsbCloudApp.Data.WITS.Record61Dto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
var i = 1;
RuntimeTypeModel.Default.Add(type, false)
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Id))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.IdTelemetry))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.DateTime))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.TimeStamp))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Deptbitm))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Deptmeas))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Phl1f1))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Phl1f2))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Phl2f1))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Phl2f2))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Att06h))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Att06l))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Att10h))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Att10l))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record61Dto.Status))
;
}
private static void EnshureRegisteredRecord50()
{
var type = typeof(AsbCloudApp.Data.WITS.Record50Dto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
var i = 1;
RuntimeTypeModel.Default.Add(type, false)
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.Id))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.IdTelemetry))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.DateTime))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.TimeStamp))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.Deptbitm))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.DeptmeasMcrstat))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.Mcrstat))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.DeptmeasSlvlMc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.SlvlMc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.DeptmeasGdpMc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.GdpMc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.DeptmeasRa33f2Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.Ra33f2Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.DeptmeasRp33f2Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.Rp33f2Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.DeptmeasRa33f4Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.Ra33f4Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.DeptmeasRp33f4Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.Rp33f4Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.DeptmeasRa33Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.Ra33Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.DeptmeasRp33Mc))
.Add(i++, nameof(AsbCloudApp.Data.WITS.Record50Dto.Rp33Mc))
;
}
static void EnshureRegisteredDataSpin()
{
var type = typeof(TelemetryDataSpinDto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
RuntimeTypeModel.Default.Add(type, false)
.Add(1, nameof(TelemetryDataSpinDto.IdTelemetry))
.Add(2, nameof(TelemetryDataSpinDto.DateTime))
.Add(3, nameof(TelemetryDataSpinDto.TopDriveSpeed))
.Add(4, nameof(TelemetryDataSpinDto.TopDriveSpeedMin))
.Add(5, nameof(TelemetryDataSpinDto.TopDriveSpeedMax))
.Add(6, nameof(TelemetryDataSpinDto.TopDriveSpeedOffset))
.Add(7, nameof(TelemetryDataSpinDto.TopDriveSpeedErr))
.Add(8, nameof(TelemetryDataSpinDto.TopDriveTorque))
.Add(9, nameof(TelemetryDataSpinDto.TopDriveTorqueMin))
.Add(10, nameof(TelemetryDataSpinDto.TopDriveTorqueMax))
.Add(11, nameof(TelemetryDataSpinDto.TopDriveTorqueOffset))
.Add(12, nameof(TelemetryDataSpinDto.TopDriveTorqueErr))
.Add(13, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFrom))
.Add(14, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromMin))
.Add(15, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromMax))
.Add(16, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromOffset))
.Add(17, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromErr))
.Add(18, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFrom))
.Add(19, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromMin))
.Add(20, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromMax))
.Add(21, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromOffset))
.Add(22, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromErr))
.Add(23, nameof(TelemetryDataSpinDto.TopDriveSpeedSpTo))
.Add(24, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToMin))
.Add(25, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToMax))
.Add(26, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToOffset))
.Add(27, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToErr))
.Add(28, nameof(TelemetryDataSpinDto.TopDriveTorqueSpTo))
.Add(29, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToMin))
.Add(30, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToMax))
.Add(31, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToOffset))
.Add(32, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToErr))
.Add(33, nameof(TelemetryDataSpinDto.W2800))
.Add(34, nameof(TelemetryDataSpinDto.W2810))
.Add(35, nameof(TelemetryDataSpinDto.Mode))
.Add(36, nameof(TelemetryDataSpinDto.W2808))
.Add(37, nameof(TelemetryDataSpinDto.TorqueStarting))
.Add(38, nameof(TelemetryDataSpinDto.RotorTorqueAvg))
.Add(39, nameof(TelemetryDataSpinDto.EncoderResolution))
.Add(40, nameof(TelemetryDataSpinDto.Ratio))
.Add(41, nameof(TelemetryDataSpinDto.TorqueRightLimit))
.Add(42, nameof(TelemetryDataSpinDto.TorqueLeftLimit))
.Add(43, nameof(TelemetryDataSpinDto.RevolsRightLimit))
.Add(44, nameof(TelemetryDataSpinDto.RevolsLeftLimit))
.Add(45, nameof(TelemetryDataSpinDto.SpeedRightSp))
.Add(46, nameof(TelemetryDataSpinDto.SpeedLeftSp))
.Add(47, nameof(TelemetryDataSpinDto.RevolsRightTotal))
.Add(48, nameof(TelemetryDataSpinDto.RevolsLeftTotal))
.Add(49, nameof(TelemetryDataSpinDto.TurnRightOnceByTorque))
.Add(50, nameof(TelemetryDataSpinDto.TurnLeftOnceByTorque))
.Add(51, nameof(TelemetryDataSpinDto.TurnRightOnceByAngle))
.Add(52, nameof(TelemetryDataSpinDto.TurnLeftOnceByAngle))
.Add(53, nameof(TelemetryDataSpinDto.TurnRightOnceByRevols))
.Add(54, nameof(TelemetryDataSpinDto.TurnLeftOnceByRevols))
.Add(55, nameof(TelemetryDataSpinDto.BreakAngleK))
.Add(56, nameof(TelemetryDataSpinDto.ReverseKTorque))
.Add(57, nameof(TelemetryDataSpinDto.PositionZero))
.Add(58, nameof(TelemetryDataSpinDto.PositionRight))
.Add(59, nameof(TelemetryDataSpinDto.TorqueRampTime))
.Add(60, nameof(TelemetryDataSpinDto.Ver))
.Add(61, nameof(TelemetryDataSpinDto.ReverseSpeedSpZeroTime))
.Add(62, nameof(TelemetryDataSpinDto.UnlockBySectorOut))
.Add(63, nameof(TelemetryDataSpinDto.PidMuxTorqueLeftLimit))
.Add(64, nameof(TelemetryDataSpinDto.State))
.Add(65, nameof(TelemetryDataSpinDto.BreakAngleLeft));
}
static void EnshureRegisteredDataSaub()
{
var type = typeof(TelemetryDataSaubDto);
if (RuntimeTypeModel.Default.IsDefined(type))
return;
RuntimeTypeModel.Default.Add(type, false)
.Add(1, nameof(TelemetryDataSaubDto.IdTelemetry))
.Add(2, nameof(TelemetryDataSaubDto.DateTime))
.Add(3, nameof(TelemetryDataSaubDto.Mode))
.Add(4, nameof(TelemetryDataSaubDto.User))
.Add(5, nameof(TelemetryDataSaubDto.WellDepth))
.Add(6, nameof(TelemetryDataSaubDto.BitDepth))
.Add(7, nameof(TelemetryDataSaubDto.BlockPosition))
.Add(8, nameof(TelemetryDataSaubDto.BlockPositionMin))
.Add(9, nameof(TelemetryDataSaubDto.BlockPositionMax))
.Add(10, nameof(TelemetryDataSaubDto.BlockSpeed))
.Add(11, nameof(TelemetryDataSaubDto.BlockSpeedSp))
.Add(12, nameof(TelemetryDataSaubDto.BlockSpeedSpRotor))
.Add(13, nameof(TelemetryDataSaubDto.BlockSpeedSpSlide))
.Add(14, nameof(TelemetryDataSaubDto.BlockSpeedSpDevelop))
.Add(15, nameof(TelemetryDataSaubDto.Pressure))
.Add(16, nameof(TelemetryDataSaubDto.PressureIdle))
.Add(17, nameof(TelemetryDataSaubDto.PressureSp))
.Add(18, nameof(TelemetryDataSaubDto.PressureSpRotor))
.Add(19, nameof(TelemetryDataSaubDto.PressureSpSlide))
.Add(20, nameof(TelemetryDataSaubDto.PressureSpDevelop))
.Add(21, nameof(TelemetryDataSaubDto.PressureDeltaLimitMax))
.Add(22, nameof(TelemetryDataSaubDto.AxialLoad))
.Add(23, nameof(TelemetryDataSaubDto.AxialLoadSp))
.Add(24, nameof(TelemetryDataSaubDto.AxialLoadLimitMax))
.Add(25, nameof(TelemetryDataSaubDto.HookWeight))
.Add(26, nameof(TelemetryDataSaubDto.HookWeightIdle))
.Add(27, nameof(TelemetryDataSaubDto.HookWeightLimitMin))
.Add(28, nameof(TelemetryDataSaubDto.HookWeightLimitMax))
.Add(29, nameof(TelemetryDataSaubDto.RotorTorque))
.Add(30, nameof(TelemetryDataSaubDto.RotorTorqueIdle))
.Add(31, nameof(TelemetryDataSaubDto.RotorTorqueSp))
.Add(32, nameof(TelemetryDataSaubDto.RotorTorqueLimitMax))
.Add(33, nameof(TelemetryDataSaubDto.RotorSpeed))
.Add(34, nameof(TelemetryDataSaubDto.Flow))
.Add(35, nameof(TelemetryDataSaubDto.FlowIdle))
.Add(36, nameof(TelemetryDataSaubDto.FlowDeltaLimitMax))
.Add(37, nameof(TelemetryDataSaubDto.IdFeedRegulator))
.Add(38, nameof(TelemetryDataSaubDto.MseState))
.Add(39, nameof(TelemetryDataSaubDto.Mse));
}
}
}