using AsbCloudApp.Data.SAUB;
using ProtoBuf.Meta;

namespace AsbCloudWebApi;

public static class ProtobufModel
{
    private static readonly object SyncRoot = new();

    public static void EnsureRegistered()
    {
        lock (SyncRoot)
        {
            EnsureRegisteredDataSpin();
            EnsureRegisteredDataSaub();
            EnsureRegisteredWITS();
            EnsureRegisteredWirelineRunOutBaseDto();
            EnsureRegisteredWirelineRunOutDto();
        }
    }

    private static void EnsureRegisteredWirelineRunOutBaseDto()
    {
        var type = typeof(TelemetryWirelineRunOutBaseDto);
        if (RuntimeTypeModel.Default.IsDefined(type))
            return;
        RuntimeTypeModel.Default.Add(type, false)
            .Add(1, nameof(TelemetryWirelineRunOutBaseDto.DateTime))
            .Add(2, nameof(TelemetryWirelineRunOutBaseDto.Hauling))
            .Add(3, nameof(TelemetryWirelineRunOutBaseDto.HaulingWarnSp))
            .Add(4, nameof(TelemetryWirelineRunOutBaseDto.Replace))
            .Add(5, nameof(TelemetryWirelineRunOutBaseDto.ReplaceWarnSp));
    }

    private static void EnsureRegisteredWirelineRunOutDto()
    {
        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));
    }

    private static void EnsureRegisteredWITS()
    {
        EnsureRegisteredRecord1();
        EnsureRegisteredRecord7();
        EnsureRegisteredRecord8();
        EnsureRegisteredRecord50();
        EnsureRegisteredRecord60();
        EnsureRegisteredRecord61();
    }

    private static void EnsureRegisteredRecord1()
    {
        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 EnsureRegisteredRecord7()
    {
        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 EnsureRegisteredRecord8()
    {
        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 EnsureRegisteredRecord60()
    {
        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 EnsureRegisteredRecord61()
    {
        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 EnsureRegisteredRecord50()
    {
        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 EnsureRegisteredDataSpin()
    {
        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(35, nameof(TelemetryDataSpinDto.Mode))
            .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(57, nameof(TelemetryDataSpinDto.PositionZero))
            .Add(58, nameof(TelemetryDataSpinDto.PositionRight))
            .Add(64, nameof(TelemetryDataSpinDto.State));
    }

    static void EnsureRegisteredDataSaub()
    {
        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))
            .Add(40, nameof(TelemetryDataSaubDto.Pump0Flow))
            .Add(41, nameof(TelemetryDataSaubDto.Pump1Flow))
            .Add(42, nameof(TelemetryDataSaubDto.Pump2Flow));
    }
}