diff --git a/AsbCloudApp/AsbCloudApp.csproj b/AsbCloudApp/AsbCloudApp.csproj
index dbc15171..fdd95225 100644
--- a/AsbCloudApp/AsbCloudApp.csproj
+++ b/AsbCloudApp/AsbCloudApp.csproj
@@ -4,4 +4,8 @@
net6.0
+
+
+
+
diff --git a/AsbCloudApp/Data/WITS/Record1.cs b/AsbCloudApp/Data/WITS/Record1.cs
new file mode 100644
index 00000000..ca79211d
--- /dev/null
+++ b/AsbCloudApp/Data/WITS/Record1.cs
@@ -0,0 +1,582 @@
+namespace AsbCloudApp.Data.WITS
+{
+ ///
+ /// Record name: General Time-Based
+ /// Description: Drilling data gathered at regular time intervals
+ ///
+
+ public class Record1Dto : RecordBaseDto
+ {
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 8,
+ /// LongMnemonic = "DEPTBITM",
+ /// ShortMnemonic = "DBTM",
+ /// Description = "Depth Bit (meas)",
+ /// Description2 = "Code indicating what activity is currently being performed on the rig. IT IS ESSENTIAL that this information be as accurate and current as possible. Acceptible codes are shownhere",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptbitm { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 9,
+ /// LongMnemonic = "DEPTBITV",
+ /// ShortMnemonic = "DBTV",
+ /// Description = "Depth Bit (vert)",
+ /// Description2 = "Measured depth of the bit at the time the record is generated. This is the measured depth of the shoe when running casing or liner.",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptbitv { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 10,
+ /// LongMnemonic = "DEPTMEAS",
+ /// ShortMnemonic = "DMEA",
+ /// Description = "Depth Hole (meas)",
+ /// Description2 = "Vertical depth of the bit at the time the record is generated. This is the vertical depth of the shoe when running casing or liner.",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptmeas { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 11,
+ /// LongMnemonic = "DEPTVERT",
+ /// ShortMnemonic = "DVER",
+ /// Description = "Depth Hole (vet)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptvert { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 12,
+ /// LongMnemonic = "BLKPOS",
+ /// ShortMnemonic = "BPOS",
+ /// Description = "Block Position",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Blkpos { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 13,
+ /// LongMnemonic = "ROPA",
+ /// ShortMnemonic = "ROPA",
+ /// Description = "Rate of Penetration (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "F/HR",
+ /// MetricUnits = "M/HR",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Ropa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 14,
+ /// LongMnemonic = "HKLA",
+ /// ShortMnemonic = "HKLA",
+ /// Description = "Hookload (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "KLB",
+ /// MetricUnits = "KDN",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Hkla { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 15,
+ /// LongMnemonic = "HKLX",
+ /// ShortMnemonic = "HKLX",
+ /// Description = "Hookload (max)",
+ /// Description2 = "",
+ /// FPSUnits = "KLB",
+ /// MetricUnits = "KDN",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Hklx { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 16,
+ /// LongMnemonic = "WOBA",
+ /// ShortMnemonic = "WOBA",
+ /// Description = "Weight-on-Bit (surf,avg)",
+ /// Description2 = "",
+ /// FPSUnits = "KLB",
+ /// MetricUnits = "KDN",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Woba { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 17,
+ /// LongMnemonic = "WOBX",
+ /// ShortMnemonic = "WOBX",
+ /// Description = "Weight-on-Bit (surf,max)",
+ /// Description2 = "",
+ /// FPSUnits = "KLB",
+ /// MetricUnits = "KDN",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Wobx { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 18,
+ /// LongMnemonic = "TORQA",
+ /// ShortMnemonic = "TQA",
+ /// Description = "Rotary Torque (surf,avg)",
+ /// Description2 = "",
+ /// FPSUnits = "KFLB",
+ /// MetricUnits = "KNM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Torqa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 19,
+ /// LongMnemonic = "TORQX",
+ /// ShortMnemonic = "TQX",
+ /// Description = "Rotary Torque (surf,max)",
+ /// Description2 = "",
+ /// FPSUnits = "KFLB",
+ /// MetricUnits = "KNM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Torqx { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 20,
+ /// LongMnemonic = "RPMA",
+ /// ShortMnemonic = "RPMA",
+ /// Description = "Rotary Speed (surf,avg)",
+ /// Description2 = "",
+ /// FPSUnits = "RPM",
+ /// MetricUnits = "RPM",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Rpma { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 21,
+ /// LongMnemonic = "SPPA",
+ /// ShortMnemonic = "SPPA",
+ /// Description = "Standpipe Pressure (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "PSI",
+ /// MetricUnits = "KPA",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Sppa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 22,
+ /// LongMnemonic = "CHKP",
+ /// ShortMnemonic = "CHKP",
+ /// Description = "Casing (Choke) Pressure",
+ /// Description2 = "",
+ /// FPSUnits = "PSI",
+ /// MetricUnits = "KPA",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Chkp { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 23,
+ /// LongMnemonic = "SPM1",
+ /// ShortMnemonic = "SPM1",
+ /// Description = "Pump Stroke Rate #1",
+ /// Description2 = "",
+ /// FPSUnits = "SPM",
+ /// MetricUnits = "SPM",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Spm1 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 24,
+ /// LongMnemonic = "SPM2",
+ /// ShortMnemonic = "SPM2",
+ /// Description = "Pump Stroke Rate #2",
+ /// Description2 = "",
+ /// FPSUnits = "SPM",
+ /// MetricUnits = "SPM",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Spm2 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 25,
+ /// LongMnemonic = "SPM3",
+ /// ShortMnemonic = "SPM3",
+ /// Description = "Pump Stroke Rate #3",
+ /// Description2 = "",
+ /// FPSUnits = "SPM",
+ /// MetricUnits = "SPM",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Spm3 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 26,
+ /// LongMnemonic = "TVOLACT",
+ /// ShortMnemonic = "TVA",
+ /// Description = "Tank Volume (active)",
+ /// Description2 = "",
+ /// FPSUnits = "BBL",
+ /// MetricUnits = "M3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Tvolact { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 27,
+ /// LongMnemonic = "TVOLCACT",
+ /// ShortMnemonic = "TVCA",
+ /// Description = "Tank Volume Change (act)",
+ /// Description2 = "",
+ /// FPSUnits = "BBL",
+ /// MetricUnits = "M3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Tvolcact { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 28,
+ /// LongMnemonic = "MFOP",
+ /// ShortMnemonic = "MFOP",
+ /// Description = "Mud Flow Out %",
+ /// Description2 = "",
+ /// FPSUnits = "%",
+ /// MetricUnits = "%",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Mfop { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 29,
+ /// LongMnemonic = "MFOA",
+ /// ShortMnemonic = "MFOA",
+ /// Description = "Mud Flow Out (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "GPM",
+ /// MetricUnits = "L/M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfoa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 30,
+ /// LongMnemonic = "MFIA",
+ /// ShortMnemonic = "MFIA",
+ /// Description = "Mud Flow In (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "GPM",
+ /// MetricUnits = "L/M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfia { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 31,
+ /// LongMnemonic = "MDOA",
+ /// ShortMnemonic = "MDOA",
+ /// Description = "Mud Density Out (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "PPG",
+ /// MetricUnits = "KGM3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mdoa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 32,
+ /// LongMnemonic = "MDIA",
+ /// ShortMnemonic = "MDIA",
+ /// Description = "Mud Density In (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "PPG",
+ /// MetricUnits = "KGM3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mdia { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 33,
+ /// LongMnemonic = "MTOA",
+ /// ShortMnemonic = "MTOA",
+ /// Description = "Mud Temperature Out (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "DEGF",
+ /// MetricUnits = "DEGC",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mtoa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 34,
+ /// LongMnemonic = "MTIA",
+ /// ShortMnemonic = "MTIA",
+ /// Description = "Mud Temperature In (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "DEGF",
+ /// MetricUnits = "DEGC",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mtia { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 35,
+ /// LongMnemonic = "MCOA",
+ /// ShortMnemonic = "MCOA",
+ /// Description = "Mud Conductivity Out (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "MMHO",
+ /// MetricUnits = "MMHO",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mcoa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 36,
+ /// LongMnemonic = "MCIA",
+ /// ShortMnemonic = "MCIA",
+ /// Description = "Mud Conductivity In (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "MMHO",
+ /// MetricUnits = "MMHO",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mcia { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 37,
+ /// LongMnemonic = "STKC",
+ /// ShortMnemonic = "STKC",
+ /// Description = "Pump Stroke Count (cum)",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "L"
+ ///
+
+ public int? Stkc { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 38,
+ /// LongMnemonic = "LAGSTKS",
+ /// ShortMnemonic = "LSTK",
+ /// Description = "Lag Strokes",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Lagstks { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 39,
+ /// LongMnemonic = "DEPTRETM",
+ /// ShortMnemonic = "DRTM",
+ /// Description = "Depth Returns (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptretm { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 40,
+ /// LongMnemonic = "GASA",
+ /// ShortMnemonic = "GASA",
+ /// Description = "Gas (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "%",
+ /// MetricUnits = "%",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Gasa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 41,
+ /// LongMnemonic = "SPARE1",
+ /// ShortMnemonic = "SPR1",
+ /// Description = "< SPARE 1>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare1 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 42,
+ /// LongMnemonic = "SPARE2",
+ /// ShortMnemonic = "SPR2",
+ /// Description = "< SPARE 2>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare2 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 43,
+ /// LongMnemonic = "SPARE3",
+ /// ShortMnemonic = "SPR3",
+ /// Description = "< SPARE 3>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare3 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 44,
+ /// LongMnemonic = "SPARE4",
+ /// ShortMnemonic = "SPR4",
+ /// Description = "< SPARE 4>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare4 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 45,
+ /// LongMnemonic = "SPARE5",
+ /// ShortMnemonic = "SPR5",
+ /// Description = "< SPARE 5>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare5 { get; set; }
+
+ }
+}
diff --git a/AsbCloudApp/Data/WITS/Record50.cs b/AsbCloudApp/Data/WITS/Record50.cs
new file mode 100644
index 00000000..452a6d08
--- /dev/null
+++ b/AsbCloudApp/Data/WITS/Record50.cs
@@ -0,0 +1,298 @@
+namespace AsbCloudApp.Data.WITS
+{
+ ///
+ /// Record name: Резистивиметр MCR
+ /// Description: SibReciver. Резистивиметр MCR
+ /// Description2:
+ ///
+
+ public class Record50Dto : RecordBaseDto
+ {
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 8,
+ /// LongMnemonic = "DEPTBITM",
+ /// ShortMnemonic = "DBTM",
+ /// Description = "SibReceiver custom. Положение долота",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptbitm { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 10,
+ /// LongMnemonic = "DEPTMEAS_MCRSTAT",
+ /// ShortMnemonic = "DEPTMEAS_MCRSTAT",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? DeptmeasMcrstat { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 11,
+ /// LongMnemonic = "MCRSTAT",
+ /// ShortMnemonic = "MCRSTAT",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mcrstat { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 12,
+ /// LongMnemonic = "DEPTMEAS_SLVL_mc",
+ /// ShortMnemonic = "DEPTMEAS_SLVL_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? DeptmeasSlvlMc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 13,
+ /// LongMnemonic = "SLVL_mc",
+ /// ShortMnemonic = "SLVL_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? SlvlMc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 14,
+ /// LongMnemonic = "DEPTMEAS_GDP_mc",
+ /// ShortMnemonic = "DEPTMEAS_GDP_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? DeptmeasGdpMc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 15,
+ /// LongMnemonic = "GDP_mc",
+ /// ShortMnemonic = "GDP_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? GdpMc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 16,
+ /// LongMnemonic = "DEPTMEAS_RA33F2_mc",
+ /// ShortMnemonic = "DEPTMEAS_RA33F2_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? DeptmeasRa33f2Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 17,
+ /// LongMnemonic = "RA33F2_mc",
+ /// ShortMnemonic = "RA33F2_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Ra33f2Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 18,
+ /// LongMnemonic = "DEPTMEAS_RP33F2_mc",
+ /// ShortMnemonic = "DEPTMEAS_RP33F2_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? DeptmeasRp33f2Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 19,
+ /// LongMnemonic = "RP33F2_mc",
+ /// ShortMnemonic = "RP33F2_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Rp33f2Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 20,
+ /// LongMnemonic = "DEPTMEAS_RA33F4_mc",
+ /// ShortMnemonic = "DEPTMEAS_RA33F4_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? DeptmeasRa33f4Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 21,
+ /// LongMnemonic = "RA33F4_mc",
+ /// ShortMnemonic = "RA33F4_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Ra33f4Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 22,
+ /// LongMnemonic = "DEPTMEAS_RP33F4_mc",
+ /// ShortMnemonic = "DEPTMEAS_RP33F4_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? DeptmeasRp33f4Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 23,
+ /// LongMnemonic = "RP33F4_mc",
+ /// ShortMnemonic = "RP33F4_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Rp33f4Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 46,
+ /// LongMnemonic = "DEPTMEAS_RA33_mc",
+ /// ShortMnemonic = "DEPTMEAS_RA33_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? DeptmeasRa33Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 47,
+ /// LongMnemonic = "RA33_mc",
+ /// ShortMnemonic = "RA33_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Ra33Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 28,
+ /// LongMnemonic = "DEPTMEAS_RP33_mc",
+ /// ShortMnemonic = "DEPTMEAS_RP33_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? DeptmeasRp33Mc { get; set; }
+
+ ///
+ /// RecordId = 50,
+ /// ItemId = 29,
+ /// LongMnemonic = "RP33_mc",
+ /// ShortMnemonic = "RP33_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Rp33Mc { get; set; }
+
+ }
+}
diff --git a/AsbCloudApp/Data/WITS/Record60.cs b/AsbCloudApp/Data/WITS/Record60.cs
new file mode 100644
index 00000000..2fa2e2e1
--- /dev/null
+++ b/AsbCloudApp/Data/WITS/Record60.cs
@@ -0,0 +1,163 @@
+namespace AsbCloudApp.Data.WITS
+{
+ ///
+ /// Record name: Передача полных
+ /// Description: SibReciver. Передача полных
+ /// Description2:
+ ///
+
+ public class Record60Dto : RecordBaseDto
+ {
+
+ ///
+ /// RecordId = 60,
+ /// ItemId = 99,
+ /// LongMnemonic = "DEPTBITM",
+ /// ShortMnemonic = "DBTM",
+ /// Description = "SibReceiver custom. Положение долота",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptbitm { get; set; }
+
+ ///
+ /// RecordId = 60,
+ /// ItemId = 10,
+ /// LongMnemonic = "DEPTMEAS",
+ /// ShortMnemonic = "DMEA",
+ /// Description = "SibReceiver custom. Точка Замера",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptmeas { get; set; }
+
+ ///
+ /// RecordId = 60,
+ /// ItemId = 11,
+ /// LongMnemonic = "Gtot",
+ /// ShortMnemonic = "Gtot",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Gtot { get; set; }
+
+ ///
+ /// RecordId = 60,
+ /// ItemId = 12,
+ /// LongMnemonic = "Gx",
+ /// ShortMnemonic = "Gx",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Gx { get; set; }
+
+ ///
+ /// RecordId = 60,
+ /// ItemId = 13,
+ /// LongMnemonic = "Gy",
+ /// ShortMnemonic = "Gy",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Gy { get; set; }
+
+ ///
+ /// RecordId = 60,
+ /// ItemId = 14,
+ /// LongMnemonic = "Gz",
+ /// ShortMnemonic = "Gz",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Gz { get; set; }
+
+ ///
+ /// RecordId = 60,
+ /// ItemId = 15,
+ /// LongMnemonic = "Btot",
+ /// ShortMnemonic = "Btot",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Btot { get; set; }
+
+ ///
+ /// RecordId = 60,
+ /// ItemId = 16,
+ /// LongMnemonic = "Bx",
+ /// ShortMnemonic = "Bx",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Bx { get; set; }
+
+ ///
+ /// RecordId = 60,
+ /// ItemId = 17,
+ /// LongMnemonic = "By",
+ /// ShortMnemonic = "By",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? By { get; set; }
+
+ ///
+ /// RecordId = 60,
+ /// ItemId = 18,
+ /// LongMnemonic = "Bz",
+ /// ShortMnemonic = "Bz",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Bz { get; set; }
+
+ }
+}
diff --git a/AsbCloudApp/Data/WITS/Record61.cs b/AsbCloudApp/Data/WITS/Record61.cs
new file mode 100644
index 00000000..2c7e3f24
--- /dev/null
+++ b/AsbCloudApp/Data/WITS/Record61.cs
@@ -0,0 +1,178 @@
+namespace AsbCloudApp.Data.WITS
+{
+ ///
+ /// Record name: Резистивиметр Corvet
+ /// Description: SibReciver. Резистивиметр Corvet
+ /// Description2:
+ ///
+
+ public class Record61Dto : RecordBaseDto
+ {
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 99,
+ /// LongMnemonic = "DEPTBITM",
+ /// ShortMnemonic = "DBTM",
+ /// Description = "SibReceiver custom. Положение долота",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptbitm { get; set; }
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 10,
+ /// LongMnemonic = "DEPTMEAS",
+ /// ShortMnemonic = "DMEA",
+ /// Description = "SibReceiver custom. Точка Замера",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptmeas { get; set; }
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 11,
+ /// LongMnemonic = "PHL1F1",
+ /// ShortMnemonic = "PHL1F1",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Phl1f1 { get; set; }
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 12,
+ /// LongMnemonic = "PHL1F2",
+ /// ShortMnemonic = "PHL1F2",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Phl1f2 { get; set; }
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 13,
+ /// LongMnemonic = "PHL2F1",
+ /// ShortMnemonic = "PHL2F1",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Phl2f1 { get; set; }
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 14,
+ /// LongMnemonic = "PHL2F2",
+ /// ShortMnemonic = "PHL2F2",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Phl2f2 { get; set; }
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 15,
+ /// LongMnemonic = "ATT06H",
+ /// ShortMnemonic = "ATT06H",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Att06h { get; set; }
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 16,
+ /// LongMnemonic = "ATT06L",
+ /// ShortMnemonic = "ATT06L",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Att06l { get; set; }
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 17,
+ /// LongMnemonic = "ATT10H",
+ /// ShortMnemonic = "ATT10H",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Att10h { get; set; }
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 18,
+ /// LongMnemonic = "ATT10L",
+ /// ShortMnemonic = "ATT10L",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Att10l { get; set; }
+
+ ///
+ /// RecordId = 61,
+ /// ItemId = 19,
+ /// LongMnemonic = "Status",
+ /// ShortMnemonic = "Status",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Status { get; set; }
+
+ }
+}
diff --git a/AsbCloudApp/Data/WITS/Record7.cs b/AsbCloudApp/Data/WITS/Record7.cs
new file mode 100644
index 00000000..5066cb8e
--- /dev/null
+++ b/AsbCloudApp/Data/WITS/Record7.cs
@@ -0,0 +1,298 @@
+namespace AsbCloudApp.Data.WITS
+{
+ ///
+ /// Record name: Survey/Directional
+ /// Description: Directional/Survey data
+ /// Description2:
+ ///
+
+ public class Record7Dto : RecordBaseDto
+ {
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 8,
+ /// LongMnemonic = "DEPTSVYM",
+ /// ShortMnemonic = "DSVM",
+ /// Description = "Depth Svy/reading (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptsvym { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 9,
+ /// LongMnemonic = "DEPTSVYV",
+ /// ShortMnemonic = "DSVV",
+ /// Description = "Depth Svy/reading (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptsvyv { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 10,
+ /// LongMnemonic = "PASSNUM",
+ /// ShortMnemonic = "PASS",
+ /// Description = "Pass Number",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Passnum { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 11,
+ /// LongMnemonic = "DEPTMEAS",
+ /// ShortMnemonic = "DMEA",
+ /// Description = "Depth Hole (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptmeas { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 12,
+ /// LongMnemonic = "SVYTYPE",
+ /// ShortMnemonic = "STYP",
+ /// Description = "Svy Type",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 8,
+ /// ValueType = "A"
+ ///
+
+ public string Svytype { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 13,
+ /// LongMnemonic = "SVYINC",
+ /// ShortMnemonic = "SINC",
+ /// Description = "Svy Inclination",
+ /// Description2 = "",
+ /// FPSUnits = "DEG",
+ /// MetricUnits = "DEG",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Svyinc { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 14,
+ /// LongMnemonic = "SVYAZU",
+ /// ShortMnemonic = "SAZU",
+ /// Description = "Svy Azimuth (uncorrected)",
+ /// Description2 = "",
+ /// FPSUnits = "DEG",
+ /// MetricUnits = "DEG",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Svyazu { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 15,
+ /// LongMnemonic = "SVYAZC",
+ /// ShortMnemonic = "SAZC",
+ /// Description = "Svy Azimuth (corrected)",
+ /// Description2 = "",
+ /// FPSUnits = "DEG",
+ /// MetricUnits = "DEG",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Svyazc { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 16,
+ /// LongMnemonic = "SVYMTF",
+ /// ShortMnemonic = "SMTF",
+ /// Description = "Svy Magnetic Toolface",
+ /// Description2 = "",
+ /// FPSUnits = "DEG",
+ /// MetricUnits = "DEG",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Svymtf { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 17,
+ /// LongMnemonic = "SVYGTF",
+ /// ShortMnemonic = "SGTF",
+ /// Description = "Svy Gravity Toolface",
+ /// Description2 = "",
+ /// FPSUnits = "DEG",
+ /// MetricUnits = "DEG",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Svygtf { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 18,
+ /// LongMnemonic = "SVYNS",
+ /// ShortMnemonic = "SNS",
+ /// Description = "Svy North-South Position",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Svyns { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 19,
+ /// LongMnemonic = "SVYEW",
+ /// ShortMnemonic = "SEW",
+ /// Description = "Svy East-West Position",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Svyew { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 20,
+ /// LongMnemonic = "SVYDLS",
+ /// ShortMnemonic = "SDLS",
+ /// Description = "Svy Dog Leg Severity",
+ /// Description2 = "",
+ /// FPSUnits = "DGHF",
+ /// MetricUnits = "DGHM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Svydls { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 21,
+ /// LongMnemonic = "SVYWALK",
+ /// ShortMnemonic = "SWLK",
+ /// Description = "Svy Rate of Walk",
+ /// Description2 = "",
+ /// FPSUnits = "DGHF",
+ /// MetricUnits = "DGHM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Svywalk { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 22,
+ /// LongMnemonic = "SPARE1",
+ /// ShortMnemonic = "SPR1",
+ /// Description = "< SPARE 1>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare1 { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 23,
+ /// LongMnemonic = "SPARE2",
+ /// ShortMnemonic = "SPR2",
+ /// Description = "< SPARE 2>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare2 { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 24,
+ /// LongMnemonic = "SPARE3",
+ /// ShortMnemonic = "SPR3",
+ /// Description = "< SPARE 3>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare3 { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 25,
+ /// LongMnemonic = "SPARE4",
+ /// ShortMnemonic = "SPR4",
+ /// Description = "< SPARE 4>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare4 { get; set; }
+
+ ///
+ /// RecordId = 7,
+ /// ItemId = 26,
+ /// LongMnemonic = "SPARE5",
+ /// ShortMnemonic = "SPR5",
+ /// Description = "< SPARE 5>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare5 { get; set; }
+
+ }
+}
diff --git a/AsbCloudApp/Data/WITS/Record8.cs b/AsbCloudApp/Data/WITS/Record8.cs
new file mode 100644
index 00000000..df1cf67e
--- /dev/null
+++ b/AsbCloudApp/Data/WITS/Record8.cs
@@ -0,0 +1,733 @@
+namespace AsbCloudApp.Data.WITS
+{
+ ///
+ /// Record name: MWD Formation Evaluation
+ /// Description: MWD Formation Evaluation data
+ /// Description2:
+ ///
+
+ public class Record8Dto : RecordBaseDto
+ {
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 8,
+ /// LongMnemonic = "DEPTMEAS",
+ /// ShortMnemonic = "DMEA",
+ /// Description = "Depth Hole (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptmeas { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 9,
+ /// LongMnemonic = "DEPTVERT",
+ /// ShortMnemonic = "DVER",
+ /// Description = "Depth Hole (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptvert { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 10,
+ /// LongMnemonic = "DEPTBITM",
+ /// ShortMnemonic = "DBTM",
+ /// Description = "Depth Bit (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptbitm { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 11,
+ /// LongMnemonic = "DEPTBITV",
+ /// ShortMnemonic = "DBTV",
+ /// Description = "Depth Bit (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptbitv { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 12,
+ /// LongMnemonic = "PASSNUM",
+ /// ShortMnemonic = "PASS",
+ /// Description = "Pass Number",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Passnum { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 13,
+ /// LongMnemonic = "DEPTRS1M",
+ /// ShortMnemonic = "DR1M",
+ /// Description = "Depth Resis 1 sensor (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptrs1m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 14,
+ /// LongMnemonic = "DEPTRS1V",
+ /// ShortMnemonic = "DR1V",
+ /// Description = "Depth Resis 1 sensor (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptrs1v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 15,
+ /// LongMnemonic = "MR1",
+ /// ShortMnemonic = "MR1",
+ /// Description = "Resis 1 reading",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mr1 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 16,
+ /// LongMnemonic = "MR1C",
+ /// ShortMnemonic = "MR1C",
+ /// Description = "Resis 1 (borehole corr)",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mr1c { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 17,
+ /// LongMnemonic = "DEPTRS2M",
+ /// ShortMnemonic = "DR2M",
+ /// Description = "Depth Resis 2 sensor (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptrs2m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 18,
+ /// LongMnemonic = "DEPTRS2V",
+ /// ShortMnemonic = "DR2V",
+ /// Description = "Depth Resis 2 sensor (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptrs2v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 19,
+ /// LongMnemonic = "MR2",
+ /// ShortMnemonic = "MR2",
+ /// Description = "Resis 2 reading",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mr2 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 20,
+ /// LongMnemonic = "MR2C",
+ /// ShortMnemonic = "MR2C",
+ /// Description = "Resis 2 (borehole corr)",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mr2c { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 21,
+ /// LongMnemonic = "DEPTGR1M",
+ /// ShortMnemonic = "DG1M",
+ /// Description = "Depth G.Ray 1 sensor(meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptgr1m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 22,
+ /// LongMnemonic = "DEPTGR1V",
+ /// ShortMnemonic = "DG1V",
+ /// Description = "Depth G.Ray 1 sensor(vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptgr1v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 23,
+ /// LongMnemonic = "MG1",
+ /// ShortMnemonic = "MG1",
+ /// Description = "Gamma Ray 1 reading",
+ /// Description2 = "",
+ /// FPSUnits = "API",
+ /// MetricUnits = "API",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mg1 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 24,
+ /// LongMnemonic = "MG1C",
+ /// ShortMnemonic = "MG1C",
+ /// Description = "Gamma Ray 1(borehole corr)",
+ /// Description2 = "",
+ /// FPSUnits = "API",
+ /// MetricUnits = "API",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mg1c { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 25,
+ /// LongMnemonic = "DEPTGR2M",
+ /// ShortMnemonic = "DG2M",
+ /// Description = "Depth G.Ray 2 sensor(meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptgr2m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 26,
+ /// LongMnemonic = "DEPTGR2V",
+ /// ShortMnemonic = "DG2V",
+ /// Description = "Depth G.Ray 2 sensor(vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptgr2v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 27,
+ /// LongMnemonic = "MG2",
+ /// ShortMnemonic = "MG2",
+ /// Description = "Gamma Ray 2 reading",
+ /// Description2 = "",
+ /// FPSUnits = "API",
+ /// MetricUnits = "API",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mg2 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 28,
+ /// LongMnemonic = "MG2C",
+ /// ShortMnemonic = "MG2C",
+ /// Description = "Gamma Ray 2(borehole corr)",
+ /// Description2 = "",
+ /// FPSUnits = "API",
+ /// MetricUnits = "API",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mg2c { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 29,
+ /// LongMnemonic = "DEPTP1M",
+ /// ShortMnemonic = "DP1M",
+ /// Description = "Depth Por 1 sensor (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptp1m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 30,
+ /// LongMnemonic = "DEPTP1V",
+ /// ShortMnemonic = "DP1V",
+ /// Description = "Depth Por 1 sensor (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptp1v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 31,
+ /// LongMnemonic = "MPO1",
+ /// ShortMnemonic = "MPO1",
+ /// Description = "Porosity Tool 1 reading",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mpo1 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 32,
+ /// LongMnemonic = "DEPTP2M",
+ /// ShortMnemonic = "DP2M",
+ /// Description = "Depth Por 2 sensor (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptp2m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 33,
+ /// LongMnemonic = "DEPTP2V",
+ /// ShortMnemonic = "DP2V",
+ /// Description = "Depth Por 2 sensor (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptp2v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 34,
+ /// LongMnemonic = "MPO2",
+ /// ShortMnemonic = "MPO2",
+ /// Description = "Porosity Tool 2 reading",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mpo2 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 35,
+ /// LongMnemonic = "MFTANN",
+ /// ShortMnemonic = "MFTA",
+ /// Description = "Downhole Fluid Temp (ann)",
+ /// Description2 = "",
+ /// FPSUnits = "DEGF",
+ /// MetricUnits = "DEGC",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mftann { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 36,
+ /// LongMnemonic = "MFTPIPE",
+ /// ShortMnemonic = "MFTP",
+ /// Description = "Downhole Fluid Temp (pipe)",
+ /// Description2 = "",
+ /// FPSUnits = "DEGF",
+ /// MetricUnits = "DEGC",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mftpipe { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 37,
+ /// LongMnemonic = "MFRANN",
+ /// ShortMnemonic = "MFRA",
+ /// Description = "Downhole Fluid Resis (ann)",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfrann { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 38,
+ /// LongMnemonic = "MFRPIPE",
+ /// ShortMnemonic = "MFRP",
+ /// Description = "Downhole Fluid Resis (pipe)",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfrpipe { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 39,
+ /// LongMnemonic = "DEPTFDM",
+ /// ShortMnemonic = "DFDM",
+ /// Description = "Depth Form Density (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptfdm { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 40,
+ /// LongMnemonic = "DEPTFDV",
+ /// ShortMnemonic = "DFDV",
+ /// Description = "Depth Form Density (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptfdv { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 41,
+ /// LongMnemonic = "MFD",
+ /// ShortMnemonic = "MFD",
+ /// Description = "Formation Density",
+ /// Description2 = "",
+ /// FPSUnits = "G/CC",
+ /// MetricUnits = "G/CC",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfd { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 42,
+ /// LongMnemonic = "DEPTCALM",
+ /// ShortMnemonic = "DCLM",
+ /// Description = "Depth Caliper (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptcalm { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 43,
+ /// LongMnemonic = "DEPTCALV",
+ /// ShortMnemonic = "DCLV",
+ /// Description = "Depth Caliper (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptcalv { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 44,
+ /// LongMnemonic = "MCLP",
+ /// ShortMnemonic = "MCLP",
+ /// Description = "Caliper",
+ /// Description2 = "",
+ /// FPSUnits = "IN",
+ /// MetricUnits = "MM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mclp { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 45,
+ /// LongMnemonic = "MFPP",
+ /// ShortMnemonic = "MFPP",
+ /// Description = "Pore Pressure Grad MWD",
+ /// Description2 = "",
+ /// FPSUnits = "PPG",
+ /// MetricUnits = "KGM3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfpp { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 46,
+ /// LongMnemonic = "MFFP",
+ /// ShortMnemonic = "MFFP",
+ /// Description = "Frac Pressure Grad MWD",
+ /// Description2 = "",
+ /// FPSUnits = "PPG",
+ /// MetricUnits = "KGM3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mffp { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 47,
+ /// LongMnemonic = "SPARE1",
+ /// ShortMnemonic = "SPR1",
+ /// Description = "< SPARE 1>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare1 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 48,
+ /// LongMnemonic = "SPARE2",
+ /// ShortMnemonic = "SPR2",
+ /// Description = "< SPARE 2>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare2 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 49,
+ /// LongMnemonic = "SPARE3",
+ /// ShortMnemonic = "SPR3",
+ /// Description = "< SPARE 3>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare3 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 50,
+ /// LongMnemonic = "SPARE4",
+ /// ShortMnemonic = "SPR4",
+ /// Description = "< SPARE 4>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare4 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 51,
+ /// LongMnemonic = "SPARE5",
+ /// ShortMnemonic = "SPR5",
+ /// Description = "< SPARE 5>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare5 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 52,
+ /// LongMnemonic = "SPARE6",
+ /// ShortMnemonic = "SPR6",
+ /// Description = "< SPARE 6>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare6 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 53,
+ /// LongMnemonic = "SPARE7",
+ /// ShortMnemonic = "SPR7",
+ /// Description = "< SPARE 7>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare7 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 54,
+ /// LongMnemonic = "SPARE8",
+ /// ShortMnemonic = "SPR8",
+ /// Description = "< SPARE 8>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare8 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 55,
+ /// LongMnemonic = "SPARE9",
+ /// ShortMnemonic = "SPR9",
+ /// Description = "< SPARE 9>",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare9 { get; set; }
+
+ }
+}
diff --git a/AsbCloudApp/Data/WITS/RecordBase.cs b/AsbCloudApp/Data/WITS/RecordBase.cs
new file mode 100644
index 00000000..52e3267b
--- /dev/null
+++ b/AsbCloudApp/Data/WITS/RecordBase.cs
@@ -0,0 +1,119 @@
+namespace AsbCloudApp.Data.WITS
+{
+ ///
+ /// This is base class for all WITS-0 records
+ ///
+ public abstract class RecordBaseDto
+ {
+ public int Id { get; set; }
+
+
+ public int TimeStamp { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 1,
+ /// LongMnemonic = "WELLID",
+ /// ShortMnemonic = "WID",
+ /// Description = "Well Identifier",
+ /// Description2 = "Number/name assigned to the well by the operator for identification purposes. This item is common to all records. This includes a four-character code identifying the SENDER.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 16,
+ /// ValueType = "A"
+ ///
+
+ public string Wellid { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 2,
+ /// LongMnemonic = "STKNUM",
+ /// ShortMnemonic = "SKNO",
+ /// Description = "Sidetrack/Hole Sect No.",
+ /// Description2 = "Measured depth of the hole at the time the record is generated.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Stknum { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 3,
+ /// LongMnemonic = "RECID",
+ /// ShortMnemonic = "RID",
+ /// Description = "Record Identifier",
+ /// Description2 = "Number of the sidetrack being drilled at the time the computer generated the record. Prior to having a sidetrack, this number is always 0. The sidetrack number indexes at the time drilling new formation commences (not while drilling the cement plug). This item is common to all records.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Recid { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 4,
+ /// LongMnemonic = "SEQID",
+ /// ShortMnemonic = "SQID",
+ /// Description = "Sequence Identifier",
+ /// Description2 = "Logical data record type identifier. This item is common to all records and, for current Pre-Defined Records, contains a value between 1 and 25, according to the record type. Types 26 through 49 inclusive are reserved for future expansion of the Pre-Defined records. Types 50 through 80 inclusive are open for Custom user definition. NOTE that the Logical Record Type for a record is this number plus 150, thus WITS Record 1 is Logical Record Type 151, WITS Record 2 is Logical Record Type 152, etc.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "L"
+ ///
+
+ public int? Seqid { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 5,
+ /// LongMnemonic = "DATE",
+ /// ShortMnemonic = "DATE",
+ /// Description = "Date",
+ /// Description2 = "Indicates the number of times this record has been generated (it is not reset to zero for a sidetrack). The computer should automatically increase the number by one each time it creates a new record. This item is common to all records. The sequence identifier in each individual record type keeps track of the count for that particular record only. Thus there is a sequence identifier for each record type used.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "L"
+ ///
+
+ public int? Date { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 6,
+ /// LongMnemonic = "TIME",
+ /// ShortMnemonic = "TIME",
+ /// Description = "Time",
+ /// Description2 = "Indicates the date the computer generated this record. The date is reported as a 6 digit integer in a YYMMDD type format. e.g. 910404 would represent April 4, 1991. It is common to all records. Note that, like Time below, Universal Coordinated Time (Greenwich Mean Time) is used as the common reference. Note also that though this number should never decrease, there is no guarantee of this fact.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "L"
+ ///
+
+ public int? Time { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 7,
+ /// LongMnemonic = "ACTCOD",
+ /// ShortMnemonic = "ACTC",
+ /// Description = "Activity Code",
+ /// Description2 = "Indicates the time of day (24 hour clock), when the computer generated the record, eg. 225015 would represent 10:50:15 pm. This item is common to all records. Note that, like Date above, Universal Coordinated Time (Greenwich Mean Time) is used as the common reference.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Actcod { get; set; }
+
+ }
+}
diff --git a/AsbCloudApp/Services/IWitsRepository.cs b/AsbCloudApp/Services/IWitsRepository.cs
new file mode 100644
index 00000000..32a9c8ee
--- /dev/null
+++ b/AsbCloudApp/Services/IWitsRepository.cs
@@ -0,0 +1,11 @@
+using System.Collections.Generic;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace AsbCloudApp.Services
+{
+ public interface IWitsRepository
+ {
+ Task SaveDataAsync(string uid, IEnumerable dtos, CancellationToken token);
+ }
+}
\ No newline at end of file
diff --git a/AsbCloudDb/AsbCloudDb.csproj b/AsbCloudDb/AsbCloudDb.csproj
index 90bdaac5..2c9282b5 100644
--- a/AsbCloudDb/AsbCloudDb.csproj
+++ b/AsbCloudDb/AsbCloudDb.csproj
@@ -12,4 +12,8 @@
+
+
+
+
diff --git a/AsbCloudDb/Migrations/20220401122724_Add_WitsRecords.Designer.cs b/AsbCloudDb/Migrations/20220401122724_Add_WitsRecords.Designer.cs
new file mode 100644
index 00000000..f90c0d9b
--- /dev/null
+++ b/AsbCloudDb/Migrations/20220401122724_Add_WitsRecords.Designer.cs
@@ -0,0 +1,5771 @@
+//
+using System;
+using System.Collections.Generic;
+using AsbCloudDb.Model;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace AsbCloudDb.Migrations
+{
+ [DbContext(typeof(AsbCloudDbContext))]
+ [Migration("20220401122724_Add_WitsRecords")]
+ partial class Add_WitsRecords
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .UseCollation("Russian_Russia.1251")
+ .HasAnnotation("ProductVersion", "6.0.1")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "adminpack");
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("AsbCloudDb.Model.Cluster", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Caption")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("caption")
+ .HasComment("Название");
+
+ b.Property("IdDeposit")
+ .HasColumnType("integer")
+ .HasColumnName("id_deposit");
+
+ b.Property("Latitude")
+ .HasColumnType("double precision")
+ .HasColumnName("latitude");
+
+ b.Property("Longitude")
+ .HasColumnType("double precision")
+ .HasColumnName("longitude");
+
+ b.Property("Timezone")
+ .HasColumnType("jsonb")
+ .HasColumnName("timezone")
+ .HasComment("Смещение часового пояса от UTC");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdDeposit");
+
+ b.ToTable("t_cluster");
+
+ b.HasComment("Кусты");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Company", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Caption")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("caption");
+
+ b.Property("IdCompanyType")
+ .HasMaxLength(255)
+ .HasColumnType("integer")
+ .HasColumnName("id_company_type")
+ .HasComment("вид деятельности");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdCompanyType");
+
+ b.ToTable("t_company");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Caption = "ООО \"АСБ\"",
+ IdCompanyType = 3
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.CompanyType", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Caption")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("caption");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_company_type");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Caption = "Недрапользователь"
+ },
+ new
+ {
+ Id = 2,
+ Caption = "Буровой подрядчик"
+ },
+ new
+ {
+ Id = 3,
+ Caption = "Сервис автоматизации бурения"
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Deposit", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Caption")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("caption");
+
+ b.Property("Latitude")
+ .HasColumnType("double precision")
+ .HasColumnName("latitude");
+
+ b.Property("Longitude")
+ .HasColumnType("double precision")
+ .HasColumnName("longitude");
+
+ b.Property("Timezone")
+ .HasColumnType("jsonb")
+ .HasColumnName("timezone")
+ .HasComment("Смещение часового пояса от UTC");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_deposit");
+
+ b.HasComment("Месторождение");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.DrillFlowChart", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("AxialLoadMax")
+ .HasColumnType("double precision")
+ .HasColumnName("axial_load_max")
+ .HasComment("Максимальная нагрузка");
+
+ b.Property("AxialLoadMin")
+ .HasColumnType("double precision")
+ .HasColumnName("axial_load_min")
+ .HasComment("Минимальная нагрузка");
+
+ b.Property("DepthEnd")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_end")
+ .HasComment("Глубина окончания интервала");
+
+ b.Property("DepthStart")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_start")
+ .HasComment("Стартовая глубина");
+
+ b.Property("FlowMax")
+ .HasColumnType("double precision")
+ .HasColumnName("flow_max")
+ .HasComment("Максимальный расход");
+
+ b.Property("FlowMin")
+ .HasColumnType("double precision")
+ .HasColumnName("flow_min")
+ .HasComment("Минимальный расход");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("well_id")
+ .HasComment("Id скважины");
+
+ b.Property("IdWellOperationCategory")
+ .HasColumnType("integer")
+ .HasColumnName("id_operation_category")
+ .HasComment("Id типа операции");
+
+ b.Property("LastUpdate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("last_update")
+ .HasComment("Дата последнего изменения");
+
+ b.Property("PressureMax")
+ .HasColumnType("double precision")
+ .HasColumnName("pressure_max")
+ .HasComment("Максимальное давление");
+
+ b.Property("PressureMin")
+ .HasColumnType("double precision")
+ .HasColumnName("pressure_min")
+ .HasComment("Минимальное давление");
+
+ b.Property("RotorSpeedMax")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_speed_max")
+ .HasComment("Максимальные обороты на ВСП");
+
+ b.Property("RotorSpeedMin")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_speed_min")
+ .HasComment("Минимальные обороты на ВСП");
+
+ b.Property("RotorTorqueMax")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_torque_max")
+ .HasComment("Максимальный момент на ВСП");
+
+ b.Property("RotorTorqueMin")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_torque_min")
+ .HasComment("Минимальный момент на ВСП");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdWell");
+
+ b.HasIndex("IdWellOperationCategory");
+
+ b.ToTable("t_drill_flow_chart");
+
+ b.HasComment("Параметры коридоров бурения (диапазоны параметров бурения)");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.DrillingProgramPart", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("IdFileCategory")
+ .HasColumnType("integer")
+ .HasColumnName("id_file_category");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdFileCategory");
+
+ b.HasIndex("IdWell", "IdFileCategory")
+ .IsUnique();
+
+ b.ToTable("t_drilling_program_part");
+
+ b.HasComment("части программ бурения");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.DrillParams", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("AxialLoadAvg")
+ .HasColumnType("double precision")
+ .HasColumnName("axial_load_avg")
+ .HasComment("Средняя нагрузка");
+
+ b.Property("AxialLoadMax")
+ .HasColumnType("double precision")
+ .HasColumnName("axial_load_max")
+ .HasComment("Максимальная нагрузка");
+
+ b.Property("AxialLoadMin")
+ .HasColumnType("double precision")
+ .HasColumnName("axial_load_min")
+ .HasComment("Минимальная нагрузка");
+
+ b.Property("DepthEnd")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_end")
+ .HasComment("Глубина окончания интервала");
+
+ b.Property("DepthStart")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_start")
+ .HasComment("Стартовая глубина");
+
+ b.Property("FlowAvg")
+ .HasColumnType("double precision")
+ .HasColumnName("flow_avg")
+ .HasComment("Средний расход");
+
+ b.Property("FlowMax")
+ .HasColumnType("double precision")
+ .HasColumnName("flow_max")
+ .HasComment("Максимальный расход");
+
+ b.Property("FlowMin")
+ .HasColumnType("double precision")
+ .HasColumnName("flow_min")
+ .HasComment("Минимальный расход");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("well_id")
+ .HasComment("Id скважины");
+
+ b.Property("IdWellSectionType")
+ .HasColumnType("integer")
+ .HasColumnName("id_wellsection_type")
+ .HasComment("Id с типом секции скважины");
+
+ b.Property("PressureAvg")
+ .HasColumnType("double precision")
+ .HasColumnName("pressure_avg")
+ .HasComment("Среднее давление");
+
+ b.Property("PressureMax")
+ .HasColumnType("double precision")
+ .HasColumnName("pressure_max")
+ .HasComment("Максимальное давление");
+
+ b.Property("PressureMin")
+ .HasColumnType("double precision")
+ .HasColumnName("pressure_min")
+ .HasComment("Минимальное давление");
+
+ b.Property("RotorSpeedAvg")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_speed_avg")
+ .HasComment("Средние обороты на ВСП");
+
+ b.Property("RotorSpeedMax")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_speed_max")
+ .HasComment("Максимальные обороты на ВСП");
+
+ b.Property("RotorSpeedMin")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_speed_min")
+ .HasComment("Минимальные обороты на ВСП");
+
+ b.Property("RotorTorqueAvg")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_torque_avg")
+ .HasComment("Средний момент на ВСП");
+
+ b.Property("RotorTorqueMax")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_torque_max")
+ .HasComment("Максимальный момент на ВСП");
+
+ b.Property("RotorTorqueMin")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_torque_min")
+ .HasComment("Минимальный момент на ВСП");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdWell");
+
+ b.HasIndex("IdWellSectionType");
+
+ b.ToTable("t_drill_params");
+
+ b.HasComment("Режим бурения в секции (диапазоны параметров бурения)");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.FileCategory", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name")
+ .HasComment("Название категории");
+
+ b.Property("ShortName")
+ .HasColumnType("text")
+ .HasColumnName("short_name")
+ .HasComment("Короткое название категории");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_file_category");
+
+ b.HasComment("Категории файлов");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "Растворный сервис",
+ ShortName = "fluidService"
+ },
+ new
+ {
+ Id = 2,
+ Name = "Цементирование",
+ ShortName = "cement"
+ },
+ new
+ {
+ Id = 3,
+ Name = "ННБ",
+ ShortName = "nnb"
+ },
+ new
+ {
+ Id = 4,
+ Name = "ГТИ",
+ ShortName = "gti"
+ },
+ new
+ {
+ Id = 5,
+ Name = "Документы по скважине",
+ ShortName = "wellDocuments"
+ },
+ new
+ {
+ Id = 6,
+ Name = "Супервайзер",
+ ShortName = "supervisor"
+ },
+ new
+ {
+ Id = 7,
+ Name = "Мастер",
+ ShortName = "master"
+ },
+ new
+ {
+ Id = 8,
+ Name = "Долотный сервис",
+ ShortName = "toolService"
+ },
+ new
+ {
+ Id = 9,
+ Name = "Буровой подрядчик",
+ ShortName = "drillService"
+ },
+ new
+ {
+ Id = 10,
+ Name = "Сервис по заканчиванию скважины",
+ ShortName = "closingService"
+ },
+ new
+ {
+ Id = 12,
+ Name = "Рапорт",
+ ShortName = "report"
+ },
+ new
+ {
+ Id = 1000,
+ Name = "Программа бурения"
+ },
+ new
+ {
+ Id = 1001,
+ Name = "Задание от геологов"
+ },
+ new
+ {
+ Id = 1002,
+ Name = "Профиль ствола скважины (ННБ)"
+ },
+ new
+ {
+ Id = 1003,
+ Name = "Технологические расчеты (ННБ)"
+ },
+ new
+ {
+ Id = 1004,
+ Name = "Долотная программа"
+ },
+ new
+ {
+ Id = 1005,
+ Name = "Программа по растворам"
+ },
+ new
+ {
+ Id = 1006,
+ Name = "Программа геофизических исследований"
+ },
+ new
+ {
+ Id = 1007,
+ Name = "Планы спусков обсадных колонн"
+ },
+ new
+ {
+ Id = 1008,
+ Name = "Программы цементирования обсадных колонн"
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.FileInfo", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("IdAuthor")
+ .HasColumnType("integer")
+ .HasColumnName("id_author")
+ .HasComment("Id пользователя, загрузившего файл");
+
+ b.Property("IdCategory")
+ .HasColumnType("integer")
+ .HasColumnName("id_category")
+ .HasComment("id категории файла");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("id скважины");
+
+ b.Property("IsDeleted")
+ .HasColumnType("boolean")
+ .HasColumnName("is_deleted")
+ .HasComment("Удален ли файл");
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name")
+ .HasComment("Название файла");
+
+ b.Property("PublishInfo")
+ .HasColumnType("jsonb")
+ .HasColumnName("publish_info")
+ .HasComment("Информация о файле в облаке");
+
+ b.Property("Size")
+ .HasColumnType("bigint")
+ .HasColumnName("file_size")
+ .HasComment("Размер файла");
+
+ b.Property("UploadDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdAuthor");
+
+ b.HasIndex("IdCategory");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_file_info");
+
+ b.HasComment("Файлы всех категорий");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.FileMark", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Comment")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("comment")
+ .HasComment("Комментарий");
+
+ b.Property("DateCreated")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date_created")
+ .HasComment("Дата совершенного действия");
+
+ b.Property("IdFile")
+ .HasColumnType("integer")
+ .HasColumnName("id_file")
+ .HasComment("id файла");
+
+ b.Property("IdMarkType")
+ .HasColumnType("integer")
+ .HasColumnName("id_mark_type")
+ .HasComment("0 - отклонен, 1 - согласован");
+
+ b.Property("IdUser")
+ .HasColumnType("integer")
+ .HasColumnName("id_user")
+ .HasComment("id пользователя");
+
+ b.Property("IsDeleted")
+ .HasColumnType("boolean")
+ .HasColumnName("is_deleted")
+ .HasComment("Помечен ли файл как удаленный");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdFile");
+
+ b.HasIndex("IdUser");
+
+ b.ToTable("t_file_mark");
+
+ b.HasComment("Действия с файлами.");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Measure", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Data")
+ .HasColumnType("jsonb")
+ .HasColumnName("data")
+ .HasComment("Данные таблицы последних данных");
+
+ b.Property("IdCategory")
+ .HasColumnType("integer")
+ .HasColumnName("id_category")
+ .HasComment("id категории");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("id скважины");
+
+ b.Property("IsDeleted")
+ .HasColumnType("boolean")
+ .HasColumnName("is_deleted")
+ .HasComment("Пометка удаленным");
+
+ b.Property("Timestamp")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("timestamp")
+ .HasComment("время добавления");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdCategory");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_measure");
+
+ b.HasComment("Таблица c данными для вкладки 'Последние данные'");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.MeasureCategory", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name")
+ .HasComment("Название категории");
+
+ b.Property("ShortName")
+ .HasColumnType("text")
+ .HasColumnName("short_name")
+ .HasComment("Короткое название категории");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_measure_category");
+
+ b.HasComment("Категория последних данных");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "Показатели бурового раствора",
+ ShortName = "Раствор"
+ },
+ new
+ {
+ Id = 2,
+ Name = "Шламограмма",
+ ShortName = "Шламограмма"
+ },
+ new
+ {
+ Id = 3,
+ Name = "ННБ",
+ ShortName = "ННБ"
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Permission", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Description")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("description")
+ .HasComment("Краткое описание");
+
+ b.Property("Name")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("name")
+ .HasComment("Название");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_permission");
+
+ b.HasComment("Разрешения на доступ к данным");
+
+ b.HasData(
+ new
+ {
+ Id = 100,
+ Description = "Разрешение удалять админ. Кусты",
+ Name = "AdminCluster.delete"
+ },
+ new
+ {
+ Id = 101,
+ Description = "Разрешение редактировать админ. Кусты",
+ Name = "AdminCluster.edit"
+ },
+ new
+ {
+ Id = 102,
+ Description = "Разрешение просматривать админ. Кусты",
+ Name = "AdminCluster.get"
+ },
+ new
+ {
+ Id = 103,
+ Description = "Разрешение удалять админ. Компании",
+ Name = "AdminCompany.delete"
+ },
+ new
+ {
+ Id = 104,
+ Description = "Разрешение редактировать админ. Компании",
+ Name = "AdminCompany.edit"
+ },
+ new
+ {
+ Id = 105,
+ Description = "Разрешение просматривать админ. Компании",
+ Name = "AdminCompany.get"
+ },
+ new
+ {
+ Id = 106,
+ Description = "Разрешение удалять админ. Типы компаний",
+ Name = "AdminCompanyType.delete"
+ },
+ new
+ {
+ Id = 107,
+ Description = "Разрешение редактировать админ. Типы компаний",
+ Name = "AdminCompanyType.edit"
+ },
+ new
+ {
+ Id = 108,
+ Description = "Разрешение просматривать админ. Типы компаний",
+ Name = "AdminCompanyType.get"
+ },
+ new
+ {
+ Id = 109,
+ Description = "Разрешение удалять админ. Месторождения",
+ Name = "AdminDeposit.delete"
+ },
+ new
+ {
+ Id = 110,
+ Description = "Разрешение редактировать админ. Месторождения",
+ Name = "AdminDeposit.edit"
+ },
+ new
+ {
+ Id = 111,
+ Description = "Разрешение просматривать админ. Месторождения",
+ Name = "AdminDeposit.get"
+ },
+ new
+ {
+ Id = 112,
+ Description = "Разрешение удалять админ. Разрешения",
+ Name = "AdminPermission.delete"
+ },
+ new
+ {
+ Id = 113,
+ Description = "Разрешение редактировать админ. Разрешения",
+ Name = "AdminPermission.edit"
+ },
+ new
+ {
+ Id = 114,
+ Description = "Разрешение просматривать админ. Разрешения",
+ Name = "AdminPermission.get"
+ },
+ new
+ {
+ Id = 115,
+ Description = "Разрешение удалять админ. Телеметрию",
+ Name = "AdminTelemetry.delete"
+ },
+ new
+ {
+ Id = 116,
+ Description = "Разрешение редактировать админ. Телеметрию",
+ Name = "AdminTelemetry.edit"
+ },
+ new
+ {
+ Id = 117,
+ Description = "Разрешение просматривать админ. Телеметрию",
+ Name = "AdminTelemetry.get"
+ },
+ new
+ {
+ Id = 118,
+ Description = "Разрешение удалять админ. Пользователей",
+ Name = "AdminUser.delete"
+ },
+ new
+ {
+ Id = 119,
+ Description = "Разрешение редактировать админ. Пользователей",
+ Name = "AdminUser.edit"
+ },
+ new
+ {
+ Id = 120,
+ Description = "Разрешение просматривать админ. Пользователей",
+ Name = "AdminUser.get"
+ },
+ new
+ {
+ Id = 121,
+ Description = "Разрешение удалять админ. Роли пользователей",
+ Name = "AdminUserRole.delete"
+ },
+ new
+ {
+ Id = 122,
+ Description = "Разрешение редактировать админ. Роли пользователей",
+ Name = "AdminUserRole.edit"
+ },
+ new
+ {
+ Id = 123,
+ Description = "Разрешение просматривать админ. Роли пользователей",
+ Name = "AdminUserRole.get"
+ },
+ new
+ {
+ Id = 124,
+ Description = "Разрешение удалять админ. Скважины",
+ Name = "AdminWell.delete"
+ },
+ new
+ {
+ Id = 125,
+ Description = "Разрешение редактировать админ. Скважины",
+ Name = "AdminWell.edit"
+ },
+ new
+ {
+ Id = 126,
+ Description = "Разрешение просматривать админ. Скважины",
+ Name = "AdminWell.get"
+ },
+ new
+ {
+ Id = 200,
+ Description = "Разрешение редактировать 0",
+ Name = "Auth.edit"
+ },
+ new
+ {
+ Id = 201,
+ Description = "Разрешение просматривать 0",
+ Name = "Auth.get"
+ },
+ new
+ {
+ Id = 202,
+ Description = "Разрешение просматривать Кусты",
+ Name = "Cluster.get"
+ },
+ new
+ {
+ Id = 203,
+ Description = "Разрешение просматривать Месторождения",
+ Name = "Deposit.get"
+ },
+ new
+ {
+ Id = 204,
+ Description = "Разрешение удалять РТК",
+ Name = "DrillFlowChart.delete"
+ },
+ new
+ {
+ Id = 205,
+ Description = "Разрешение редактировать РТК",
+ Name = "DrillFlowChart.edit"
+ },
+ new
+ {
+ Id = 206,
+ Description = "Разрешение просматривать РТК",
+ Name = "DrillFlowChart.get"
+ },
+ new
+ {
+ Id = 207,
+ Description = "Разрешение удалять Программу бурения",
+ Name = "DrillingProgram.delete"
+ },
+ new
+ {
+ Id = 208,
+ Description = "Разрешение редактировать Программу бурения",
+ Name = "DrillingProgram.edit"
+ },
+ new
+ {
+ Id = 209,
+ Description = "Разрешение просматривать Программу бурения",
+ Name = "DrillingProgram.get"
+ },
+ new
+ {
+ Id = 210,
+ Description = "Разрешение удалять Режимы бурения",
+ Name = "DrillParams.delete"
+ },
+ new
+ {
+ Id = 211,
+ Description = "Разрешение редактировать Режимы бурения",
+ Name = "DrillParams.edit"
+ },
+ new
+ {
+ Id = 212,
+ Description = "Разрешение просматривать Режимы бурения",
+ Name = "DrillParams.get"
+ },
+ new
+ {
+ Id = 213,
+ Description = "Разрешение удалять Файлы",
+ Name = "File.delete"
+ },
+ new
+ {
+ Id = 214,
+ Description = "Разрешение редактировать Файлы",
+ Name = "File.edit"
+ },
+ new
+ {
+ Id = 215,
+ Description = "Разрешение просматривать Файлы",
+ Name = "File.get"
+ },
+ new
+ {
+ Id = 216,
+ Description = "Разрешение удалять Измерения",
+ Name = "Measure.delete"
+ },
+ new
+ {
+ Id = 217,
+ Description = "Разрешение редактировать Измерения",
+ Name = "Measure.edit"
+ },
+ new
+ {
+ Id = 218,
+ Description = "Разрешение просматривать Измерения",
+ Name = "Measure.get"
+ },
+ new
+ {
+ Id = 219,
+ Description = "Разрешение просматривать Сообщения телеметрии",
+ Name = "Message.get"
+ },
+ new
+ {
+ Id = 220,
+ Description = "Разрешение просматривать Статистику по операциям",
+ Name = "OperationStat.get"
+ },
+ new
+ {
+ Id = 221,
+ Description = "Разрешение редактировать Рапорта",
+ Name = "Report.edit"
+ },
+ new
+ {
+ Id = 222,
+ Description = "Разрешение просматривать Рапорта",
+ Name = "Report.get"
+ },
+ new
+ {
+ Id = 223,
+ Description = "Разрешение просматривать админ. Системная статистика",
+ Name = "RequestTracker.get"
+ },
+ new
+ {
+ Id = 224,
+ Description = "Разрешение удалять Рекомендации уставок",
+ Name = "Setpoints.delete"
+ },
+ new
+ {
+ Id = 225,
+ Description = "Разрешение редактировать Рекомендации уставок",
+ Name = "Setpoints.edit"
+ },
+ new
+ {
+ Id = 226,
+ Description = "Разрешение просматривать Рекомендации уставок",
+ Name = "Setpoints.get"
+ },
+ new
+ {
+ Id = 227,
+ Description = "Разрешение редактировать Телеметрии",
+ Name = "Telemetry.edit"
+ },
+ new
+ {
+ Id = 228,
+ Description = "Разрешение просматривать Анализ телеметрии",
+ Name = "TelemetryAnalytics.get"
+ },
+ new
+ {
+ Id = 229,
+ Description = "Разрешение редактировать Данные телеметрии по САУБ",
+ Name = "TelemetryDataSaub.edit"
+ },
+ new
+ {
+ Id = 230,
+ Description = "Разрешение просматривать Данные телеметрии по САУБ",
+ Name = "TelemetryDataSaub.get"
+ },
+ new
+ {
+ Id = 231,
+ Description = "Разрешение редактировать Данные телеметрии по SpinMaster",
+ Name = "TelemetryDataSpin.edit"
+ },
+ new
+ {
+ Id = 232,
+ Description = "Разрешение просматривать Данные телеметрии по SpinMaster",
+ Name = "TelemetryDataSpin.get"
+ },
+ new
+ {
+ Id = 233,
+ Description = "Разрешение редактировать Скважины",
+ Name = "Well.edit"
+ },
+ new
+ {
+ Id = 234,
+ Description = "Разрешение просматривать Скважины",
+ Name = "Well.get"
+ },
+ new
+ {
+ Id = 235,
+ Description = "Разрешение редактировать Композитные скважины",
+ Name = "WellComposite.edit"
+ },
+ new
+ {
+ Id = 236,
+ Description = "Разрешение просматривать Композитные скважины",
+ Name = "WellComposite.get"
+ },
+ new
+ {
+ Id = 237,
+ Description = "Разрешение удалять Операции по скважинам",
+ Name = "WellOperation.delete"
+ },
+ new
+ {
+ Id = 238,
+ Description = "Разрешение редактировать Операции по скважинам",
+ Name = "WellOperation.edit"
+ },
+ new
+ {
+ Id = 239,
+ Description = "Разрешение просматривать Операции по скважинам",
+ Name = "WellOperation.get"
+ },
+ new
+ {
+ Id = 240,
+ Description = "Разрешение редактировать Файлы категории 1 (Растворный сервис)",
+ Name = "File.edit1"
+ },
+ new
+ {
+ Id = 241,
+ Description = "Разрешение редактировать Файлы категории 2 (Цементирование)",
+ Name = "File.edit2"
+ },
+ new
+ {
+ Id = 242,
+ Description = "Разрешение редактировать Файлы категории 3 (ННБ)",
+ Name = "File.edit3"
+ },
+ new
+ {
+ Id = 243,
+ Description = "Разрешение редактировать Файлы категории 4 (ГТИ)",
+ Name = "File.edit4"
+ },
+ new
+ {
+ Id = 244,
+ Description = "Разрешение редактировать Файлы категории 5 (Документы по скважине)",
+ Name = "File.edit5"
+ },
+ new
+ {
+ Id = 245,
+ Description = "Разрешение редактировать Файлы категории 6 (Супервайзер)",
+ Name = "File.edit6"
+ },
+ new
+ {
+ Id = 246,
+ Description = "Разрешение редактировать Файлы категории 7 (Мастер)",
+ Name = "File.edit7"
+ },
+ new
+ {
+ Id = 247,
+ Description = "Разрешение редактировать Файлы категории 8 (Долотный сервис)",
+ Name = "File.edit8"
+ },
+ new
+ {
+ Id = 248,
+ Description = "Разрешение редактировать Файлы категории 9 (Буровой подрядчик)",
+ Name = "File.edit9"
+ },
+ new
+ {
+ Id = 249,
+ Description = "Разрешение редактировать Файлы категории 10 (Сервис по заканчиванию скважины)",
+ Name = "File.edit10"
+ },
+ new
+ {
+ Id = 250,
+ Description = "Разрешение редактировать Файлы категории 11 (Рапорт)",
+ Name = "File.edit11"
+ },
+ new
+ {
+ Id = 251,
+ Description = "Разрешение редактировать Файлы категории 12",
+ Name = "File.edit12"
+ },
+ new
+ {
+ Id = 252,
+ Description = "Разрешение редактировать Файлы категории 12",
+ Name = "File.edit13"
+ },
+ new
+ {
+ Id = 253,
+ Description = "Разрешение редактировать Файлы категории 13",
+ Name = "File.edit14"
+ },
+ new
+ {
+ Id = 254,
+ Description = "Разрешение редактировать Файлы категории 14",
+ Name = "File.edit15"
+ },
+ new
+ {
+ Id = 255,
+ Description = "Разрешение редактировать Файлы категории 15",
+ Name = "File.edit16"
+ },
+ new
+ {
+ Id = 256,
+ Description = "Разрешение редактировать Файлы категории 16",
+ Name = "File.edit17"
+ },
+ new
+ {
+ Id = 257,
+ Description = "Разрешение редактировать Файлы категории 17",
+ Name = "File.edit18"
+ },
+ new
+ {
+ Id = 258,
+ Description = "Разрешение редактировать Файлы категории 18",
+ Name = "File.edit19"
+ },
+ new
+ {
+ Id = 259,
+ Description = "Разрешение редактировать Файлы категории 19",
+ Name = "File.edit20"
+ },
+ new
+ {
+ Id = 260,
+ Description = "Разрешение редактировать Файлы категории 20",
+ Name = "File.edit21"
+ },
+ new
+ {
+ Id = 261,
+ Description = "Разрешение редактировать Файлы категории 21",
+ Name = "File.edit22"
+ },
+ new
+ {
+ Id = 262,
+ Description = "Разрешение редактировать Файлы категории 22",
+ Name = "File.edit23"
+ },
+ new
+ {
+ Id = 263,
+ Description = "Разрешение редактировать Файлы категории 23",
+ Name = "File.edit24"
+ },
+ new
+ {
+ Id = 264,
+ Description = "Разрешение редактировать Файлы категории 24",
+ Name = "File.edit25"
+ },
+ new
+ {
+ Id = 265,
+ Description = "Разрешение редактировать Файлы категории 25",
+ Name = "File.edit26"
+ },
+ new
+ {
+ Id = 266,
+ Description = "Разрешение редактировать Файлы категории 26",
+ Name = "File.edit27"
+ },
+ new
+ {
+ Id = 267,
+ Description = "Разрешение редактировать Файлы категории 27",
+ Name = "File.edit28"
+ },
+ new
+ {
+ Id = 268,
+ Description = "Разрешение редактировать Файлы категории 28",
+ Name = "File.edit29"
+ },
+ new
+ {
+ Id = 269,
+ Description = "Разрешение редактировать Файлы категории 29",
+ Name = "File.edit30"
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.RelationCompanyWell", b =>
+ {
+ b.Property("IdCompany")
+ .HasColumnType("integer")
+ .HasColumnName("id_company");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well");
+
+ b.HasKey("IdCompany", "IdWell");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_relation_company_well");
+
+ b.HasComment("отношение скважин и компаний");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.RelationUserDrillingProgramPart", b =>
+ {
+ b.Property("IdUser")
+ .HasColumnType("integer")
+ .HasColumnName("id_user");
+
+ b.Property("IdDrillingProgramPart")
+ .HasColumnType("integer")
+ .HasColumnName("id_drilling_program_part");
+
+ b.Property("IdUserRole")
+ .HasColumnType("integer")
+ .HasColumnName("id_role")
+ .HasComment("1 - publisher, 2 - approver");
+
+ b.HasKey("IdUser", "IdDrillingProgramPart")
+ .HasName("t_relation_user_drilling_program_part_pk");
+
+ b.HasIndex("IdDrillingProgramPart");
+
+ b.ToTable("t_relation_user_drilling_program_part");
+
+ b.HasComment("Отношение пользователей и частей ПБ");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.RelationUserRolePermission", b =>
+ {
+ b.Property("IdUserRole")
+ .HasColumnType("integer")
+ .HasColumnName("id_user_role");
+
+ b.Property("IdPermission")
+ .HasColumnType("integer")
+ .HasColumnName("id_permission");
+
+ b.HasKey("IdUserRole", "IdPermission");
+
+ b.HasIndex("IdPermission");
+
+ b.ToTable("t_relation_user_role_permission");
+
+ b.HasComment("Отношение ролей пользователей и разрешений доступа");
+
+ b.HasData(
+ new
+ {
+ IdUserRole = 1100,
+ IdPermission = 102
+ },
+ new
+ {
+ IdUserRole = 1100,
+ IdPermission = 111
+ },
+ new
+ {
+ IdUserRole = 1101,
+ IdPermission = 101
+ },
+ new
+ {
+ IdUserRole = 1101,
+ IdPermission = 100
+ },
+ new
+ {
+ IdUserRole = 1102,
+ IdPermission = 105
+ },
+ new
+ {
+ IdUserRole = 1102,
+ IdPermission = 108
+ },
+ new
+ {
+ IdUserRole = 1103,
+ IdPermission = 104
+ },
+ new
+ {
+ IdUserRole = 1103,
+ IdPermission = 103
+ },
+ new
+ {
+ IdUserRole = 1104,
+ IdPermission = 108
+ },
+ new
+ {
+ IdUserRole = 1105,
+ IdPermission = 107
+ },
+ new
+ {
+ IdUserRole = 1105,
+ IdPermission = 106
+ },
+ new
+ {
+ IdUserRole = 1106,
+ IdPermission = 111
+ },
+ new
+ {
+ IdUserRole = 1107,
+ IdPermission = 110
+ },
+ new
+ {
+ IdUserRole = 1107,
+ IdPermission = 109
+ },
+ new
+ {
+ IdUserRole = 1108,
+ IdPermission = 114
+ },
+ new
+ {
+ IdUserRole = 1109,
+ IdPermission = 113
+ },
+ new
+ {
+ IdUserRole = 1109,
+ IdPermission = 112
+ },
+ new
+ {
+ IdUserRole = 1110,
+ IdPermission = 123
+ },
+ new
+ {
+ IdUserRole = 1110,
+ IdPermission = 114
+ },
+ new
+ {
+ IdUserRole = 1111,
+ IdPermission = 122
+ },
+ new
+ {
+ IdUserRole = 1111,
+ IdPermission = 121
+ },
+ new
+ {
+ IdUserRole = 1112,
+ IdPermission = 117
+ },
+ new
+ {
+ IdUserRole = 1113,
+ IdPermission = 105
+ },
+ new
+ {
+ IdUserRole = 1113,
+ IdPermission = 123
+ },
+ new
+ {
+ IdUserRole = 1113,
+ IdPermission = 120
+ },
+ new
+ {
+ IdUserRole = 1114,
+ IdPermission = 119
+ },
+ new
+ {
+ IdUserRole = 1114,
+ IdPermission = 118
+ },
+ new
+ {
+ IdUserRole = 1114,
+ IdPermission = 200
+ },
+ new
+ {
+ IdUserRole = 1115,
+ IdPermission = 223
+ },
+ new
+ {
+ IdUserRole = 1116,
+ IdPermission = 105
+ },
+ new
+ {
+ IdUserRole = 1116,
+ IdPermission = 102
+ },
+ new
+ {
+ IdUserRole = 1116,
+ IdPermission = 117
+ },
+ new
+ {
+ IdUserRole = 1116,
+ IdPermission = 126
+ },
+ new
+ {
+ IdUserRole = 1117,
+ IdPermission = 125
+ },
+ new
+ {
+ IdUserRole = 1117,
+ IdPermission = 124
+ },
+ new
+ {
+ IdUserRole = 1200,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1200,
+ IdPermission = 230
+ },
+ new
+ {
+ IdUserRole = 1201,
+ IdPermission = 202
+ },
+ new
+ {
+ IdUserRole = 1201,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1201,
+ IdPermission = 220
+ },
+ new
+ {
+ IdUserRole = 1202,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1202,
+ IdPermission = 220
+ },
+ new
+ {
+ IdUserRole = 1202,
+ IdPermission = 236
+ },
+ new
+ {
+ IdUserRole = 1202,
+ IdPermission = 212
+ },
+ new
+ {
+ IdUserRole = 1203,
+ IdPermission = 235
+ },
+ new
+ {
+ IdUserRole = 1204,
+ IdPermission = 202
+ },
+ new
+ {
+ IdUserRole = 1204,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1205,
+ IdPermission = 215
+ },
+ new
+ {
+ IdUserRole = 1206,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1206,
+ IdPermission = 206
+ },
+ new
+ {
+ IdUserRole = 1207,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 1208,
+ IdPermission = 218
+ },
+ new
+ {
+ IdUserRole = 1209,
+ IdPermission = 217
+ },
+ new
+ {
+ IdUserRole = 1210,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1210,
+ IdPermission = 230
+ },
+ new
+ {
+ IdUserRole = 1210,
+ IdPermission = 219
+ },
+ new
+ {
+ IdUserRole = 1211,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1211,
+ IdPermission = 220
+ },
+ new
+ {
+ IdUserRole = 1211,
+ IdPermission = 239
+ },
+ new
+ {
+ IdUserRole = 1212,
+ IdPermission = 238
+ },
+ new
+ {
+ IdUserRole = 1212,
+ IdPermission = 237
+ },
+ new
+ {
+ IdUserRole = 1213,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1213,
+ IdPermission = 239
+ },
+ new
+ {
+ IdUserRole = 1213,
+ IdPermission = 212
+ },
+ new
+ {
+ IdUserRole = 1214,
+ IdPermission = 211
+ },
+ new
+ {
+ IdUserRole = 1214,
+ IdPermission = 210
+ },
+ new
+ {
+ IdUserRole = 1215,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1215,
+ IdPermission = 222
+ },
+ new
+ {
+ IdUserRole = 1216,
+ IdPermission = 221
+ },
+ new
+ {
+ IdUserRole = 1217,
+ IdPermission = 226
+ },
+ new
+ {
+ IdUserRole = 1218,
+ IdPermission = 225
+ },
+ new
+ {
+ IdUserRole = 1218,
+ IdPermission = 224
+ },
+ new
+ {
+ IdUserRole = 1219,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1219,
+ IdPermission = 206
+ },
+ new
+ {
+ IdUserRole = 1219,
+ IdPermission = 230
+ },
+ new
+ {
+ IdUserRole = 1219,
+ IdPermission = 232
+ },
+ new
+ {
+ IdUserRole = 1220,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1220,
+ IdPermission = 228
+ },
+ new
+ {
+ IdUserRole = 1221,
+ IdPermission = 202
+ },
+ new
+ {
+ IdUserRole = 1221,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1221,
+ IdPermission = 220
+ },
+ new
+ {
+ IdUserRole = 1221,
+ IdPermission = 234
+ },
+ new
+ {
+ IdUserRole = 1501,
+ IdPermission = 214
+ },
+ new
+ {
+ IdUserRole = 1501,
+ IdPermission = 213
+ },
+ new
+ {
+ IdUserRole = 1502,
+ IdPermission = 207
+ },
+ new
+ {
+ IdUserRole = 1502,
+ IdPermission = 208
+ },
+ new
+ {
+ IdUserRole = 2000,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 2000,
+ IdPermission = 204
+ },
+ new
+ {
+ IdUserRole = 2000,
+ IdPermission = 245
+ },
+ new
+ {
+ IdUserRole = 2001,
+ IdPermission = 244
+ },
+ new
+ {
+ IdUserRole = 2001,
+ IdPermission = 245
+ },
+ new
+ {
+ IdUserRole = 2002,
+ IdPermission = 244
+ },
+ new
+ {
+ IdUserRole = 2002,
+ IdPermission = 246
+ },
+ new
+ {
+ IdUserRole = 2002,
+ IdPermission = 237
+ },
+ new
+ {
+ IdUserRole = 2002,
+ IdPermission = 238
+ },
+ new
+ {
+ IdUserRole = 2003,
+ IdPermission = 240
+ },
+ new
+ {
+ IdUserRole = 2003,
+ IdPermission = 217
+ },
+ new
+ {
+ IdUserRole = 2003,
+ IdPermission = 216
+ },
+ new
+ {
+ IdUserRole = 2004,
+ IdPermission = 242
+ },
+ new
+ {
+ IdUserRole = 2004,
+ IdPermission = 217
+ },
+ new
+ {
+ IdUserRole = 2004,
+ IdPermission = 216
+ },
+ new
+ {
+ IdUserRole = 2004,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 2004,
+ IdPermission = 204
+ },
+ new
+ {
+ IdUserRole = 2005,
+ IdPermission = 247
+ },
+ new
+ {
+ IdUserRole = 2005,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 2005,
+ IdPermission = 204
+ },
+ new
+ {
+ IdUserRole = 2006,
+ IdPermission = 243
+ },
+ new
+ {
+ IdUserRole = 2006,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 2006,
+ IdPermission = 204
+ },
+ new
+ {
+ IdUserRole = 2007,
+ IdPermission = 241
+ },
+ new
+ {
+ IdUserRole = 2007,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 2007,
+ IdPermission = 204
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.RelationUserRoleUserRole", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer")
+ .HasColumnName("id_user_role");
+
+ b.Property("IdInclude")
+ .HasColumnType("integer")
+ .HasColumnName("id_include_user_role");
+
+ b.HasKey("Id", "IdInclude")
+ .HasName("t_relation_user_role_user_role_pk");
+
+ b.HasIndex("IdInclude");
+
+ b.ToTable("t_relation_user_role_user_role");
+
+ b.HasComment("Отношение ролей к ролям");
+
+ b.HasData(
+ new
+ {
+ Id = 1101,
+ IdInclude = 1100
+ },
+ new
+ {
+ Id = 1103,
+ IdInclude = 1102
+ },
+ new
+ {
+ Id = 1105,
+ IdInclude = 1104
+ },
+ new
+ {
+ Id = 1107,
+ IdInclude = 1106
+ },
+ new
+ {
+ Id = 1109,
+ IdInclude = 1108
+ },
+ new
+ {
+ Id = 1111,
+ IdInclude = 1110
+ },
+ new
+ {
+ Id = 1114,
+ IdInclude = 1113
+ },
+ new
+ {
+ Id = 1117,
+ IdInclude = 1116
+ },
+ new
+ {
+ Id = 1203,
+ IdInclude = 1202
+ },
+ new
+ {
+ Id = 1207,
+ IdInclude = 1206
+ },
+ new
+ {
+ Id = 1209,
+ IdInclude = 1208
+ },
+ new
+ {
+ Id = 1212,
+ IdInclude = 1211
+ },
+ new
+ {
+ Id = 1214,
+ IdInclude = 1213
+ },
+ new
+ {
+ Id = 1216,
+ IdInclude = 1215
+ },
+ new
+ {
+ Id = 1218,
+ IdInclude = 1217
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1200
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1201
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1202
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1204
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1205
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1206
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1208
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1210
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1211
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1213
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1215
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1217
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1219
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1220
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1221
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2001,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2001,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2001,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2002,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2002,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2002,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2003,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2003,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2003,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2004,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2004,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2004,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2005,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2005,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2005,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2006,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2006,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2006,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2007,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2007,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2007,
+ IdInclude = 1502
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.RelationUserUserRole", b =>
+ {
+ b.Property("IdUser")
+ .HasColumnType("integer")
+ .HasColumnName("id_user");
+
+ b.Property("IdUserRole")
+ .HasColumnType("integer")
+ .HasColumnName("id_user_role");
+
+ b.HasKey("IdUser", "IdUserRole");
+
+ b.HasIndex("IdUserRole");
+
+ b.ToTable("t_relation_user_user_role");
+
+ b.HasComment("Отношение пользователей и ролей");
+
+ b.HasData(
+ new
+ {
+ IdUser = 1,
+ IdUserRole = 1
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.ReportProperty", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Begin")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("begin");
+
+ b.Property("End")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("end")
+ .HasComment("timestamp with time zone");
+
+ b.Property("Format")
+ .HasColumnType("integer")
+ .HasColumnName("format")
+ .HasComment("Формат отчета");
+
+ b.Property("IdFile")
+ .HasColumnType("integer")
+ .HasColumnName("id_file")
+ .HasComment("id файла-родителя");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("id скважины");
+
+ b.Property("Step")
+ .HasColumnType("integer")
+ .HasColumnName("step")
+ .HasComment("размер шага в секундах");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdFile");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_report_property");
+
+ b.HasComment("Отчеты с данными по буровым");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.SetpointsRequest", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Comment")
+ .HasColumnType("text")
+ .HasColumnName("comment")
+ .HasComment("комментарий для оператора");
+
+ b.Property("IdAuthor")
+ .HasColumnType("integer")
+ .HasColumnName("id_author")
+ .HasComment("Id пользователя, загрузившего файл");
+
+ b.Property("IdState")
+ .HasColumnType("integer")
+ .HasColumnName("id_state")
+ .HasComment("0: неизвестно, 1:ожидает отправки, 2: отправлено, 3: принято оператором, 4: отклонено оператором, 5: устарело");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("id скважины");
+
+ b.Property("ObsolescenceSec")
+ .HasColumnType("integer")
+ .HasColumnName("obsolescence")
+ .HasComment("сек. до устаревания");
+
+ b.Property>("Setpoints")
+ .HasColumnType("jsonb")
+ .HasColumnName("setpoint_set")
+ .HasComment("Набор уставок");
+
+ b.Property("UploadDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdAuthor");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_setpoints_rquest");
+
+ b.HasComment("Запросы на изменение уставок панели оператора");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Telemetry", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Info")
+ .HasColumnType("jsonb")
+ .HasColumnName("info")
+ .HasComment("Информация с панели о скважине");
+
+ b.Property("RemoteUid")
+ .HasColumnType("text")
+ .HasColumnName("remote_uid")
+ .HasComment("Идентификатор передающего устройства. Может повторяться в списке, так как комплекты оборудования переезжают от скв. к скв.");
+
+ b.Property("TimeZone")
+ .HasColumnType("jsonb")
+ .HasColumnName("timezone")
+ .HasComment("Смещение часового пояса от UTC");
+
+ b.HasKey("Id");
+
+ b.HasIndex(new[] { "RemoteUid" }, "t_telemetry_remote_uid_index");
+
+ b.ToTable("t_telemetry");
+
+ b.HasComment("таблица привязки телеметрии от комплектов к конкретной скважине.");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.TelemetryAnalysis", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("DurationSec")
+ .HasColumnType("integer")
+ .HasColumnName("duration_sec")
+ .HasComment("Кол-во секунд после предыдущей операции");
+
+ b.Property("IdOperation")
+ .HasColumnType("integer")
+ .HasColumnName("id_operation");
+
+ b.Property("IdTelemetry")
+ .HasColumnType("integer")
+ .HasColumnName("id_telemetry");
+
+ b.Property("IsBitPositionDecreasing")
+ .HasColumnType("boolean")
+ .HasColumnName("is_bit_position_decreasing")
+ .HasComment("Долото поднимается");
+
+ b.Property("IsBitPositionIncreasing")
+ .HasColumnType("boolean")
+ .HasColumnName("is_bit_position_increasing")
+ .HasComment("Долото спускается");
+
+ b.Property("IsBitPositionLt20")
+ .HasColumnType("boolean")
+ .HasColumnName("is_bit_posision_lt_20")
+ .HasComment("Положение долота меньше 20м");
+
+ b.Property("IsBlockPositionDecreasing")
+ .HasColumnType("boolean")
+ .HasColumnName("is_block_posision_decresing")
+ .HasComment("Талевый блок поднимается");
+
+ b.Property("IsBlockPositionIncreasing")
+ .HasColumnType("boolean")
+ .HasColumnName("is_block_posision_incresing")
+ .HasComment("Талевый блок спускается");
+
+ b.Property("IsHookWeightLt3")
+ .HasColumnType("boolean")
+ .HasColumnName("is_hook_weight_lt_3")
+ .HasComment("Вес на крюке менее 3т");
+
+ b.Property("IsHookWeightNotChanges")
+ .HasColumnType("boolean")
+ .HasColumnName("is_hook_weight_not_changes")
+ .HasComment("Вес на крюке не меняется");
+
+ b.Property("IsPressureGt20")
+ .HasColumnType("boolean")
+ .HasColumnName("is_pressure_gt_20")
+ .HasComment("Давление более 20");
+
+ b.Property("IsPressureLt20")
+ .HasColumnType("boolean")
+ .HasColumnName("is_pressure_lt_20")
+ .HasComment("Давление менее 20");
+
+ b.Property("IsRotorSpeedGt5")
+ .HasColumnType("boolean")
+ .HasColumnName("is_rotor_speed_gt_3")
+ .HasComment("Обороты ротора выше 3");
+
+ b.Property("IsRotorSpeedLt5")
+ .HasColumnType("boolean")
+ .HasColumnName("is_rotor_speed_lt_3")
+ .HasComment("Обороты ротора ниже 3");
+
+ b.Property("IsWellDepthDecreasing")
+ .HasColumnType("boolean")
+ .HasColumnName("is_well_depth_decreasing")
+ .HasComment("Глубина забоя не увеличивается");
+
+ b.Property("IsWellDepthIncreasing")
+ .HasColumnType("boolean")
+ .HasColumnName("is_well_depth_increasing")
+ .HasComment("Глубина забоя увеличивается");
+
+ b.Property("OperationEndDepth")
+ .HasColumnType("double precision")
+ .HasColumnName("operation_end_depth")
+ .HasComment("Глубина, на которой закончилась операция");
+
+ b.Property("OperationStartDepth")
+ .HasColumnType("double precision")
+ .HasColumnName("operation_start_depth")
+ .HasComment("Глубина, на которой началась операция");
+
+ b.Property("UnixDate")
+ .HasColumnType("bigint")
+ .HasColumnName("unix_date")
+ .HasComment("Unix timestamp для Linq запросов с вычислением дат");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdOperation");
+
+ b.HasIndex("IdTelemetry");
+
+ b.ToTable("t_telemetry_analysis");
+
+ b.HasComment("События на скважине");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSaub", b =>
+ {
+ b.Property("IdTelemetry")
+ .HasColumnType("integer")
+ .HasColumnName("id_telemetry");
+
+ b.Property("DateTime")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date")
+ .HasComment("'2021-10-19 18:23:54+05'");
+
+ b.Property("AxialLoad")
+ .HasColumnType("real")
+ .HasColumnName("axial_load")
+ .HasComment("Осевая нагрузка");
+
+ b.Property("AxialLoadLimitMax")
+ .HasColumnType("real")
+ .HasColumnName("axial_load_limit_max")
+ .HasComment("Осевая нагрузка. Аварийная макс.");
+
+ b.Property("AxialLoadSp")
+ .HasColumnType("real")
+ .HasColumnName("axial_load_sp")
+ .HasComment("Осевая нагрузка. Задание");
+
+ b.Property("BitDepth")
+ .HasColumnType("real")
+ .HasColumnName("bit_depth")
+ .HasComment("Положение инструмента");
+
+ b.Property("BlockPosition")
+ .HasColumnType("real")
+ .HasColumnName("block_position")
+ .HasComment("Высота талевого блока");
+
+ b.Property("BlockPositionMax")
+ .HasColumnType("real")
+ .HasColumnName("block_position_max")
+ .HasComment("Талевый блок. Макс положение");
+
+ b.Property("BlockPositionMin")
+ .HasColumnType("real")
+ .HasColumnName("block_position_min")
+ .HasComment("Талевый блок. Мин положение");
+
+ b.Property("BlockSpeed")
+ .HasColumnType("real")
+ .HasColumnName("block_speed")
+ .HasComment("Скорость талевого блока");
+
+ b.Property("BlockSpeedSp")
+ .HasColumnType("real")
+ .HasColumnName("block_speed_sp")
+ .HasComment("Скорости талевого блока. Задание");
+
+ b.Property("BlockSpeedSpDevelop")
+ .HasColumnType("real")
+ .HasColumnName("block_speed_sp_develop")
+ .HasComment("Талевый блок. Задание скорости для проработки");
+
+ b.Property("BlockSpeedSpRotor")
+ .HasColumnType("real")
+ .HasColumnName("block_speed_sp_rotor")
+ .HasComment("Талевый блок. Задание скорости для роторного бурения");
+
+ b.Property("BlockSpeedSpSlide")
+ .HasColumnType("real")
+ .HasColumnName("block_speed_sp_slide")
+ .HasComment("Талевый блок. Задание скорости для режима слайда");
+
+ b.Property("Flow")
+ .HasColumnType("real")
+ .HasColumnName("flow")
+ .HasComment("Расход");
+
+ b.Property("FlowDeltaLimitMax")
+ .HasColumnType("real")
+ .HasColumnName("flow_delta_limit_max")
+ .HasComment("Расход. Аварийный макс.");
+
+ b.Property("FlowIdle")
+ .HasColumnType("real")
+ .HasColumnName("flow_idle")
+ .HasComment("Расход. Холостой ход");
+
+ b.Property("HookWeight")
+ .HasColumnType("real")
+ .HasColumnName("hook_weight")
+ .HasComment("Вес на крюке");
+
+ b.Property("HookWeightIdle")
+ .HasColumnType("real")
+ .HasColumnName("hook_weight_idle")
+ .HasComment("Вес на крюке. Холостой ход");
+
+ b.Property("HookWeightLimitMax")
+ .HasColumnType("real")
+ .HasColumnName("hook_weight_limit_max")
+ .HasComment("Вес на крюке. Затяжка");
+
+ b.Property("HookWeightLimitMin")
+ .HasColumnType("real")
+ .HasColumnName("hook_weight_limit_min")
+ .HasComment("Вес на крюке. Посадка");
+
+ b.Property("IdFeedRegulator")
+ .HasColumnType("smallint")
+ .HasColumnName("id_feed_regulator")
+ .HasComment("Текущий критерий бурения");
+
+ b.Property("IdUser")
+ .HasColumnType("integer")
+ .HasColumnName("id_user")
+ .HasComment("Пользователь САУБ");
+
+ b.Property("Mode")
+ .HasColumnType("smallint")
+ .HasColumnName("mode")
+ .HasComment("Режим САУБ");
+
+ b.Property("Mse")
+ .HasColumnType("real")
+ .HasColumnName("mse")
+ .HasComment("MSE");
+
+ b.Property("MseState")
+ .HasColumnType("smallint")
+ .HasColumnName("mse_state")
+ .HasComment("Текущее состояние работы MSE");
+
+ b.Property("Pressure")
+ .HasColumnType("real")
+ .HasColumnName("pressure")
+ .HasComment("Давление");
+
+ b.Property("PressureDeltaLimitMax")
+ .HasColumnType("real")
+ .HasColumnName("pressure_delta_limit_max")
+ .HasComment("Давление дифф. Аварийное макс.");
+
+ b.Property("PressureIdle")
+ .HasColumnType("real")
+ .HasColumnName("pressure_idle")
+ .HasComment("Давление. Холостой ход");
+
+ b.Property("PressureSp")
+ .HasColumnType("real")
+ .HasColumnName("pressure_sp")
+ .HasComment("Давление. Задание");
+
+ b.Property("PressureSpDevelop")
+ .HasColumnType("real")
+ .HasColumnName("pressure_sp_develop")
+ .HasComment("Давление. Задание для проработки");
+
+ b.Property("PressureSpRotor")
+ .HasColumnType("real")
+ .HasColumnName("pressure_sp_rotor")
+ .HasComment("Давление. Задание для роторного бурения");
+
+ b.Property("PressureSpSlide")
+ .HasColumnType("real")
+ .HasColumnName("pressure_sp_slide")
+ .HasComment("Давление. Задание для режима слайда");
+
+ b.Property("RotorSpeed")
+ .HasColumnType("real")
+ .HasColumnName("rotor_speed")
+ .HasComment("Обороты ротора");
+
+ b.Property("RotorTorque")
+ .HasColumnType("real")
+ .HasColumnName("rotor_torque")
+ .HasComment("Момент на роторе");
+
+ b.Property("RotorTorqueIdle")
+ .HasColumnType("real")
+ .HasColumnName("rotor_torque_idle")
+ .HasComment("Момент на роторе. Холостой ход");
+
+ b.Property("RotorTorqueLimitMax")
+ .HasColumnType("real")
+ .HasColumnName("rotor_torque_limit_max")
+ .HasComment("Момент на роторе. Аварийный макс.");
+
+ b.Property("RotorTorqueSp")
+ .HasColumnType("real")
+ .HasColumnName("rotor_torque_sp")
+ .HasComment("Момент на роторе. Задание");
+
+ b.Property("WellDepth")
+ .HasColumnType("real")
+ .HasColumnName("well_depth")
+ .HasComment("Глубина забоя");
+
+ b.HasKey("IdTelemetry", "DateTime");
+
+ b.ToTable("t_telemetry_data_saub");
+
+ b.HasComment("набор основных данных по SAUB");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSpin", b =>
+ {
+ b.Property("IdTelemetry")
+ .HasColumnType("integer")
+ .HasColumnName("id_telemetry");
+
+ b.Property("DateTime")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date")
+ .HasComment("'2021-10-19 18:23:54+05'");
+
+ b.Property("BreakAngleK")
+ .HasColumnType("real")
+ .HasColumnName("break_angle_k")
+ .HasComment("Коэффициент для расчёта за какой угол нужно тормозить");
+
+ b.Property("BreakAngleLeft")
+ .HasColumnType("real")
+ .HasColumnName("break_angle_left")
+ .HasComment("Угол торможения влево при работе по моменту");
+
+ b.Property("EncoderResolution")
+ .HasColumnType("real")
+ .HasColumnName("encoder_resolution")
+ .HasComment("Разрешение энкодера");
+
+ b.Property("Mode")
+ .HasColumnType("smallint")
+ .HasColumnName("mode")
+ .HasComment("Выбранный режим управления");
+
+ b.Property("PidMuxTorqueLeftLimit")
+ .HasColumnType("real")
+ .HasColumnName("pid_mux_torque_left_limit")
+ .HasComment(" Момент при котором определяется ехать назад по моменту или по скорости");
+
+ b.Property("PositionRight")
+ .HasColumnType("real")
+ .HasColumnName("position_right")
+ .HasComment("Крайний правый угол осцилляции");
+
+ b.Property("PositionZero")
+ .HasColumnType("real")
+ .HasColumnName("position_zero")
+ .HasComment("Нулевая позиция осцилляции");
+
+ b.Property("Ratio")
+ .HasColumnType("real")
+ .HasColumnName("ratio")
+ .HasComment(" Коэффициент редукции редуктора");
+
+ b.Property("ReverseKTorque")
+ .HasColumnType("real")
+ .HasColumnName("reverse_k_torque")
+ .HasComment("Коэффициент на который умножается момент, для того чтобы система поняла что мы движемся в обратную сторону");
+
+ b.Property("ReverseSpeedSpZeroTime")
+ .HasColumnType("smallint")
+ .HasColumnName("reverse_speed_sp_zero_time")
+ .HasComment("Время выдачи сигнала нулевой скорости на при смене направления");
+
+ b.Property("RevolsLeftLimit")
+ .HasColumnType("real")
+ .HasColumnName("revols_left_limit")
+ .HasComment("Ограничение числа оборотов влево");
+
+ b.Property("RevolsLeftTotal")
+ .HasColumnType("real")
+ .HasColumnName("revols_left_total")
+ .HasComment("Суммарное количество оборотов влево");
+
+ b.Property("RevolsRightLimit")
+ .HasColumnType("real")
+ .HasColumnName("revols_right_limit")
+ .HasComment("Ограничение числа оборотов вправо");
+
+ b.Property("RevolsRightTotal")
+ .HasColumnType("real")
+ .HasColumnName("revols_right_total")
+ .HasComment("Суммарное количество оборотов вправо");
+
+ b.Property("RotorTorqueAvg")
+ .HasColumnType("real")
+ .HasColumnName("rotor_torque_avg")
+ .HasComment("Момент в роторе средний");
+
+ b.Property("SpeedLeftSp")
+ .HasColumnType("real")
+ .HasColumnName("speed_left_sp")
+ .HasComment("Заданная скорость вращения влево");
+
+ b.Property("SpeedRightSp")
+ .HasColumnType("real")
+ .HasColumnName("speed_right_sp")
+ .HasComment("Заданная скорость вращения вправо");
+
+ b.Property("State")
+ .HasColumnType("smallint")
+ .HasColumnName("state")
+ .HasComment("Переменная этапа");
+
+ b.Property("TopDriveSpeed")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed")
+ .HasComment("Скорость СВП");
+
+ b.Property("TopDriveSpeedErr")
+ .HasColumnType("smallint")
+ .HasColumnName("top_drive_speed_err");
+
+ b.Property("TopDriveSpeedMax")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_max")
+ .HasComment("верхний предел");
+
+ b.Property("TopDriveSpeedMin")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_min")
+ .HasComment("нижний предел");
+
+ b.Property("TopDriveSpeedOffset")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_offset")
+ .HasComment("смещение");
+
+ b.Property("TopDriveSpeedSpFrom")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_from")
+ .HasComment("Заданная скорость c СВП");
+
+ b.Property("TopDriveSpeedSpFromErr")
+ .HasColumnType("smallint")
+ .HasColumnName("top_drive_speed_sp_from_err");
+
+ b.Property("TopDriveSpeedSpFromMax")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_from_max");
+
+ b.Property("TopDriveSpeedSpFromMin")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_from_min");
+
+ b.Property("TopDriveSpeedSpFromOffset")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_from_offset");
+
+ b.Property("TopDriveSpeedSpTo")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_to")
+ .HasComment("Задание скорости на СВП");
+
+ b.Property("TopDriveSpeedSpToErr")
+ .HasColumnType("smallint")
+ .HasColumnName("top_drive_speed_sp_to_err");
+
+ b.Property("TopDriveSpeedSpToMax")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_to_max");
+
+ b.Property("TopDriveSpeedSpToMin")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_to_min");
+
+ b.Property("TopDriveSpeedSpToOffset")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_to_offset");
+
+ b.Property("TopDriveTorque")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque")
+ .HasComment("Момент СВП");
+
+ b.Property("TopDriveTorqueErr")
+ .HasColumnType("smallint")
+ .HasColumnName("top_drive_torque_err");
+
+ b.Property("TopDriveTorqueMax")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_max");
+
+ b.Property("TopDriveTorqueMin")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_min");
+
+ b.Property("TopDriveTorqueOffset")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_offset");
+
+ b.Property("TopDriveTorqueSpFrom")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_sp_from")
+ .HasComment("Заданный момент c СВП");
+
+ b.Property("TopDriveTorqueSpFromErr")
+ .HasColumnType("smallint")
+ .HasColumnName("top_drive_torque_sp_from_err");
+
+ b.Property("TopDriveTorqueSpFromMax")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_sp_from_max");
+
+ b.Property("TopDriveTorqueSpFromMin")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_sp_from_min");
+
+ b.Property("TopDriveTorqueSpFromOffset")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_sp_from_offset");
+
+ b.Property("TopDriveTorqueSpTo")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_sp_to")
+ .HasComment("Задание момента на СВП");
+
+ b.Property("TopDriveTorqueSpToErr")
+ .HasColumnType("smallint")
+ .HasColumnName("top_drive_torque_sp_to_err");
+
+ b.Property("TopDriveTorqueSpToMax")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_sp_to_max");
+
+ b.Property("TopDriveTorqueSpToMin")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_sp_to_min");
+
+ b.Property("TopDriveTorqueSpToOffset")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_torque_sp_to_offset");
+
+ b.Property("TorqueLeftLimit")
+ .HasColumnType("real")
+ .HasColumnName("torque_left_limit")
+ .HasComment("Ограничение крутящего момента влево");
+
+ b.Property("TorqueRampTime")
+ .HasColumnType("real")
+ .HasColumnName("torque_ramp_time")
+ .HasComment("Время нарастания момента");
+
+ b.Property("TorqueRightLimit")
+ .HasColumnType("real")
+ .HasColumnName("torque_right_limit")
+ .HasComment("Ограничение крутящего момента вправо");
+
+ b.Property("TorqueStarting")
+ .HasColumnType("real")
+ .HasColumnName("torque_starting")
+ .HasComment("Страгивающий момент");
+
+ b.Property("TurnLeftOnceByAngle")
+ .HasColumnType("real")
+ .HasColumnName("turn_left_once_by_angle")
+ .HasComment("Доворот по градусам единожды влево");
+
+ b.Property("TurnLeftOnceByRevols")
+ .HasColumnType("real")
+ .HasColumnName("turn_left_once_by_revols")
+ .HasComment("Доворот по оборотам единожды влево");
+
+ b.Property("TurnLeftOnceByTorque")
+ .HasColumnType("real")
+ .HasColumnName("turn_left_once_by_torque")
+ .HasComment("Доворот по моменту единожды влево");
+
+ b.Property("TurnRightOnceByAngle")
+ .HasColumnType("real")
+ .HasColumnName("turn_right_once_by_angle")
+ .HasComment("Доворот по градусам единожды вправо");
+
+ b.Property("TurnRightOnceByRevols")
+ .HasColumnType("real")
+ .HasColumnName("turn_right_once_by_revols")
+ .HasComment("Доворот по оборотам единожды вправо");
+
+ b.Property("TurnRightOnceByTorque")
+ .HasColumnType("real")
+ .HasColumnName("turn_right_once_by_torque")
+ .HasComment("Доворот по моменту единожды вправо");
+
+ b.Property