From 9c806a573d5d34a3ebe4bfaec2580770de813e80 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周四, 27 6月 2024 17:28:57 +0800 Subject: [PATCH] 222 --- DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/Resources.Designer.cs | 72 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Settings.settings | 7 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/DbModel.cs | 88 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/WorkPieceInfoLog.cs | 108 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/ProgramBlock.cs | 22 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/RandomHelper.cs | 27 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/DataCaptureColumnConfig.cs | 38 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentWorkingLog.cs | 95 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.Designer.cs | 2941 ++++ DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DataCaptureConfig.cs | 71 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceInfo.cs | 138 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/DataCaptureConfig.cs | 56 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/_system~.ini | 0 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/App.config | 20 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/Log4Net/Log4netHelper.cs | 37 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Settings.Designer.cs | 26 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/IService.cs | 17 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0503.cs | 151 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/DateTimeHelper.cs | 83 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentInfo.cs | 66 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/Log4Net/C_LogWriter.cs | 111 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/QualityDataInfo.cs | 131 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/QualityDataInfo.cs | 131 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/PLCDataCapture/HslCommunicationParam.cs | 22 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/AlarmLog.cs | 36 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMIBeartBeatMonitor.cs | 189 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/AssemblyInfo.cs | 36 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/ListItem.cs | 32 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DbModel.cs | 222 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/Model1.cs | 21 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.Designer.cs | 94 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/CommonDao.cs | 553 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1001.cs | 154 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model2.cs | 30 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/QualityDataInfoLog.cs | 133 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1004.cs | 171 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/CSVHelper.cs | 144 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentWorkingLog.cs | 82 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCManger.cs | 132 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/Properties/AssemblyInfo.cs | 36 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CurrentToolNumber.cs | 22 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/DataCache.cs | 45 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/SystemValue.cs | 2430 +++ DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceInfoLog.cs | 108 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/KnifeToolBaseInfo.cs | 50 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolBaseInfo.cs | 54 DataCapture/iWare_SCADA_DataCapture_Test/Test_iWare_SCADA_DataCapture_Test.sln | 42 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/packages.config | 7 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MessageModel.cs | 29 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMI_WorkpieceReading.cs | 358 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/ICommonEntity.cs | 19 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/DataCaptureConfig.cs | 70 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/ProgramInfo.cs | 28 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentCurrentMonitor.cs | 72 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/AssemblyInfo.cs | 36 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/DataCaptureConfigManager.cs | 107 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/WorkPieceInfo.cs | 112 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DataCaptureColumnConfig.cs | 60 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentUpdateLog.cs | 77 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App - 本机环境.config | 49 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileOperationHelper.cs | 470 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.resx | 204 DataCapture/iWare_SCADA_DataCapture_Test/DLL/Newtonsoft.Json.xml | 10752 ++++++++++++++++ DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1003.cs | 172 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/EntityPropHelper.cs | 155 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App - 生产环境.config | 49 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DBDataCapture/AlarmLogManager.cs | 33 DataCapture/iWare_SCADA_DataCapture_Test/DLL/HslCommunication.dll | 0 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP3002.cs | 194 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMI_WorkpieceWrite.cs | 409 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MiddleModel/ThreadStatusMonitorMiddle.cs | 14 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/WorkPieceLogManager.cs | 38 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CumulativeTime.cs | 29 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/QualityDataInfo.cs | 475 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/OEE.cs | 31 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Resources.resx | 117 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/KnifeToolDataMonitor.cs | 84 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCService.cs | 140 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentCurrentMonitor.cs | 79 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs | 2322 +++ DataCapture/iWare_SCADA_DataCapture_Test/DLL/Newtonsoft.Json.dll | 0 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/SystemLog.cs | 67 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Count.cs | 24 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App.config | 49 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.cs | 1929 ++ DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/SystemHelper.cs | 51 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolDataMonitor.cs | 84 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/DataCaptureColumnDictManager.cs | 70 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/RegexExtension.cs | 213 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0502.cs | 191 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/CommonManager.cs | 161 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/TimeData.cs | 59 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/EquipmentCurrentMonitor.cs | 72 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/EnumberEntity.cs | 29 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/v_get_equipment_alert.cs | 111 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceLog.cs | 137 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/SystemLog.cs | 67 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/ThreadStatusMonitor.cs | 59 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/EFHelp.cs | 15 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model3.cs | 21 DataCapture/iWare_SCADA_DataCapture_Test/DLL/log4net.dll | 0 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceLog.cs | 128 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/PLCDataCapture/BasePlcParam.cs | 16 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceInfo.cs | 112 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/WorkPieceLog.cs | 128 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP05.cs | 112 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentFailureCode.cs | 83 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs | 83 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/packages.config | 8 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Test/MyTest.cs | 134 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FindFiles.cs | 133 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/log4net_iWare - 复制用.config | 46 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCFactory.cs | 20 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test.csproj | 182 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/EnumberHelper.cs | 126 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/FeedAndSpindle.cs | 27 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/QualityDataInfoLog.cs | 372 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0504.cs | 139 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj | 159 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.cs | 63 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/Enums.cs | 225 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/QueryParam.cs | 102 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Postion.cs | 37 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/Siemens_HslCommunicationService.cs | 433 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/Resources.resx | 123 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/DataCaptureColumnConfig.cs | 58 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model1.cs | 21 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Program.cs | 26 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0501.cs | 472 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/CommonService.cs | 404 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CNCStatus.cs | 24 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/SystemValue.cs | 2466 +++ DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceInfoLog.cs | 132 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Load.cs | 25 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/ComboBoxHelper.cs | 29 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentBaseInfo.cs | 72 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileHelper.cs | 399 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MiddleModel/WorkPieceLogMiddle.cs | 439 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileDirectoryEnumerator.cs | 569 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FolderHelper.cs | 51 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentMonitor.cs | 50 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/SCModel.cs | 147 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/LogTextHelper.cs | 99 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/log4net_iWare.config | 528 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/EquipmentBaseInfo.cs | 74 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentInfoLog.cs | 71 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/iWare_SCADA_Model.csproj | 115 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - 副本/EquipmentWorkingLog.cs | 81 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentBaseInfo.cs | 84 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/App.Config | 26 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Resources.Designer.cs | 63 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1002.cs | 171 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/ConfigHelper.cs | 106 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/packages.config | 5 DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.resx | 123 155 files changed, 39,395 insertions(+), 0 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/DLL/HslCommunication.dll b/DataCapture/iWare_SCADA_DataCapture_Test/DLL/HslCommunication.dll new file mode 100644 index 0000000..3edfef9 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/DLL/HslCommunication.dll Binary files differ diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/DLL/Newtonsoft.Json.dll b/DataCapture/iWare_SCADA_DataCapture_Test/DLL/Newtonsoft.Json.dll new file mode 100644 index 0000000..bc3ef13 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/DLL/Newtonsoft.Json.dll Binary files differ diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/DLL/Newtonsoft.Json.xml b/DataCapture/iWare_SCADA_DataCapture_Test/DLL/Newtonsoft.Json.xml new file mode 100644 index 0000000..157e1f7 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/DLL/Newtonsoft.Json.xml @@ -0,0 +1,10752 @@ +<?xml version="1.0"?> +<doc> + <assembly> + <name>Newtonsoft.Json</name> + </assembly> + <members> + <member name="T:Newtonsoft.Json.Bson.BsonObjectId"> + <summary> + Represents a BSON Oid (object id). + </summary> + </member> + <member name="P:Newtonsoft.Json.Bson.BsonObjectId.Value"> + <summary> + Gets or sets the value of the Oid. + </summary> + <value>The value of the Oid.</value> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonObjectId.#ctor(System.Byte[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonObjectId"/> class. + </summary> + <param name="value">The Oid value.</param> + </member> + <member name="T:Newtonsoft.Json.Bson.BsonReader"> + <summary> + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + </summary> + </member> + <member name="P:Newtonsoft.Json.Bson.BsonReader.JsonNet35BinaryCompatibility"> + <summary> + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + </summary> + <value> + <c>true</c> if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Bson.BsonReader.ReadRootValueAsArray"> + <summary> + Gets or sets a value indicating whether the root object will be read as a JSON array. + </summary> + <value> + <c>true</c> if the root object will be read as a JSON array; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Bson.BsonReader.DateTimeKindHandling"> + <summary> + Gets or sets the <see cref="T:System.DateTimeKind" /> used when reading <see cref="T:System.DateTime"/> values from BSON. + </summary> + <value>The <see cref="T:System.DateTimeKind" /> used when reading <see cref="T:System.DateTime"/> values from BSON.</value> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.Stream)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class. + </summary> + <param name="stream">The <see cref="T:System.IO.Stream"/> containing the BSON data to read.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.BinaryReader)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class. + </summary> + <param name="reader">The <see cref="T:System.IO.BinaryReader"/> containing the BSON data to read.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.Stream,System.Boolean,System.DateTimeKind)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class. + </summary> + <param name="stream">The <see cref="T:System.IO.Stream"/> containing the BSON data to read.</param> + <param name="readRootValueAsArray">if set to <c>true</c> the root object will be read as a JSON array.</param> + <param name="dateTimeKindHandling">The <see cref="T:System.DateTimeKind" /> used when reading <see cref="T:System.DateTime"/> values from BSON.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.BinaryReader,System.Boolean,System.DateTimeKind)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class. + </summary> + <param name="reader">The <see cref="T:System.IO.BinaryReader"/> containing the BSON data to read.</param> + <param name="readRootValueAsArray">if set to <c>true</c> the root object will be read as a JSON array.</param> + <param name="dateTimeKindHandling">The <see cref="T:System.DateTimeKind" /> used when reading <see cref="T:System.DateTime"/> values from BSON.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.Read"> + <summary> + Reads the next JSON token from the underlying <see cref="T:System.IO.Stream"/>. + </summary> + <returns> + <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read. + </returns> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.Close"> + <summary> + Changes the reader's state to <see cref="F:Newtonsoft.Json.JsonReader.State.Closed"/>. + If <see cref="P:Newtonsoft.Json.JsonReader.CloseInput"/> is set to <c>true</c>, the underlying <see cref="T:System.IO.Stream"/> is also closed. + </summary> + </member> + <member name="T:Newtonsoft.Json.Bson.BsonWriter"> + <summary> + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + </summary> + </member> + <member name="P:Newtonsoft.Json.Bson.BsonWriter.DateTimeKindHandling"> + <summary> + Gets or sets the <see cref="T:System.DateTimeKind" /> used when writing <see cref="T:System.DateTime"/> values to BSON. + When set to <see cref="F:System.DateTimeKind.Unspecified" /> no conversion will occur. + </summary> + <value>The <see cref="T:System.DateTimeKind" /> used when writing <see cref="T:System.DateTime"/> values to BSON.</value> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.#ctor(System.IO.Stream)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonWriter"/> class. + </summary> + <param name="stream">The <see cref="T:System.IO.Stream"/> to write to.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.#ctor(System.IO.BinaryWriter)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonWriter"/> class. + </summary> + <param name="writer">The <see cref="T:System.IO.BinaryWriter"/> to write to.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.Flush"> + <summary> + Flushes whatever is in the buffer to the underlying <see cref="T:System.IO.Stream"/> and also flushes the underlying stream. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteEnd(Newtonsoft.Json.JsonToken)"> + <summary> + Writes the end. + </summary> + <param name="token">The token.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteComment(System.String)"> + <summary> + Writes a comment <c>/*...*/</c> containing the specified text. + </summary> + <param name="text">Text to place inside the comment.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartConstructor(System.String)"> + <summary> + Writes the start of a constructor with the given name. + </summary> + <param name="name">The name of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteRaw(System.String)"> + <summary> + Writes raw JSON. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteRawValue(System.String)"> + <summary> + Writes raw JSON where a value is expected and updates the writer's state. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartArray"> + <summary> + Writes the beginning of a JSON array. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartObject"> + <summary> + Writes the beginning of a JSON object. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WritePropertyName(System.String)"> + <summary> + Writes the property name of a name/value pair on a JSON object. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.Close"> + <summary> + Closes this writer. + If <see cref="P:Newtonsoft.Json.JsonWriter.CloseOutput"/> is set to <c>true</c>, the underlying <see cref="T:System.IO.Stream"/> is also closed. + If <see cref="P:Newtonsoft.Json.JsonWriter.AutoCompleteOnClose"/> is set to <c>true</c>, the JSON is auto-completed. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Object)"> + <summary> + Writes a <see cref="T:System.Object"/> value. + An error will raised if the value cannot be written as a single JSON token. + </summary> + <param name="value">The <see cref="T:System.Object"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteNull"> + <summary> + Writes a null value. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteUndefined"> + <summary> + Writes an undefined value. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.String)"> + <summary> + Writes a <see cref="T:System.String"/> value. + </summary> + <param name="value">The <see cref="T:System.String"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int32)"> + <summary> + Writes a <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Int32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt32)"> + <summary> + Writes a <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int64)"> + <summary> + Writes a <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Int64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt64)"> + <summary> + Writes a <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Single)"> + <summary> + Writes a <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Single"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Double)"> + <summary> + Writes a <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Double"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Boolean)"> + <summary> + Writes a <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Boolean"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int16)"> + <summary> + Writes a <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Int16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt16)"> + <summary> + Writes a <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Char)"> + <summary> + Writes a <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Char"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Byte)"> + <summary> + Writes a <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Byte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.SByte)"> + <summary> + Writes a <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.SByte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Decimal)"> + <summary> + Writes a <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Decimal"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.DateTime)"> + <summary> + Writes a <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTime"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.DateTimeOffset)"> + <summary> + Writes a <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Byte[])"> + <summary> + Writes a <see cref="T:System.Byte"/>[] value. + </summary> + <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Guid)"> + <summary> + Writes a <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Guid"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.TimeSpan)"> + <summary> + Writes a <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Uri)"> + <summary> + Writes a <see cref="T:System.Uri"/> value. + </summary> + <param name="value">The <see cref="T:System.Uri"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteObjectId(System.Byte[])"> + <summary> + Writes a <see cref="T:System.Byte"/>[] value that represents a BSON object id. + </summary> + <param name="value">The Object ID value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteRegex(System.String,System.String)"> + <summary> + Writes a BSON regex. + </summary> + <param name="pattern">The regex pattern.</param> + <param name="options">The regex options.</param> + </member> + <member name="T:Newtonsoft.Json.ConstructorHandling"> + <summary> + Specifies how constructors are used when initializing objects during deserialization by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.ConstructorHandling.Default"> + <summary> + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + </summary> + </member> + <member name="F:Newtonsoft.Json.ConstructorHandling.AllowNonPublicDefaultConstructor"> + <summary> + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + </summary> + </member> + <member name="T:Newtonsoft.Json.Converters.BinaryConverter"> + <summary> + Converts a binary value to and from a base 64 string value. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.BinaryConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.BinaryConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.BinaryConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.BsonObjectIdConverter"> + <summary> + Converts a <see cref="T:Newtonsoft.Json.Bson.BsonObjectId"/> to and from JSON and BSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.BsonObjectIdConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.BsonObjectIdConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.BsonObjectIdConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.CustomCreationConverter`1"> + <summary> + Creates a custom object. + </summary> + <typeparam name="T">The object type to convert.</typeparam> + </member> + <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.Create(System.Type)"> + <summary> + Creates an object which will then be populated by the serializer. + </summary> + <param name="objectType">Type of the object.</param> + <returns>The created object.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.Converters.CustomCreationConverter`1.CanWrite"> + <summary> + Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON. + </summary> + <value> + <c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>. + </value> + </member> + <member name="T:Newtonsoft.Json.Converters.DataSetConverter"> + <summary> + Converts a <see cref="T:System.Data.DataSet"/> to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.DataSetConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.DataSetConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.DataSetConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified value type. + </summary> + <param name="valueType">Type of the value.</param> + <returns> + <c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.DataTableConverter"> + <summary> + Converts a <see cref="T:System.Data.DataTable"/> to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.DataTableConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.DataTableConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.DataTableConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified value type. + </summary> + <param name="valueType">Type of the value.</param> + <returns> + <c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.DateTimeConverterBase"> + <summary> + Provides a base class for converting a <see cref="T:System.DateTime"/> to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.DateTimeConverterBase.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.DiscriminatedUnionConverter"> + <summary> + Converts a F# discriminated union type to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.DiscriminatedUnionConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.DiscriminatedUnionConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.DiscriminatedUnionConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.EntityKeyMemberConverter"> + <summary> + Converts an Entity Framework <see cref="T:System.Data.EntityKeyMember"/> to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.EntityKeyMemberConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.EntityKeyMemberConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.EntityKeyMemberConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.ExpandoObjectConverter"> + <summary> + Converts an <see cref="T:System.Dynamic.ExpandoObject"/> to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.ExpandoObjectConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.ExpandoObjectConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.ExpandoObjectConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.Converters.ExpandoObjectConverter.CanWrite"> + <summary> + Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON. + </summary> + <value> + <c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>. + </value> + </member> + <member name="T:Newtonsoft.Json.Converters.IsoDateTimeConverter"> + <summary> + Converts a <see cref="T:System.DateTime"/> to and from the ISO 8601 date format (e.g. <c>"2008-04-12T12:53Z"</c>). + </summary> + </member> + <member name="P:Newtonsoft.Json.Converters.IsoDateTimeConverter.DateTimeStyles"> + <summary> + Gets or sets the date time styles used when converting a date to and from JSON. + </summary> + <value>The date time styles used when converting a date to and from JSON.</value> + </member> + <member name="P:Newtonsoft.Json.Converters.IsoDateTimeConverter.DateTimeFormat"> + <summary> + Gets or sets the date time format used when converting a date to and from JSON. + </summary> + <value>The date time format used when converting a date to and from JSON.</value> + </member> + <member name="P:Newtonsoft.Json.Converters.IsoDateTimeConverter.Culture"> + <summary> + Gets or sets the culture used when converting a date to and from JSON. + </summary> + <value>The culture used when converting a date to and from JSON.</value> + </member> + <member name="M:Newtonsoft.Json.Converters.IsoDateTimeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.IsoDateTimeConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="T:Newtonsoft.Json.Converters.JavaScriptDateTimeConverter"> + <summary> + Converts a <see cref="T:System.DateTime"/> to and from a JavaScript <c>Date</c> constructor (e.g. <c>new Date(52231943)</c>). + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.JavaScriptDateTimeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.JavaScriptDateTimeConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing property value of the JSON that is being converted.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="T:Newtonsoft.Json.Converters.KeyValuePairConverter"> + <summary> + Converts a <see cref="T:System.Collections.Generic.KeyValuePair`2"/> to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.KeyValuePairConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.KeyValuePairConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.KeyValuePairConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.RegexConverter"> + <summary> + Converts a <see cref="T:System.Text.RegularExpressions.Regex"/> to and from JSON and BSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.RegexConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.RegexConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.RegexConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.StringEnumConverter"> + <summary> + Converts an <see cref="T:System.Enum"/> to and from its name string value. + </summary> + </member> + <member name="P:Newtonsoft.Json.Converters.StringEnumConverter.CamelCaseText"> + <summary> + Gets or sets a value indicating whether the written enum text should be camel case. + </summary> + <value><c>true</c> if the written enum text will be camel case; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Converters.StringEnumConverter.AllowIntegerValues"> + <summary> + Gets or sets a value indicating whether integer values are allowed when deserializing. + </summary> + <value><c>true</c> if integers are allowed when deserializing; otherwise, <c>false</c>.</value> + </member> + <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Converters.StringEnumConverter"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Converters.StringEnumConverter"/> class. + </summary> + <param name="camelCaseText"><c>true</c> if the written enum text will be camel case; otherwise, <c>false</c>.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.VersionConverter"> + <summary> + Converts a <see cref="T:System.Version"/> to and from a string (e.g. <c>"1.2.3.4"</c>). + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.VersionConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.VersionConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing property value of the JSON that is being converted.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.VersionConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.XmlNodeConverter"> + <summary> + Converts XML to and from JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.Converters.XmlNodeConverter.DeserializeRootElementName"> + <summary> + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + </summary> + <value>The name of the deserialized root element.</value> + </member> + <member name="P:Newtonsoft.Json.Converters.XmlNodeConverter.WriteArrayAttribute"> + <summary> + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + </summary> + <value><c>true</c> if the array attribute is written to the XML; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Converters.XmlNodeConverter.OmitRootObject"> + <summary> + Gets or sets a value indicating whether to write the root JSON object. + </summary> + <value><c>true</c> if the JSON root object is omitted; otherwise, <c>false</c>.</value> + </member> + <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="serializer">The calling serializer.</param> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.IsNamespaceAttribute(System.String,System.String@)"> + <summary> + Checks if the <paramref name="attributeName"/> is a namespace attribute. + </summary> + <param name="attributeName">Attribute name to test.</param> + <param name="prefix">The attribute name prefix if it has one, otherwise an empty string.</param> + <returns><c>true</c> if attribute name is for a namespace attribute, otherwise <c>false</c>.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified value type. + </summary> + <param name="valueType">Type of the value.</param> + <returns> + <c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.FloatParseHandling"> + <summary> + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + </summary> + </member> + <member name="F:Newtonsoft.Json.FloatParseHandling.Double"> + <summary> + Floating point numbers are parsed to <see cref="F:Newtonsoft.Json.FloatParseHandling.Double"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.FloatParseHandling.Decimal"> + <summary> + Floating point numbers are parsed to <see cref="F:Newtonsoft.Json.FloatParseHandling.Decimal"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.DateFormatHandling"> + <summary> + Specifies how dates are formatted when writing JSON text. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateFormatHandling.IsoDateFormat"> + <summary> + Dates are written in the ISO 8601 format, e.g. <c>"2012-03-21T05:40Z"</c>. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat"> + <summary> + Dates are written in the Microsoft JSON format, e.g. <c>"\/Date(1198908717056)\/"</c>. + </summary> + </member> + <member name="T:Newtonsoft.Json.DateParseHandling"> + <summary> + Specifies how date formatted strings, e.g. <c>"\/Date(1198908717056)\/"</c> and <c>"2012-03-21T05:40Z"</c>, are parsed when reading JSON text. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateParseHandling.None"> + <summary> + Date formatted strings are not parsed to a date type and are read as strings. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateParseHandling.DateTime"> + <summary> + Date formatted strings, e.g. <c>"\/Date(1198908717056)\/"</c> and <c>"2012-03-21T05:40Z"</c>, are parsed to <see cref="F:Newtonsoft.Json.DateParseHandling.DateTime"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateParseHandling.DateTimeOffset"> + <summary> + Date formatted strings, e.g. <c>"\/Date(1198908717056)\/"</c> and <c>"2012-03-21T05:40Z"</c>, are parsed to <see cref="F:Newtonsoft.Json.DateParseHandling.DateTimeOffset"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.DateTimeZoneHandling"> + <summary> + Specifies how to treat the time value when converting between string and <see cref="T:System.DateTime"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateTimeZoneHandling.Local"> + <summary> + Treat as local time. If the <see cref="T:System.DateTime"/> object represents a Coordinated Universal Time (UTC), it is converted to the local time. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateTimeZoneHandling.Utc"> + <summary> + Treat as a UTC. If the <see cref="T:System.DateTime"/> object represents a local time, it is converted to a UTC. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateTimeZoneHandling.Unspecified"> + <summary> + Treat as a local time if a <see cref="T:System.DateTime"/> is being converted to a string. + If a string is being converted to <see cref="T:System.DateTime"/>, convert to a local time if a time zone is specified. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateTimeZoneHandling.RoundtripKind"> + <summary> + Time zone information should be preserved when converting. + </summary> + </member> + <member name="T:Newtonsoft.Json.DefaultValueHandling"> + <summary> + Specifies default value handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeDefaultValueHandlingObject" title="DefaultValueHandling Class" /> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeDefaultValueHandlingExample" title="DefaultValueHandling Ignore Example" /> + </example> + </member> + <member name="F:Newtonsoft.Json.DefaultValueHandling.Include"> + <summary> + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + </summary> + </member> + <member name="F:Newtonsoft.Json.DefaultValueHandling.Ignore"> + <summary> + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. <c>null</c> for objects and nullable types; <c>0</c> for integers, + decimals and floating point numbers; and <c>false</c> for booleans). The default value ignored can be changed by + placing the <see cref="T:System.ComponentModel.DefaultValueAttribute"/> on the property. + </summary> + </member> + <member name="F:Newtonsoft.Json.DefaultValueHandling.Populate"> + <summary> + Members with a default value but no JSON will be set to their default value when deserializing. + </summary> + </member> + <member name="F:Newtonsoft.Json.DefaultValueHandling.IgnoreAndPopulate"> + <summary> + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + </summary> + </member> + <member name="T:Newtonsoft.Json.FloatFormatHandling"> + <summary> + Specifies float format handling options when writing special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>, + <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/> with <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.FloatFormatHandling.String"> + <summary> + Write special floating point values as strings in JSON, e.g. <c>"NaN"</c>, <c>"Infinity"</c>, <c>"-Infinity"</c>. + </summary> + </member> + <member name="F:Newtonsoft.Json.FloatFormatHandling.Symbol"> + <summary> + Write special floating point values as symbols in JSON, e.g. <c>NaN</c>, <c>Infinity</c>, <c>-Infinity</c>. + Note that this will produce non-valid JSON. + </summary> + </member> + <member name="F:Newtonsoft.Json.FloatFormatHandling.DefaultValue"> + <summary> + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a <see cref="T:System.Double"/> property, <c>null</c> for a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> property. + </summary> + </member> + <member name="T:Newtonsoft.Json.Formatting"> + <summary> + Specifies formatting options for the <see cref="T:Newtonsoft.Json.JsonTextWriter"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.Formatting.None"> + <summary> + No special formatting is applied. This is the default. + </summary> + </member> + <member name="F:Newtonsoft.Json.Formatting.Indented"> + <summary> + Causes child objects to be indented according to the <see cref="P:Newtonsoft.Json.JsonTextWriter.Indentation"/> and <see cref="P:Newtonsoft.Json.JsonTextWriter.IndentChar"/> settings. + </summary> + </member> + <member name="T:Newtonsoft.Json.IArrayPool`1"> + <summary> + Provides an interface for using pooled arrays. + </summary> + <typeparam name="T">The array type content.</typeparam> + </member> + <member name="M:Newtonsoft.Json.IArrayPool`1.Rent(System.Int32)"> + <summary> + Rent an array from the pool. This array must be returned when it is no longer needed. + </summary> + <param name="minimumLength">The minimum required length of the array. The returned array may be longer.</param> + <returns>The rented array from the pool. This array must be returned when it is no longer needed.</returns> + </member> + <member name="M:Newtonsoft.Json.IArrayPool`1.Return(`0[])"> + <summary> + Return an array to the pool. + </summary> + <param name="array">The array that is being returned.</param> + </member> + <member name="T:Newtonsoft.Json.IJsonLineInfo"> + <summary> + Provides an interface to enable a class to return line and position information. + </summary> + </member> + <member name="M:Newtonsoft.Json.IJsonLineInfo.HasLineInfo"> + <summary> + Gets a value indicating whether the class can return line information. + </summary> + <returns> + <c>true</c> if <see cref="P:Newtonsoft.Json.IJsonLineInfo.LineNumber"/> and <see cref="P:Newtonsoft.Json.IJsonLineInfo.LinePosition"/> can be provided; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.IJsonLineInfo.LineNumber"> + <summary> + Gets the current line number. + </summary> + <value>The current line number or 0 if no line information is available (for example, when <see cref="M:Newtonsoft.Json.IJsonLineInfo.HasLineInfo"/> returns <c>false</c>).</value> + </member> + <member name="P:Newtonsoft.Json.IJsonLineInfo.LinePosition"> + <summary> + Gets the current line position. + </summary> + <value>The current line position or 0 if no line information is available (for example, when <see cref="M:Newtonsoft.Json.IJsonLineInfo.HasLineInfo"/> returns <c>false</c>).</value> + </member> + <member name="T:Newtonsoft.Json.JsonArrayAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the collection. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonArrayAttribute.AllowNullItems"> + <summary> + Gets or sets a value indicating whether null items are allowed in the collection. + </summary> + <value><c>true</c> if null items are allowed in the collection; otherwise, <c>false</c>.</value> + </member> + <member name="M:Newtonsoft.Json.JsonArrayAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonArrayAttribute"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonArrayAttribute.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class with a flag indicating whether the array can contain null items. + </summary> + <param name="allowNullItems">A flag indicating whether the array can contain null items.</param> + </member> + <member name="M:Newtonsoft.Json.JsonArrayAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonArrayAttribute"/> class with the specified container Id. + </summary> + <param name="id">The container Id.</param> + </member> + <member name="T:Newtonsoft.Json.JsonConstructorAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to use the specified constructor when deserializing that object. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonContainerAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the object. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.Id"> + <summary> + Gets or sets the id. + </summary> + <value>The id.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.Title"> + <summary> + Gets or sets the title. + </summary> + <value>The title.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.Description"> + <summary> + Gets or sets the description. + </summary> + <value>The description.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemConverterType"> + <summary> + Gets or sets the collection's items converter. + </summary> + <value>The collection's items converter.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemConverterParameters"> + <summary> + The parameter list to use when constructing the <see cref="T:Newtonsoft.Json.JsonConverter"/> described by <see cref="P:Newtonsoft.Json.JsonContainerAttribute.ItemConverterType"/>. + If <c>null</c>, the default constructor is used. + When non-<c>null</c>, there must be a constructor defined in the <see cref="T:Newtonsoft.Json.JsonConverter"/> that exactly matches the number, + order, and type of these parameters. + </summary> + <example> + <code> + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + </code> + </example> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.NamingStrategyType"> + <summary> + Gets or sets the <see cref="T:System.Type"/> of the <see cref="T:Newtonsoft.Json.Serialization.NamingStrategy"/>. + </summary> + <value>The <see cref="T:System.Type"/> of the <see cref="T:Newtonsoft.Json.Serialization.NamingStrategy"/>.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.NamingStrategyParameters"> + <summary> + The parameter list to use when constructing the <see cref="T:Newtonsoft.Json.Serialization.NamingStrategy"/> described by <see cref="P:Newtonsoft.Json.JsonContainerAttribute.NamingStrategyType"/>. + If <c>null</c>, the default constructor is used. + When non-<c>null</c>, there must be a constructor defined in the <see cref="T:Newtonsoft.Json.Serialization.NamingStrategy"/> that exactly matches the number, + order, and type of these parameters. + </summary> + <example> + <code> + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + </code> + </example> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.IsReference"> + <summary> + Gets or sets a value that indicates whether to preserve object references. + </summary> + <value> + <c>true</c> to keep object reference; otherwise, <c>false</c>. The default is <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemIsReference"> + <summary> + Gets or sets a value that indicates whether to preserve collection's items references. + </summary> + <value> + <c>true</c> to keep collection's items object references; otherwise, <c>false</c>. The default is <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemReferenceLoopHandling"> + <summary> + Gets or sets the reference loop handling used when serializing the collection's items. + </summary> + <value>The reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemTypeNameHandling"> + <summary> + Gets or sets the type name handling used when serializing the collection's items. + </summary> + <value>The type name handling.</value> + </member> + <member name="M:Newtonsoft.Json.JsonContainerAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonContainerAttribute"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonContainerAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonContainerAttribute"/> class with the specified container Id. + </summary> + <param name="id">The container Id.</param> + </member> + <member name="T:Newtonsoft.Json.JsonConvert"> + <summary> + Provides methods for converting between .NET types and JSON types. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="SerializeObject" title="Serializing and Deserializing JSON with JsonConvert" /> + </example> + </member> + <member name="P:Newtonsoft.Json.JsonConvert.DefaultSettings"> + <summary> + Gets or sets a function that creates default <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + Default settings are automatically used by serialization methods on <see cref="T:Newtonsoft.Json.JsonConvert"/>, + and <see cref="M:Newtonsoft.Json.Linq.JToken.ToObject``1"/> and <see cref="M:Newtonsoft.Json.Linq.JToken.FromObject(System.Object)"/> on <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + To serialize without using any default settings create a <see cref="T:Newtonsoft.Json.JsonSerializer"/> with + <see cref="M:Newtonsoft.Json.JsonSerializer.Create"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.True"> + <summary> + Represents JavaScript's boolean value <c>true</c> as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.False"> + <summary> + Represents JavaScript's boolean value <c>false</c> as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.Null"> + <summary> + Represents JavaScript's <c>null</c> as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.Undefined"> + <summary> + Represents JavaScript's <c>undefined</c> as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.PositiveInfinity"> + <summary> + Represents JavaScript's positive infinity as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.NegativeInfinity"> + <summary> + Represents JavaScript's negative infinity as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.NaN"> + <summary> + Represents JavaScript's <c>NaN</c> as a string. This field is read-only. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTime)"> + <summary> + Converts the <see cref="T:System.DateTime"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.DateTime"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTime,Newtonsoft.Json.DateFormatHandling,Newtonsoft.Json.DateTimeZoneHandling)"> + <summary> + Converts the <see cref="T:System.DateTime"/> to its JSON string representation using the <see cref="T:Newtonsoft.Json.DateFormatHandling"/> specified. + </summary> + <param name="value">The value to convert.</param> + <param name="format">The format the date will be converted to.</param> + <param name="timeZoneHandling">The time zone handling when the date is converted to a string.</param> + <returns>A JSON string representation of the <see cref="T:System.DateTime"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTimeOffset)"> + <summary> + Converts the <see cref="T:System.DateTimeOffset"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.DateTimeOffset"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTimeOffset,Newtonsoft.Json.DateFormatHandling)"> + <summary> + Converts the <see cref="T:System.DateTimeOffset"/> to its JSON string representation using the <see cref="T:Newtonsoft.Json.DateFormatHandling"/> specified. + </summary> + <param name="value">The value to convert.</param> + <param name="format">The format the date will be converted to.</param> + <returns>A JSON string representation of the <see cref="T:System.DateTimeOffset"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Boolean)"> + <summary> + Converts the <see cref="T:System.Boolean"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Boolean"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Char)"> + <summary> + Converts the <see cref="T:System.Char"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Char"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Enum)"> + <summary> + Converts the <see cref="T:System.Enum"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Enum"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Int32)"> + <summary> + Converts the <see cref="T:System.Int32"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Int32"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Int16)"> + <summary> + Converts the <see cref="T:System.Int16"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Int16"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.UInt16)"> + <summary> + Converts the <see cref="T:System.UInt16"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.UInt16"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.UInt32)"> + <summary> + Converts the <see cref="T:System.UInt32"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.UInt32"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Int64)"> + <summary> + Converts the <see cref="T:System.Int64"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Int64"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.UInt64)"> + <summary> + Converts the <see cref="T:System.UInt64"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.UInt64"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Single)"> + <summary> + Converts the <see cref="T:System.Single"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Single"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Double)"> + <summary> + Converts the <see cref="T:System.Double"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Double"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Byte)"> + <summary> + Converts the <see cref="T:System.Byte"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Byte"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.SByte)"> + <summary> + Converts the <see cref="T:System.SByte"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.SByte"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Decimal)"> + <summary> + Converts the <see cref="T:System.Decimal"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.SByte"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Guid)"> + <summary> + Converts the <see cref="T:System.Guid"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Guid"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.TimeSpan)"> + <summary> + Converts the <see cref="T:System.TimeSpan"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.TimeSpan"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Uri)"> + <summary> + Converts the <see cref="T:System.Uri"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Uri"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.String)"> + <summary> + Converts the <see cref="T:System.String"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.String,System.Char)"> + <summary> + Converts the <see cref="T:System.String"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <param name="delimiter">The string delimiter character.</param> + <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.String,System.Char,Newtonsoft.Json.StringEscapeHandling)"> + <summary> + Converts the <see cref="T:System.String"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <param name="delimiter">The string delimiter character.</param> + <param name="stringEscapeHandling">The string escape handling.</param> + <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Object)"> + <summary> + Converts the <see cref="T:System.Object"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Object"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object)"> + <summary> + Serializes the specified object to a JSON string. + </summary> + <param name="value">The object to serialize.</param> + <returns>A JSON string representation of the object.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.Formatting)"> + <summary> + Serializes the specified object to a JSON string using formatting. + </summary> + <param name="value">The object to serialize.</param> + <param name="formatting">Indicates how the output should be formatted.</param> + <returns> + A JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.JsonConverter[])"> + <summary> + Serializes the specified object to a JSON string using a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="converters">A collection of converters used while serializing.</param> + <returns>A JSON string representation of the object.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[])"> + <summary> + Serializes the specified object to a JSON string using formatting and a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="formatting">Indicates how the output should be formatted.</param> + <param name="converters">A collection of converters used while serializing.</param> + <returns>A JSON string representation of the object.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Serializes the specified object to a JSON string using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object. + If this is <c>null</c>, default serialization settings will be used.</param> + <returns> + A JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,System.Type,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Serializes the specified object to a JSON string using a type, formatting and <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object. + If this is <c>null</c>, default serialization settings will be used.</param> + <param name="type"> + The type of the value being serialized. + This parameter is used when <see cref="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is <see cref="F:Newtonsoft.Json.TypeNameHandling.Auto"/> to write out the type name if the type of the value does not match. + Specifying the type is optional. + </param> + <returns> + A JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Serializes the specified object to a JSON string using formatting and <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="formatting">Indicates how the output should be formatted.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object. + If this is <c>null</c>, default serialization settings will be used.</param> + <returns> + A JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,System.Type,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Serializes the specified object to a JSON string using a type, formatting and <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="formatting">Indicates how the output should be formatted.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object. + If this is <c>null</c>, default serialization settings will be used.</param> + <param name="type"> + The type of the value being serialized. + This parameter is used when <see cref="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is <see cref="F:Newtonsoft.Json.TypeNameHandling.Auto"/> to write out the type name if the type of the value does not match. + Specifying the type is optional. + </param> + <returns> + A JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String)"> + <summary> + Deserializes the JSON to a .NET object. + </summary> + <param name="value">The JSON to deserialize.</param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Deserializes the JSON to a .NET object using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The JSON to deserialize.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is <c>null</c>, default serialization settings will be used. + </param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type)"> + <summary> + Deserializes the JSON to the specified .NET type. + </summary> + <param name="value">The JSON to deserialize.</param> + <param name="type">The <see cref="T:System.Type"/> of object being deserialized.</param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String)"> + <summary> + Deserializes the JSON to the specified .NET type. + </summary> + <typeparam name="T">The type of the object to deserialize to.</typeparam> + <param name="value">The JSON to deserialize.</param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeAnonymousType``1(System.String,``0)"> + <summary> + Deserializes the JSON to the given anonymous type. + </summary> + <typeparam name="T"> + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + </typeparam> + <param name="value">The JSON to deserialize.</param> + <param name="anonymousTypeObject">The anonymous type object.</param> + <returns>The deserialized anonymous type from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeAnonymousType``1(System.String,``0,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Deserializes the JSON to the given anonymous type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <typeparam name="T"> + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + </typeparam> + <param name="value">The JSON to deserialize.</param> + <param name="anonymousTypeObject">The anonymous type object.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is <c>null</c>, default serialization settings will be used. + </param> + <returns>The deserialized anonymous type from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String,Newtonsoft.Json.JsonConverter[])"> + <summary> + Deserializes the JSON to the specified .NET type using a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + <typeparam name="T">The type of the object to deserialize to.</typeparam> + <param name="value">The JSON to deserialize.</param> + <param name="converters">Converters to use while deserializing.</param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Deserializes the JSON to the specified .NET type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <typeparam name="T">The type of the object to deserialize to.</typeparam> + <param name="value">The object to deserialize.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is <c>null</c>, default serialization settings will be used. + </param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type,Newtonsoft.Json.JsonConverter[])"> + <summary> + Deserializes the JSON to the specified .NET type using a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + <param name="value">The JSON to deserialize.</param> + <param name="type">The type of the object to deserialize.</param> + <param name="converters">Converters to use while deserializing.</param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Deserializes the JSON to the specified .NET type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The JSON to deserialize.</param> + <param name="type">The type of the object to deserialize to.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is <c>null</c>, default serialization settings will be used. + </param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.PopulateObject(System.String,System.Object)"> + <summary> + Populates the object with values from the JSON string. + </summary> + <param name="value">The JSON to populate values from.</param> + <param name="target">The target object to populate values onto.</param> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.PopulateObject(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Populates the object with values from the JSON string using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The JSON to populate values from.</param> + <param name="target">The target object to populate values onto.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is <c>null</c>, default serialization settings will be used. + </param> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode)"> + <summary> + Serializes the <see cref="T:System.Xml.XmlNode"/> to a JSON string. + </summary> + <param name="node">The node to serialize.</param> + <returns>A JSON string of the <see cref="T:System.Xml.XmlNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode,Newtonsoft.Json.Formatting)"> + <summary> + Serializes the <see cref="T:System.Xml.XmlNode"/> to a JSON string using formatting. + </summary> + <param name="node">The node to serialize.</param> + <param name="formatting">Indicates how the output should be formatted.</param> + <returns>A JSON string of the <see cref="T:System.Xml.XmlNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode,Newtonsoft.Json.Formatting,System.Boolean)"> + <summary> + Serializes the <see cref="T:System.Xml.XmlNode"/> to a JSON string using formatting and omits the root object if <paramref name="omitRootObject"/> is <c>true</c>. + </summary> + <param name="node">The node to serialize.</param> + <param name="formatting">Indicates how the output should be formatted.</param> + <param name="omitRootObject">Omits writing the root object.</param> + <returns>A JSON string of the <see cref="T:System.Xml.XmlNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String)"> + <summary> + Deserializes the <see cref="T:System.Xml.XmlNode"/> from a JSON string. + </summary> + <param name="value">The JSON string.</param> + <returns>The deserialized <see cref="T:System.Xml.XmlNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String,System.String)"> + <summary> + Deserializes the <see cref="T:System.Xml.XmlNode"/> from a JSON string nested in a root element specified by <paramref name="deserializeRootElementName"/>. + </summary> + <param name="value">The JSON string.</param> + <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param> + <returns>The deserialized <see cref="T:System.Xml.XmlNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String,System.String,System.Boolean)"> + <summary> + Deserializes the <see cref="T:System.Xml.XmlNode"/> from a JSON string nested in a root element specified by <paramref name="deserializeRootElementName"/> + and writes a Json.NET array attribute for collections. + </summary> + <param name="value">The JSON string.</param> + <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param> + <param name="writeArrayAttribute"> + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + </param> + <returns>The deserialized <see cref="T:System.Xml.XmlNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject)"> + <summary> + Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string. + </summary> + <param name="node">The node to convert to JSON.</param> + <returns>A JSON string of the <see cref="T:System.Xml.Linq.XNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting)"> + <summary> + Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string using formatting. + </summary> + <param name="node">The node to convert to JSON.</param> + <param name="formatting">Indicates how the output should be formatted.</param> + <returns>A JSON string of the <see cref="T:System.Xml.Linq.XNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting,System.Boolean)"> + <summary> + Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string using formatting and omits the root object if <paramref name="omitRootObject"/> is <c>true</c>. + </summary> + <param name="node">The node to serialize.</param> + <param name="formatting">Indicates how the output should be formatted.</param> + <param name="omitRootObject">Omits writing the root object.</param> + <returns>A JSON string of the <see cref="T:System.Xml.Linq.XNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String)"> + <summary> + Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string. + </summary> + <param name="value">The JSON string.</param> + <returns>The deserialized <see cref="T:System.Xml.Linq.XNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String,System.String)"> + <summary> + Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string nested in a root element specified by <paramref name="deserializeRootElementName"/>. + </summary> + <param name="value">The JSON string.</param> + <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param> + <returns>The deserialized <see cref="T:System.Xml.Linq.XNode"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String,System.String,System.Boolean)"> + <summary> + Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string nested in a root element specified by <paramref name="deserializeRootElementName"/> + and writes a Json.NET array attribute for collections. + </summary> + <param name="value">The JSON string.</param> + <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param> + <param name="writeArrayAttribute"> + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + </param> + <returns>The deserialized <see cref="T:System.Xml.Linq.XNode"/>.</returns> + </member> + <member name="T:Newtonsoft.Json.JsonConverter"> + <summary> + Converts an object to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.JsonConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.JsonConverter.CanRead"> + <summary> + Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can read JSON. + </summary> + <value><c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can read JSON; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.JsonConverter.CanWrite"> + <summary> + Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON. + </summary> + <value><c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>.</value> + </member> + <member name="T:Newtonsoft.Json.JsonConverterAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to use the specified <see cref="T:Newtonsoft.Json.JsonConverter"/> when serializing the member or class. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonConverterAttribute.ConverterType"> + <summary> + Gets the <see cref="T:System.Type"/> of the <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + <value>The <see cref="T:System.Type"/> of the <see cref="T:Newtonsoft.Json.JsonConverter"/>.</value> + </member> + <member name="P:Newtonsoft.Json.JsonConverterAttribute.ConverterParameters"> + <summary> + The parameter list to use when constructing the <see cref="T:Newtonsoft.Json.JsonConverter"/> described by <see cref="P:Newtonsoft.Json.JsonConverterAttribute.ConverterType"/>. + If <c>null</c>, the default constructor is used. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonConverterAttribute.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonConverterAttribute"/> class. + </summary> + <param name="converterType">Type of the <see cref="T:Newtonsoft.Json.JsonConverter"/>.</param> + </member> + <member name="M:Newtonsoft.Json.JsonConverterAttribute.#ctor(System.Type,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonConverterAttribute"/> class. + </summary> + <param name="converterType">Type of the <see cref="T:Newtonsoft.Json.JsonConverter"/>.</param> + <param name="converterParameters">Parameter list to use when constructing the <see cref="T:Newtonsoft.Json.JsonConverter"/>. Can be <c>null</c>.</param> + </member> + <member name="T:Newtonsoft.Json.JsonConverterCollection"> + <summary> + Represents a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonDictionaryAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the collection. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonDictionaryAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonDictionaryAttribute"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonDictionaryAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonDictionaryAttribute"/> class with the specified container Id. + </summary> + <param name="id">The container Id.</param> + </member> + <member name="T:Newtonsoft.Json.JsonException"> + <summary> + The exception thrown when an error occurs during JSON serialization or deserialization. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class + with a specified error message. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + </member> + <member name="M:Newtonsoft.Json.JsonException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class + with a specified error message and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param> + </member> + <member name="T:Newtonsoft.Json.JsonExtensionDataAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to deserialize properties with no matching class member into the specified collection + and write values during serialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonExtensionDataAttribute.WriteData"> + <summary> + Gets or sets a value that indicates whether to write extension data when serializing the object. + </summary> + <value> + <c>true</c> to write extension data when serializing the object; otherwise, <c>false</c>. The default is <c>true</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonExtensionDataAttribute.ReadData"> + <summary> + Gets or sets a value that indicates whether to read extension data when deserializing the object. + </summary> + <value> + <c>true</c> to read extension data when deserializing the object; otherwise, <c>false</c>. The default is <c>true</c>. + </value> + </member> + <member name="M:Newtonsoft.Json.JsonExtensionDataAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonExtensionDataAttribute"/> class. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonIgnoreAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> not to serialize the public field or public read/write property value. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonObjectAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the object. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonObjectAttribute.MemberSerialization"> + <summary> + Gets or sets the member serialization. + </summary> + <value>The member serialization.</value> + </member> + <member name="P:Newtonsoft.Json.JsonObjectAttribute.ItemRequired"> + <summary> + Gets or sets a value that indicates whether the object's properties are required. + </summary> + <value> + A value indicating whether the object's properties are required. + </value> + </member> + <member name="M:Newtonsoft.Json.JsonObjectAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonObjectAttribute.#ctor(Newtonsoft.Json.MemberSerialization)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class with the specified member serialization. + </summary> + <param name="memberSerialization">The member serialization.</param> + </member> + <member name="M:Newtonsoft.Json.JsonObjectAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class with the specified container Id. + </summary> + <param name="id">The container Id.</param> + </member> + <member name="T:Newtonsoft.Json.JsonPropertyAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to always serialize the member with the specified name. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemConverterType"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.JsonConverter"/> used when serializing the property's collection items. + </summary> + <value>The collection's items <see cref="T:Newtonsoft.Json.JsonConverter"/>.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemConverterParameters"> + <summary> + The parameter list to use when constructing the <see cref="T:Newtonsoft.Json.JsonConverter"/> described by <see cref="P:Newtonsoft.Json.JsonPropertyAttribute.ItemConverterType"/>. + If <c>null</c>, the default constructor is used. + When non-<c>null</c>, there must be a constructor defined in the <see cref="T:Newtonsoft.Json.JsonConverter"/> that exactly matches the number, + order, and type of these parameters. + </summary> + <example> + <code> + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + </code> + </example> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.NamingStrategyType"> + <summary> + Gets or sets the <see cref="T:System.Type"/> of the <see cref="T:Newtonsoft.Json.Serialization.NamingStrategy"/>. + </summary> + <value>The <see cref="T:System.Type"/> of the <see cref="T:Newtonsoft.Json.Serialization.NamingStrategy"/>.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.NamingStrategyParameters"> + <summary> + The parameter list to use when constructing the <see cref="T:Newtonsoft.Json.Serialization.NamingStrategy"/> described by <see cref="P:Newtonsoft.Json.JsonPropertyAttribute.NamingStrategyType"/>. + If <c>null</c>, the default constructor is used. + When non-<c>null</c>, there must be a constructor defined in the <see cref="T:Newtonsoft.Json.Serialization.NamingStrategy"/> that exactly matches the number, + order, and type of these parameters. + </summary> + <example> + <code> + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + </code> + </example> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.NullValueHandling"> + <summary> + Gets or sets the null value handling used when serializing this property. + </summary> + <value>The null value handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.DefaultValueHandling"> + <summary> + Gets or sets the default value handling used when serializing this property. + </summary> + <value>The default value handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ReferenceLoopHandling"> + <summary> + Gets or sets the reference loop handling used when serializing this property. + </summary> + <value>The reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ObjectCreationHandling"> + <summary> + Gets or sets the object creation handling used when deserializing this property. + </summary> + <value>The object creation handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.TypeNameHandling"> + <summary> + Gets or sets the type name handling used when serializing this property. + </summary> + <value>The type name handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.IsReference"> + <summary> + Gets or sets whether this property's value is serialized as a reference. + </summary> + <value>Whether this property's value is serialized as a reference.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.Order"> + <summary> + Gets or sets the order of serialization of a member. + </summary> + <value>The numeric order of serialization.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.Required"> + <summary> + Gets or sets a value indicating whether this property is required. + </summary> + <value> + A value indicating whether this property is required. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.PropertyName"> + <summary> + Gets or sets the name of the property. + </summary> + <value>The name of the property.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemReferenceLoopHandling"> + <summary> + Gets or sets the reference loop handling used when serializing the property's collection items. + </summary> + <value>The collection's items reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemTypeNameHandling"> + <summary> + Gets or sets the type name handling used when serializing the property's collection items. + </summary> + <value>The collection's items type name handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemIsReference"> + <summary> + Gets or sets whether this property's collection items are serialized as a reference. + </summary> + <value>Whether this property's collection items are serialized as a reference.</value> + </member> + <member name="M:Newtonsoft.Json.JsonPropertyAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonPropertyAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/> class with the specified name. + </summary> + <param name="propertyName">Name of the property.</param> + </member> + <member name="T:Newtonsoft.Json.JsonReader"> + <summary> + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonReader.SkipAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously skips the children of the current token. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsBooleanAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsBytesAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Byte"/>[]. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Byte"/>[]. This result will be <c>null</c> at the end of an array.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDateTimeAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDateTimeOffsetAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDecimalAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDoubleAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsInt32Async(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsStringAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.String"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.String"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="T:Newtonsoft.Json.JsonReader.State"> + <summary> + Specifies the state of the reader. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Start"> + <summary> + A <see cref="T:Newtonsoft.Json.JsonReader"/> read method has not been called. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Complete"> + <summary> + The end of the file has been reached successfully. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Property"> + <summary> + Reader is at a property. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.ObjectStart"> + <summary> + Reader is at the start of an object. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Object"> + <summary> + Reader is in an object. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.ArrayStart"> + <summary> + Reader is at the start of an array. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Array"> + <summary> + Reader is in an array. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Closed"> + <summary> + The <see cref="M:Newtonsoft.Json.JsonReader.Close"/> method has been called. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.PostValue"> + <summary> + Reader has just read a value. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.ConstructorStart"> + <summary> + Reader is at the start of a constructor. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Constructor"> + <summary> + Reader is in a constructor. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Error"> + <summary> + An error occurred that prevents the read operation from continuing. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Finished"> + <summary> + The end of the file has been reached successfully. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.CurrentState"> + <summary> + Gets the current reader state. + </summary> + <value>The current reader state.</value> + </member> + <member name="P:Newtonsoft.Json.JsonReader.CloseInput"> + <summary> + Gets or sets a value indicating whether the source should be closed when this reader is closed. + </summary> + <value> + <c>true</c> to close the source when this reader is closed; otherwise <c>false</c>. The default is <c>true</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonReader.SupportMultipleContent"> + <summary> + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + </summary> + <value> + <c>true</c> to support reading multiple pieces of JSON content; otherwise <c>false</c>. + The default is <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonReader.QuoteChar"> + <summary> + Gets the quotation mark character used to enclose the value of a string. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.DateTimeZoneHandling"> + <summary> + Gets or sets how <see cref="T:System.DateTime"/> time zones are handled when reading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.DateParseHandling"> + <summary> + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.FloatParseHandling"> + <summary> + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.DateFormatString"> + <summary> + Gets or sets how custom date formatted strings are parsed when reading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.MaxDepth"> + <summary> + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.TokenType"> + <summary> + Gets the type of the current JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.Value"> + <summary> + Gets the text value of the current JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.ValueType"> + <summary> + Gets the .NET type for the current JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.Depth"> + <summary> + Gets the depth of the current token in the JSON document. + </summary> + <value>The depth of the current token in the JSON document.</value> + </member> + <member name="P:Newtonsoft.Json.JsonReader.Path"> + <summary> + Gets the path of the current JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.Culture"> + <summary> + Gets or sets the culture used when reading JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReader.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReader"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReader.Read"> + <summary> + Reads the next JSON token from the source. + </summary> + <returns><c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsInt32"> + <summary> + Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsString"> + <summary> + Reads the next JSON token from the source as a <see cref="T:System.String"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsBytes"> + <summary> + Reads the next JSON token from the source as a <see cref="T:System.Byte"/>[]. + </summary> + <returns>A <see cref="T:System.Byte"/>[] or <c>null</c> if the next JSON token is null. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDouble"> + <summary> + Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsBoolean"> + <summary> + Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDecimal"> + <summary> + Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDateTime"> + <summary> + Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDateTimeOffset"> + <summary> + Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.Skip"> + <summary> + Skips the children of the current token. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReader.SetToken(Newtonsoft.Json.JsonToken)"> + <summary> + Sets the current token. + </summary> + <param name="newToken">The new token.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReader.SetToken(Newtonsoft.Json.JsonToken,System.Object)"> + <summary> + Sets the current token and value. + </summary> + <param name="newToken">The new token.</param> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReader.SetToken(Newtonsoft.Json.JsonToken,System.Object,System.Boolean)"> + <summary> + Sets the current token and value. + </summary> + <param name="newToken">The new token.</param> + <param name="value">The value.</param> + <param name="updateIndex">A flag indicating whether the position index inside an array should be updated.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReader.SetStateBasedOnCurrent"> + <summary> + Sets the state based on current token type. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReader.Dispose(System.Boolean)"> + <summary> + Releases unmanaged and - optionally - managed resources. + </summary> + <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReader.Close"> + <summary> + Changes the reader's state to <see cref="F:Newtonsoft.Json.JsonReader.State.Closed"/>. + If <see cref="P:Newtonsoft.Json.JsonReader.CloseInput"/> is set to <c>true</c>, the source is also closed. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonReaderException"> + <summary> + The exception thrown when an error occurs while reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReaderException.LineNumber"> + <summary> + Gets the line number indicating where the error occurred. + </summary> + <value>The line number indicating where the error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.JsonReaderException.LinePosition"> + <summary> + Gets the line position indicating where the error occurred. + </summary> + <value>The line position indicating where the error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.JsonReaderException.Path"> + <summary> + Gets the path to the JSON where the error occurred. + </summary> + <value>The path to the JSON where the error occurred.</value> + </member> + <member name="M:Newtonsoft.Json.JsonReaderException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReaderException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class + with a specified error message. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReaderException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class + with a specified error message and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReaderException.#ctor(System.String,System.String,System.Int32,System.Int32,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="path">The path to the JSON where the error occurred.</param> + <param name="lineNumber">The line number indicating where the error occurred.</param> + <param name="linePosition">The line position indicating where the error occurred.</param> + <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param> + </member> + <member name="T:Newtonsoft.Json.JsonRequiredAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to always serialize the member, and to require that the member has a value. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonSerializationException"> + <summary> + The exception thrown when an error occurs during JSON serialization or deserialization. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class + with a specified error message. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class + with a specified error message and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param> + </member> + <member name="T:Newtonsoft.Json.JsonSerializer"> + <summary> + Serializes and deserializes objects into and from the JSON format. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> enables you to control how objects are encoded into JSON. + </summary> + </member> + <member name="E:Newtonsoft.Json.JsonSerializer.Error"> + <summary> + Occurs when the <see cref="T:Newtonsoft.Json.JsonSerializer"/> errors during serialization and deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.ReferenceResolver"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.Binder"> + <summary> + Gets or sets the <see cref="P:Newtonsoft.Json.JsonSerializer.SerializationBinder"/> used by the serializer when resolving type names. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.SerializationBinder"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.ISerializationBinder"/> used by the serializer when resolving type names. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.TraceWriter"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.ITraceWriter"/> used by the serializer when writing trace messages. + </summary> + <value>The trace writer.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.EqualityComparer"> + <summary> + Gets or sets the equality comparer used by the serializer when comparing references. + </summary> + <value>The equality comparer.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"> + <summary> + Gets or sets how type name writing and reading is handled by the serializer. + </summary> + <remarks> + <see cref="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom <see cref="P:Newtonsoft.Json.JsonSerializer.SerializationBinder"/> + when deserializing with a value other than <see cref="F:Newtonsoft.Json.TypeNameHandling.None"/>. + </remarks> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.TypeNameAssemblyFormat"> + <summary> + Gets or sets how a type name assembly is written and resolved by the serializer. + </summary> + <value>The type name assembly format.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.TypeNameAssemblyFormatHandling"> + <summary> + Gets or sets how a type name assembly is written and resolved by the serializer. + </summary> + <value>The type name assembly format.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.PreserveReferencesHandling"> + <summary> + Gets or sets how object references are preserved by the serializer. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.ReferenceLoopHandling"> + <summary> + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.MissingMemberHandling"> + <summary> + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.NullValueHandling"> + <summary> + Gets or sets how null values are handled during serialization and deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.DefaultValueHandling"> + <summary> + Gets or sets how default values are handled during serialization and deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.ObjectCreationHandling"> + <summary> + Gets or sets how objects are created during deserialization. + </summary> + <value>The object creation handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.ConstructorHandling"> + <summary> + Gets or sets how constructors are used during deserialization. + </summary> + <value>The constructor handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.MetadataPropertyHandling"> + <summary> + Gets or sets how metadata properties are used during deserialization. + </summary> + <value>The metadata properties handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.Converters"> + <summary> + Gets a collection <see cref="T:Newtonsoft.Json.JsonConverter"/> that will be used during serialization. + </summary> + <value>Collection <see cref="T:Newtonsoft.Json.JsonConverter"/> that will be used during serialization.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.ContractResolver"> + <summary> + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.Context"> + <summary> + Gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext"/> used by the serializer when invoking serialization callback methods. + </summary> + <value>The context.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.Formatting"> + <summary> + Indicates how JSON text output is formatted. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.DateFormatHandling"> + <summary> + Gets or sets how dates are written to JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.DateTimeZoneHandling"> + <summary> + Gets or sets how <see cref="T:System.DateTime"/> time zones are handled during serialization and deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.DateParseHandling"> + <summary> + Gets or sets how date formatted strings, e.g. <c>"\/Date(1198908717056)\/"</c> and <c>"2012-03-21T05:40Z"</c>, are parsed when reading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.FloatParseHandling"> + <summary> + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.FloatFormatHandling"> + <summary> + Gets or sets how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>, + <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>, + are written as JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.StringEscapeHandling"> + <summary> + Gets or sets how strings are escaped when writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.DateFormatString"> + <summary> + Gets or sets how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatted when writing JSON text, + and the expected date format when reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.Culture"> + <summary> + Gets or sets the culture used when reading JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.MaxDepth"> + <summary> + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.CheckAdditionalContent"> + <summary> + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + </summary> + <value> + <c>true</c> if there will be a check for additional JSON content after deserializing an object; otherwise, <c>false</c>. + </value> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializer"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Create"> + <summary> + Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings + from <see cref="P:Newtonsoft.Json.JsonConvert.DefaultSettings"/>. + </summary> + <returns> + A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings + from <see cref="P:Newtonsoft.Json.JsonConvert.DefaultSettings"/>. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Create(Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings + from <see cref="P:Newtonsoft.Json.JsonConvert.DefaultSettings"/>. + </summary> + <param name="settings">The settings to be applied to the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.</param> + <returns> + A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings + from <see cref="P:Newtonsoft.Json.JsonConvert.DefaultSettings"/>. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.CreateDefault"> + <summary> + Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings + from <see cref="P:Newtonsoft.Json.JsonConvert.DefaultSettings"/>. + </summary> + <returns> + A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings + from <see cref="P:Newtonsoft.Json.JsonConvert.DefaultSettings"/>. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.CreateDefault(Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings + from <see cref="P:Newtonsoft.Json.JsonConvert.DefaultSettings"/> as well as the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="settings">The settings to be applied to the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.</param> + <returns> + A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings + from <see cref="P:Newtonsoft.Json.JsonConvert.DefaultSettings"/> as well as the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Populate(System.IO.TextReader,System.Object)"> + <summary> + Populates the JSON values onto the target object. + </summary> + <param name="reader">The <see cref="T:System.IO.TextReader"/> that contains the JSON structure to reader values from.</param> + <param name="target">The target object to populate values onto.</param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Populate(Newtonsoft.Json.JsonReader,System.Object)"> + <summary> + Populates the JSON values onto the target object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> that contains the JSON structure to reader values from.</param> + <param name="target">The target object to populate values onto.</param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(Newtonsoft.Json.JsonReader)"> + <summary> + Deserializes the JSON structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> that contains the JSON structure to deserialize.</param> + <returns>The <see cref="T:System.Object"/> being deserialized.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(System.IO.TextReader,System.Type)"> + <summary> + Deserializes the JSON structure contained by the specified <see cref="T:System.IO.StringReader"/> + into an instance of the specified type. + </summary> + <param name="reader">The <see cref="T:System.IO.TextReader"/> containing the object.</param> + <param name="objectType">The <see cref="T:System.Type"/> of object being deserialized.</param> + <returns>The instance of <paramref name="objectType"/> being deserialized.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize``1(Newtonsoft.Json.JsonReader)"> + <summary> + Deserializes the JSON structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/> + into an instance of the specified type. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the object.</param> + <typeparam name="T">The type of the object to deserialize.</typeparam> + <returns>The instance of <typeparamref name="T"/> being deserialized.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(Newtonsoft.Json.JsonReader,System.Type)"> + <summary> + Deserializes the JSON structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/> + into an instance of the specified type. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the object.</param> + <param name="objectType">The <see cref="T:System.Type"/> of object being deserialized.</param> + <returns>The instance of <paramref name="objectType"/> being deserialized.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(System.IO.TextWriter,System.Object)"> + <summary> + Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure + using the specified <see cref="T:System.IO.TextWriter"/>. + </summary> + <param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the JSON structure.</param> + <param name="value">The <see cref="T:System.Object"/> to serialize.</param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type)"> + <summary> + Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure + using the specified <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="jsonWriter">The <see cref="T:Newtonsoft.Json.JsonWriter"/> used to write the JSON structure.</param> + <param name="value">The <see cref="T:System.Object"/> to serialize.</param> + <param name="objectType"> + The type of the value being serialized. + This parameter is used when <see cref="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is <see cref="F:Newtonsoft.Json.TypeNameHandling.Auto"/> to write out the type name if the type of the value does not match. + Specifying the type is optional. + </param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(System.IO.TextWriter,System.Object,System.Type)"> + <summary> + Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure + using the specified <see cref="T:System.IO.TextWriter"/>. + </summary> + <param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the JSON structure.</param> + <param name="value">The <see cref="T:System.Object"/> to serialize.</param> + <param name="objectType"> + The type of the value being serialized. + This parameter is used when <see cref="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + </param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(Newtonsoft.Json.JsonWriter,System.Object)"> + <summary> + Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure + using the specified <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="jsonWriter">The <see cref="T:Newtonsoft.Json.JsonWriter"/> used to write the JSON structure.</param> + <param name="value">The <see cref="T:System.Object"/> to serialize.</param> + </member> + <member name="T:Newtonsoft.Json.JsonSerializerSettings"> + <summary> + Specifies the settings on a <see cref="T:Newtonsoft.Json.JsonSerializer"/> object. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ReferenceLoopHandling"> + <summary> + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + </summary> + <value>Reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.MissingMemberHandling"> + <summary> + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + </summary> + <value>Missing member handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ObjectCreationHandling"> + <summary> + Gets or sets how objects are created during deserialization. + </summary> + <value>The object creation handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.NullValueHandling"> + <summary> + Gets or sets how null values are handled during serialization and deserialization. + </summary> + <value>Null value handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.DefaultValueHandling"> + <summary> + Gets or sets how default values are handled during serialization and deserialization. + </summary> + <value>The default value handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Converters"> + <summary> + Gets or sets a <see cref="T:Newtonsoft.Json.JsonConverter"/> collection that will be used during serialization. + </summary> + <value>The converters.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.PreserveReferencesHandling"> + <summary> + Gets or sets how object references are preserved by the serializer. + </summary> + <value>The preserve references handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.TypeNameHandling"> + <summary> + Gets or sets how type name writing and reading is handled by the serializer. + </summary> + <remarks> + <see cref="P:Newtonsoft.Json.JsonSerializerSettings.TypeNameHandling"/> should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom <see cref="P:Newtonsoft.Json.JsonSerializerSettings.SerializationBinder"/> + when deserializing with a value other than <see cref="F:Newtonsoft.Json.TypeNameHandling.None"/>. + </remarks> + <value>The type name handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.MetadataPropertyHandling"> + <summary> + Gets or sets how metadata properties are used during deserialization. + </summary> + <value>The metadata properties handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.TypeNameAssemblyFormat"> + <summary> + Gets or sets how a type name assembly is written and resolved by the serializer. + </summary> + <value>The type name assembly format.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.TypeNameAssemblyFormatHandling"> + <summary> + Gets or sets how a type name assembly is written and resolved by the serializer. + </summary> + <value>The type name assembly format.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ConstructorHandling"> + <summary> + Gets or sets how constructors are used during deserialization. + </summary> + <value>The constructor handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ContractResolver"> + <summary> + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + </summary> + <value>The contract resolver.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.EqualityComparer"> + <summary> + Gets or sets the equality comparer used by the serializer when comparing references. + </summary> + <value>The equality comparer.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ReferenceResolver"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references. + </summary> + <value>The reference resolver.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ReferenceResolverProvider"> + <summary> + Gets or sets a function that creates the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references. + </summary> + <value>A function that creates the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.TraceWriter"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.ITraceWriter"/> used by the serializer when writing trace messages. + </summary> + <value>The trace writer.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Binder"> + <summary> + Gets or sets the <see cref="P:Newtonsoft.Json.JsonSerializerSettings.SerializationBinder"/> used by the serializer when resolving type names. + </summary> + <value>The binder.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.SerializationBinder"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.ISerializationBinder"/> used by the serializer when resolving type names. + </summary> + <value>The binder.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Error"> + <summary> + Gets or sets the error handler called during serialization and deserialization. + </summary> + <value>The error handler called during serialization and deserialization.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Context"> + <summary> + Gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext"/> used by the serializer when invoking serialization callback methods. + </summary> + <value>The context.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateFormatString"> + <summary> + Gets or sets how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatted when writing JSON text, + and the expected date format when reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.MaxDepth"> + <summary> + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Formatting"> + <summary> + Indicates how JSON text output is formatted. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateFormatHandling"> + <summary> + Gets or sets how dates are written to JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateTimeZoneHandling"> + <summary> + Gets or sets how <see cref="T:System.DateTime"/> time zones are handled during serialization and deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateParseHandling"> + <summary> + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.FloatFormatHandling"> + <summary> + Gets or sets how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>, + <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>, + are written as JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.FloatParseHandling"> + <summary> + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.StringEscapeHandling"> + <summary> + Gets or sets how strings are escaped when writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Culture"> + <summary> + Gets or sets the culture used when reading JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.CheckAdditionalContent"> + <summary> + Gets a value indicating whether there will be a check for additional content after deserializing an object. + </summary> + <value> + <c>true</c> if there will be a check for additional content after deserializing an object; otherwise, <c>false</c>. + </value> + </member> + <member name="M:Newtonsoft.Json.JsonSerializerSettings.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> class. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonTextReader"> + <summary> + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsBooleanAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsBytesAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Byte"/>[]. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Byte"/>[]. This result will be <c>null</c> at the end of an array.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDateTimeAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDateTimeOffsetAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDecimalAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDoubleAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsInt32Async(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsStringAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously reads the next JSON token from the source as a <see cref="T:System.String"/>. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns the <see cref="T:System.String"/>. This result will be <c>null</c> at the end of an array.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.#ctor(System.IO.TextReader)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonTextReader"/> class with the specified <see cref="T:System.IO.TextReader"/>. + </summary> + <param name="reader">The <see cref="T:System.IO.TextReader"/> containing the JSON data to read.</param> + </member> + <member name="P:Newtonsoft.Json.JsonTextReader.ArrayPool"> + <summary> + Gets or sets the reader's character buffer pool. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.Read"> + <summary> + Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/>. + </summary> + <returns> + <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsInt32"> + <summary> + Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDateTime"> + <summary> + Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsString"> + <summary> + Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.String"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsBytes"> + <summary> + Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Byte"/>[]. + </summary> + <returns>A <see cref="T:System.Byte"/>[] or <c>null</c> if the next JSON token is null. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsBoolean"> + <summary> + Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDateTimeOffset"> + <summary> + Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDecimal"> + <summary> + Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDouble"> + <summary> + Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.Close"> + <summary> + Changes the reader's state to <see cref="F:Newtonsoft.Json.JsonReader.State.Closed"/>. + If <see cref="P:Newtonsoft.Json.JsonReader.CloseInput"/> is set to <c>true</c>, the underlying <see cref="T:System.IO.TextReader"/> is also closed. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.HasLineInfo"> + <summary> + Gets a value indicating whether the class can return line information. + </summary> + <returns> + <c>true</c> if <see cref="P:Newtonsoft.Json.JsonTextReader.LineNumber"/> and <see cref="P:Newtonsoft.Json.JsonTextReader.LinePosition"/> can be provided; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.JsonTextReader.LineNumber"> + <summary> + Gets the current line number. + </summary> + <value> + The current line number or 0 if no line information is available (for example, <see cref="M:Newtonsoft.Json.JsonTextReader.HasLineInfo"/> returns <c>false</c>). + </value> + </member> + <member name="P:Newtonsoft.Json.JsonTextReader.LinePosition"> + <summary> + Gets the current line position. + </summary> + <value> + The current line position or 0 if no line information is available (for example, <see cref="M:Newtonsoft.Json.JsonTextReader.HasLineInfo"/> returns <c>false</c>). + </value> + </member> + <member name="T:Newtonsoft.Json.JsonTextWriter"> + <summary> + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.FlushAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueDelimiterAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the JSON value delimiter. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteEndAsync(Newtonsoft.Json.JsonToken,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the specified end token. + </summary> + <param name="token">The end token to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.CloseAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously closes this writer. + If <see cref="P:Newtonsoft.Json.JsonWriter.CloseOutput"/> is set to <c>true</c>, the destination is also closed. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteEndAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the end of the current JSON object or array. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteIndentAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes indent characters. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteIndentSpaceAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes an indent space. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteRawAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes raw JSON without changing the writer's state. + </summary> + <param name="json">The raw JSON to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteNullAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a null value. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WritePropertyNameAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the property name of a name/value pair of a JSON object. + </summary> + <param name="name">The name of the property.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WritePropertyNameAsync(System.String,System.Boolean,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the property name of a name/value pair of a JSON object. + </summary> + <param name="name">The name of the property.</param> + <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartArrayAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the beginning of a JSON array. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartObjectAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the beginning of a JSON object. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartConstructorAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the start of a constructor with the given name. + </summary> + <param name="name">The name of the constructor.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteUndefinedAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes an undefined value. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteWhitespaceAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the given white space. + </summary> + <param name="ws">The string of white space characters.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Boolean,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Boolean},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Boolean"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Byte,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Byte"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Byte},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Byte[],System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Byte"/>[] value. + </summary> + <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Char,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Char"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Char},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.DateTime,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTime"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.DateTime},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.DateTimeOffset,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.DateTimeOffset},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Decimal,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Decimal"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Decimal},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Double,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Double"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Double},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Single,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Single"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Single},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Guid,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Guid"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Guid},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Int32,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Int32"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Int32},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Int64,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Int64"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Int64},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Object,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Object"/> value. + </summary> + <param name="value">The <see cref="T:System.Object"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.SByte,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.SByte"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.SByte},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Int16,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Int16"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Int16},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.String"/> value. + </summary> + <param name="value">The <see cref="T:System.String"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.TimeSpan,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.TimeSpan},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.UInt32,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt32"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.UInt32},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.UInt64,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt64"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.UInt64},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Uri,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Uri"/> value. + </summary> + <param name="value">The <see cref="T:System.Uri"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.UInt16,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt16"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.UInt16},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteCommentAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a comment <c>/*...*/</c> containing the specified text. + </summary> + <param name="text">Text to place inside the comment.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteEndArrayAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the end of an array. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteEndConstructorAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the end of a constructor. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteEndObjectAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the end of a JSON object. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteRawValueAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + </summary> + <param name="json">The raw JSON to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task.</remarks> + </member> + <member name="P:Newtonsoft.Json.JsonTextWriter.ArrayPool"> + <summary> + Gets or sets the writer's character array pool. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonTextWriter.Indentation"> + <summary> + Gets or sets how many <see cref="P:Newtonsoft.Json.JsonTextWriter.IndentChar"/>s to write for each level in the hierarchy when <see cref="P:Newtonsoft.Json.JsonWriter.Formatting"/> is set to <see cref="F:Newtonsoft.Json.Formatting.Indented"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonTextWriter.QuoteChar"> + <summary> + Gets or sets which character to use to quote attribute values. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonTextWriter.IndentChar"> + <summary> + Gets or sets which character to use for indenting when <see cref="P:Newtonsoft.Json.JsonWriter.Formatting"/> is set to <see cref="F:Newtonsoft.Json.Formatting.Indented"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonTextWriter.QuoteName"> + <summary> + Gets or sets a value indicating whether object names will be surrounded with quotes. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.#ctor(System.IO.TextWriter)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonTextWriter"/> class using the specified <see cref="T:System.IO.TextWriter"/>. + </summary> + <param name="textWriter">The <see cref="T:System.IO.TextWriter"/> to write to.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.Flush"> + <summary> + Flushes whatever is in the buffer to the underlying <see cref="T:System.IO.TextWriter"/> and also flushes the underlying <see cref="T:System.IO.TextWriter"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.Close"> + <summary> + Closes this writer. + If <see cref="P:Newtonsoft.Json.JsonWriter.CloseOutput"/> is set to <c>true</c>, the underlying <see cref="T:System.IO.TextWriter"/> is also closed. + If <see cref="P:Newtonsoft.Json.JsonWriter.AutoCompleteOnClose"/> is set to <c>true</c>, the JSON is auto-completed. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartObject"> + <summary> + Writes the beginning of a JSON object. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartArray"> + <summary> + Writes the beginning of a JSON array. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartConstructor(System.String)"> + <summary> + Writes the start of a constructor with the given name. + </summary> + <param name="name">The name of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteEnd(Newtonsoft.Json.JsonToken)"> + <summary> + Writes the specified end token. + </summary> + <param name="token">The end token to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WritePropertyName(System.String)"> + <summary> + Writes the property name of a name/value pair on a JSON object. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WritePropertyName(System.String,System.Boolean)"> + <summary> + Writes the property name of a name/value pair on a JSON object. + </summary> + <param name="name">The name of the property.</param> + <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteIndent"> + <summary> + Writes indent characters. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueDelimiter"> + <summary> + Writes the JSON value delimiter. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteIndentSpace"> + <summary> + Writes an indent space. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Object)"> + <summary> + Writes a <see cref="T:System.Object"/> value. + An error will raised if the value cannot be written as a single JSON token. + </summary> + <param name="value">The <see cref="T:System.Object"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteNull"> + <summary> + Writes a null value. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteUndefined"> + <summary> + Writes an undefined value. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteRaw(System.String)"> + <summary> + Writes raw JSON. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.String)"> + <summary> + Writes a <see cref="T:System.String"/> value. + </summary> + <param name="value">The <see cref="T:System.String"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int32)"> + <summary> + Writes a <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Int32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt32)"> + <summary> + Writes a <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int64)"> + <summary> + Writes a <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Int64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt64)"> + <summary> + Writes a <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Single)"> + <summary> + Writes a <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Single"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Nullable{System.Single})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Double)"> + <summary> + Writes a <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Double"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Nullable{System.Double})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Boolean)"> + <summary> + Writes a <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Boolean"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int16)"> + <summary> + Writes a <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Int16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt16)"> + <summary> + Writes a <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Char)"> + <summary> + Writes a <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Char"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Byte)"> + <summary> + Writes a <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Byte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.SByte)"> + <summary> + Writes a <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.SByte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Decimal)"> + <summary> + Writes a <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Decimal"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.DateTime)"> + <summary> + Writes a <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTime"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Byte[])"> + <summary> + Writes a <see cref="T:System.Byte"/>[] value. + </summary> + <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.DateTimeOffset)"> + <summary> + Writes a <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Guid)"> + <summary> + Writes a <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Guid"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.TimeSpan)"> + <summary> + Writes a <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Uri)"> + <summary> + Writes a <see cref="T:System.Uri"/> value. + </summary> + <param name="value">The <see cref="T:System.Uri"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteComment(System.String)"> + <summary> + Writes a comment <c>/*...*/</c> containing the specified text. + </summary> + <param name="text">Text to place inside the comment.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteWhitespace(System.String)"> + <summary> + Writes the given white space. + </summary> + <param name="ws">The string of white space characters.</param> + </member> + <member name="T:Newtonsoft.Json.JsonToken"> + <summary> + Specifies the type of JSON token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.None"> + <summary> + This is returned by the <see cref="T:Newtonsoft.Json.JsonReader"/> if a read method has not been called. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.StartObject"> + <summary> + An object start token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.StartArray"> + <summary> + An array start token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.StartConstructor"> + <summary> + A constructor start token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.PropertyName"> + <summary> + An object property name. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Comment"> + <summary> + A comment. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Raw"> + <summary> + Raw JSON. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Integer"> + <summary> + An integer. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Float"> + <summary> + A float. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.String"> + <summary> + A string. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Boolean"> + <summary> + A boolean. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Null"> + <summary> + A null token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Undefined"> + <summary> + An undefined token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.EndObject"> + <summary> + An object end token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.EndArray"> + <summary> + An array end token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.EndConstructor"> + <summary> + A constructor end token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Date"> + <summary> + A Date. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Bytes"> + <summary> + Byte data. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonValidatingReader"> + <summary> + <para> + Represents a reader that provides <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> validation. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="E:Newtonsoft.Json.JsonValidatingReader.ValidationEventHandler"> + <summary> + Sets an event handler for receiving schema validation errors. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.Value"> + <summary> + Gets the text value of the current JSON token. + </summary> + <value></value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.Depth"> + <summary> + Gets the depth of the current token in the JSON document. + </summary> + <value>The depth of the current token in the JSON document.</value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.Path"> + <summary> + Gets the path of the current JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.QuoteChar"> + <summary> + Gets the quotation mark character used to enclose the value of a string. + </summary> + <value></value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.TokenType"> + <summary> + Gets the type of the current JSON token. + </summary> + <value></value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.ValueType"> + <summary> + Gets the .NET type for the current JSON token. + </summary> + <value></value> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.#ctor(Newtonsoft.Json.JsonReader)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonValidatingReader"/> class that + validates the content returned from the given <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from while validating.</param> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.Schema"> + <summary> + Gets or sets the schema. + </summary> + <value>The schema.</value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.Reader"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.JsonReader"/> used to construct this <see cref="T:Newtonsoft.Json.JsonValidatingReader"/>. + </summary> + <value>The <see cref="T:Newtonsoft.Json.JsonReader"/> specified in the constructor.</value> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.Close"> + <summary> + Changes the reader's state to <see cref="F:Newtonsoft.Json.JsonReader.State.Closed"/>. + If <see cref="P:Newtonsoft.Json.JsonReader.CloseInput"/> is set to <c>true</c>, the underlying <see cref="T:Newtonsoft.Json.JsonReader"/> is also closed. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsInt32"> + <summary> + Reads the next JSON token from the underlying <see cref="T:Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsBytes"> + <summary> + Reads the next JSON token from the underlying <see cref="T:Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Byte"/>[]. + </summary> + <returns> + A <see cref="T:System.Byte"/>[] or <c>null</c> if the next JSON token is null. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDecimal"> + <summary> + Reads the next JSON token from the underlying <see cref="T:Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDouble"> + <summary> + Reads the next JSON token from the underlying <see cref="T:Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsBoolean"> + <summary> + Reads the next JSON token from the underlying <see cref="T:Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsString"> + <summary> + Reads the next JSON token from the underlying <see cref="T:Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.String"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDateTime"> + <summary> + Reads the next JSON token from the underlying <see cref="T:Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDateTimeOffset"> + <summary> + Reads the next JSON token from the underlying <see cref="T:Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.Read"> + <summary> + Reads the next JSON token from the underlying <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <returns> + <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read. + </returns> + </member> + <member name="T:Newtonsoft.Json.JsonWriter"> + <summary> + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.CloseAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously closes this writer. + If <see cref="P:Newtonsoft.Json.JsonWriter.CloseOutput"/> is set to <c>true</c>, the destination is also closed. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.FlushAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndAsync(Newtonsoft.Json.JsonToken,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the specified end token. + </summary> + <param name="token">The end token to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteIndentAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes indent characters. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueDelimiterAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the JSON value delimiter. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteIndentSpaceAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes an indent space. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteRawAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes raw JSON without changing the writer's state. + </summary> + <param name="json">The raw JSON to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the end of the current JSON object or array. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndArrayAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the end of an array. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndConstructorAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the end of a constructor. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndObjectAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the end of a JSON object. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteNullAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a null value. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WritePropertyNameAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the property name of a name/value pair of a JSON object. + </summary> + <param name="name">The name of the property.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WritePropertyNameAsync(System.String,System.Boolean,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the property name of a name/value pair of a JSON object. + </summary> + <param name="name">The name of the property.</param> + <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteStartArrayAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the beginning of a JSON array. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteCommentAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a comment <c>/*...*/</c> containing the specified text. + </summary> + <param name="text">Text to place inside the comment.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteRawValueAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + </summary> + <param name="json">The raw JSON to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteStartConstructorAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the start of a constructor with the given name. + </summary> + <param name="name">The name of the constructor.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteStartObjectAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the beginning of a JSON object. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteTokenAsync(Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the current <see cref="T:Newtonsoft.Json.JsonReader"/> token. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read the token from.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteTokenAsync(Newtonsoft.Json.JsonReader,System.Boolean,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the current <see cref="T:Newtonsoft.Json.JsonReader"/> token. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read the token from.</param> + <param name="writeChildren">A flag indicating whether the current token's children should be written.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteTokenAsync(Newtonsoft.Json.JsonToken,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the <see cref="T:Newtonsoft.Json.JsonToken"/> token and its value. + </summary> + <param name="token">The <see cref="T:Newtonsoft.Json.JsonToken"/> to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteTokenAsync(Newtonsoft.Json.JsonToken,System.Object,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the <see cref="T:Newtonsoft.Json.JsonToken"/> token and its value. + </summary> + <param name="token">The <see cref="T:Newtonsoft.Json.JsonToken"/> to write.</param> + <param name="value"> + The value to write. + A value is only required for tokens that have an associated value, e.g. the <see cref="T:System.String"/> property name for <see cref="F:Newtonsoft.Json.JsonToken.PropertyName"/>. + <c>null</c> can be passed to the method for tokens that don't have a value, e.g. <see cref="F:Newtonsoft.Json.JsonToken.StartObject"/>. + </param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Boolean,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Boolean},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Boolean"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Byte,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Byte"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Byte},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Byte[],System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Byte"/>[] value. + </summary> + <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Char,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Char"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Char},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.DateTime,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTime"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.DateTime},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.DateTimeOffset,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.DateTimeOffset},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Decimal,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Decimal"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Decimal},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Double,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Double"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Double},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Single,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Single"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Single},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Guid,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Guid"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Guid},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Int32,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Int32"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Int32},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Int64,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Int64"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Int64},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Object,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Object"/> value. + </summary> + <param name="value">The <see cref="T:System.Object"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.SByte,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.SByte"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.SByte},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Int16,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Int16"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Int16},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.String"/> value. + </summary> + <param name="value">The <see cref="T:System.String"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.TimeSpan,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.TimeSpan},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.UInt32,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt32"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.UInt32},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.UInt64,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt64"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.UInt64},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Uri,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Uri"/> value. + </summary> + <param name="value">The <see cref="T:System.Uri"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.UInt16,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt16"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.UInt16},System.Threading.CancellationToken)"> + <summary> + Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value to write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteUndefinedAsync(System.Threading.CancellationToken)"> + <summary> + Asynchronously writes an undefined value. + </summary> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteWhitespaceAsync(System.String,System.Threading.CancellationToken)"> + <summary> + Asynchronously writes the given white space. + </summary> + <param name="ws">The string of white space characters.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.SetWriteStateAsync(Newtonsoft.Json.JsonToken,System.Object,System.Threading.CancellationToken)"> + <summary> + Asynchronously ets the state of the <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="token">The <see cref="T:Newtonsoft.Json.JsonToken"/> being written.</param> + <param name="value">The value being written.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns> + <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity.</remarks> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.CloseOutput"> + <summary> + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + </summary> + <value> + <c>true</c> to close the destination when this writer is closed; otherwise <c>false</c>. The default is <c>true</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.AutoCompleteOnClose"> + <summary> + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + </summary> + <value> + <c>true</c> to auto-complete the JSON when this writer is closed; otherwise <c>false</c>. The default is <c>true</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.Top"> + <summary> + Gets the top. + </summary> + <value>The top.</value> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.WriteState"> + <summary> + Gets the state of the writer. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.Path"> + <summary> + Gets the path of the writer. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.Formatting"> + <summary> + Gets or sets a value indicating how JSON text output should be formatted. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.DateFormatHandling"> + <summary> + Gets or sets how dates are written to JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.DateTimeZoneHandling"> + <summary> + Gets or sets how <see cref="T:System.DateTime"/> time zones are handled when writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.StringEscapeHandling"> + <summary> + Gets or sets how strings are escaped when writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.FloatFormatHandling"> + <summary> + Gets or sets how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>, + <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>, + are written to JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.DateFormatString"> + <summary> + Gets or sets how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatted when writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.Culture"> + <summary> + Gets or sets the culture used when writing JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriter"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.Flush"> + <summary> + Flushes whatever is in the buffer to the destination and also flushes the destination. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.Close"> + <summary> + Closes this writer. + If <see cref="P:Newtonsoft.Json.JsonWriter.CloseOutput"/> is set to <c>true</c>, the destination is also closed. + If <see cref="P:Newtonsoft.Json.JsonWriter.AutoCompleteOnClose"/> is set to <c>true</c>, the JSON is auto-completed. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteStartObject"> + <summary> + Writes the beginning of a JSON object. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndObject"> + <summary> + Writes the end of a JSON object. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteStartArray"> + <summary> + Writes the beginning of a JSON array. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndArray"> + <summary> + Writes the end of an array. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteStartConstructor(System.String)"> + <summary> + Writes the start of a constructor with the given name. + </summary> + <param name="name">The name of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndConstructor"> + <summary> + Writes the end constructor. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WritePropertyName(System.String)"> + <summary> + Writes the property name of a name/value pair of a JSON object. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WritePropertyName(System.String,System.Boolean)"> + <summary> + Writes the property name of a name/value pair of a JSON object. + </summary> + <param name="name">The name of the property.</param> + <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEnd"> + <summary> + Writes the end of the current JSON object or array. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonReader)"> + <summary> + Writes the current <see cref="T:Newtonsoft.Json.JsonReader"/> token and its children. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read the token from.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonReader,System.Boolean)"> + <summary> + Writes the current <see cref="T:Newtonsoft.Json.JsonReader"/> token. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read the token from.</param> + <param name="writeChildren">A flag indicating whether the current token's children should be written.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonToken,System.Object)"> + <summary> + Writes the <see cref="T:Newtonsoft.Json.JsonToken"/> token and its value. + </summary> + <param name="token">The <see cref="T:Newtonsoft.Json.JsonToken"/> to write.</param> + <param name="value"> + The value to write. + A value is only required for tokens that have an associated value, e.g. the <see cref="T:System.String"/> property name for <see cref="F:Newtonsoft.Json.JsonToken.PropertyName"/>. + <c>null</c> can be passed to the method for tokens that don't have a value, e.g. <see cref="F:Newtonsoft.Json.JsonToken.StartObject"/>. + </param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonToken)"> + <summary> + Writes the <see cref="T:Newtonsoft.Json.JsonToken"/> token. + </summary> + <param name="token">The <see cref="T:Newtonsoft.Json.JsonToken"/> to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEnd(Newtonsoft.Json.JsonToken)"> + <summary> + Writes the specified end token. + </summary> + <param name="token">The end token to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteIndent"> + <summary> + Writes indent characters. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueDelimiter"> + <summary> + Writes the JSON value delimiter. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteIndentSpace"> + <summary> + Writes an indent space. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteNull"> + <summary> + Writes a null value. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteUndefined"> + <summary> + Writes an undefined value. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteRaw(System.String)"> + <summary> + Writes raw JSON without changing the writer's state. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteRawValue(System.String)"> + <summary> + Writes raw JSON where a value is expected and updates the writer's state. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.String)"> + <summary> + Writes a <see cref="T:System.String"/> value. + </summary> + <param name="value">The <see cref="T:System.String"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Int32)"> + <summary> + Writes a <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Int32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.UInt32)"> + <summary> + Writes a <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Int64)"> + <summary> + Writes a <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Int64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.UInt64)"> + <summary> + Writes a <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Single)"> + <summary> + Writes a <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Single"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Double)"> + <summary> + Writes a <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Double"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Boolean)"> + <summary> + Writes a <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Boolean"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Int16)"> + <summary> + Writes a <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Int16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.UInt16)"> + <summary> + Writes a <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Char)"> + <summary> + Writes a <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Char"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Byte)"> + <summary> + Writes a <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Byte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.SByte)"> + <summary> + Writes a <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.SByte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Decimal)"> + <summary> + Writes a <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Decimal"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.DateTime)"> + <summary> + Writes a <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTime"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.DateTimeOffset)"> + <summary> + Writes a <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Guid)"> + <summary> + Writes a <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Guid"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.TimeSpan)"> + <summary> + Writes a <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int32})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt32})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int64})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt64})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Single})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Double})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Boolean})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int16})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt16})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Char})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Byte})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.SByte})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Decimal})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.DateTime})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.DateTimeOffset})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Guid})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.TimeSpan})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Byte[])"> + <summary> + Writes a <see cref="T:System.Byte"/>[] value. + </summary> + <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Uri)"> + <summary> + Writes a <see cref="T:System.Uri"/> value. + </summary> + <param name="value">The <see cref="T:System.Uri"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Object)"> + <summary> + Writes a <see cref="T:System.Object"/> value. + An error will raised if the value cannot be written as a single JSON token. + </summary> + <param name="value">The <see cref="T:System.Object"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteComment(System.String)"> + <summary> + Writes a comment <c>/*...*/</c> containing the specified text. + </summary> + <param name="text">Text to place inside the comment.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteWhitespace(System.String)"> + <summary> + Writes the given white space. + </summary> + <param name="ws">The string of white space characters.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.Dispose(System.Boolean)"> + <summary> + Releases unmanaged and - optionally - managed resources. + </summary> + <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.SetWriteState(Newtonsoft.Json.JsonToken,System.Object)"> + <summary> + Sets the state of the <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="token">The <see cref="T:Newtonsoft.Json.JsonToken"/> being written.</param> + <param name="value">The value being written.</param> + </member> + <member name="T:Newtonsoft.Json.JsonWriterException"> + <summary> + The exception thrown when an error occurs while writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriterException.Path"> + <summary> + Gets the path to the JSON where the error occurred. + </summary> + <value>The path to the JSON where the error occurred.</value> + </member> + <member name="M:Newtonsoft.Json.JsonWriterException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriterException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class + with a specified error message. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriterException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class + with a specified error message and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriterException.#ctor(System.String,System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="path">The path to the JSON where the error occurred.</param> + <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param> + </member> + <member name="T:Newtonsoft.Json.Linq.CommentHandling"> + <summary> + Specifies how JSON comments are handled when loading JSON. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.CommentHandling.Ignore"> + <summary> + Ignore comments. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.CommentHandling.Load"> + <summary> + Load comments as a <see cref="T:Newtonsoft.Json.Linq.JValue"/> with type <see cref="F:Newtonsoft.Json.Linq.JTokenType.Comment"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.Linq.LineInfoHandling"> + <summary> + Specifies how line information is handled when loading JSON. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.LineInfoHandling.Ignore"> + <summary> + Ignore line information. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.LineInfoHandling.Load"> + <summary> + Load line information. + </summary> + </member> + <member name="T:Newtonsoft.Json.Linq.Extensions"> + <summary> + Contains the LINQ to JSON extension methods. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Ancestors``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of tokens that contains the ancestors of every token in the source collection. + </summary> + <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the ancestors of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.AncestorsAndSelf``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + </summary> + <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains every token in the source collection, the ancestors of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Descendants``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of tokens that contains the descendants of every token in the source collection. + </summary> + <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JContainer"/>.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the descendants of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.DescendantsAndSelf``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + </summary> + <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JContainer"/>.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains every token in the source collection, and the descendants of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Properties(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject})"> + <summary> + Returns a collection of child properties of every object in the source collection. + </summary> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JObject"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the properties of every object in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Values(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken},System.Object)"> + <summary> + Returns a collection of child values of every object in the source collection with the given key. + </summary> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <param name="key">The token key.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection with the given key.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Values(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})"> + <summary> + Returns a collection of child values of every object in the source collection. + </summary> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Values``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken},System.Object)"> + <summary> + Returns a collection of converted child values of every object in the source collection with the given key. + </summary> + <typeparam name="U">The type to convert the values to.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <param name="key">The token key.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection with the given key.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Values``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})"> + <summary> + Returns a collection of converted child values of every object in the source collection. + </summary> + <typeparam name="U">The type to convert the values to.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Value``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})"> + <summary> + Converts the value. + </summary> + <typeparam name="U">The type to convert the value to.</typeparam> + <param name="value">A <see cref="T:Newtonsoft.Json.Linq.JToken"/> cast as a <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <returns>A converted value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Value``2(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Converts the value. + </summary> + <typeparam name="T">The source collection type.</typeparam> + <typeparam name="U">The type to convert the value to.</typeparam> + <param name="value">A <see cref="T:Newtonsoft.Json.Linq.JToken"/> cast as a <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <returns>A converted value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Children``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of child tokens of every array in the source collection. + </summary> + <typeparam name="T">The source collection type.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Children``2(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of converted child tokens of every array in the source collection. + </summary> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <typeparam name="U">The type to convert the values to.</typeparam> + <typeparam name="T">The source collection type.</typeparam> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.AsJEnumerable(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})"> + <summary> + Returns the input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>. + </summary> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>The input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.AsJEnumerable``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns the input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>. + </summary> + <typeparam name="T">The source collection type.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>The input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>.</returns> + </member> + <member name="T:Newtonsoft.Json.Linq.IJEnumerable`1"> + <summary> + Represents a collection of <see cref="T:Newtonsoft.Json.Linq.JToken"/> objects. + </summary> + <typeparam name="T">The type of token.</typeparam> + </member> + <member name="P:Newtonsoft.Json.Linq.IJEnumerable`1.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key. + </summary> + <value></value> + </member> + <member name="T:Newtonsoft.Json.Linq.JArray"> + <summary> + Represents a JSON array. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from Text" /> + </example> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.WriteToAsync(Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/> asynchronously. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.LoadAsync(Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)"> + <summary> + Asynchronously loads a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JArray"/>. + If this is <c>null</c>, default load settings will be used.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> property contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.LoadAsync(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)"> + <summary> + Asynchronously loads a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> property contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JArray.ChildrenTokens"> + <summary> + Gets the container's children tokens. + </summary> + <value>The container's children tokens.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JArray.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.#ctor(Newtonsoft.Json.Linq.JArray)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class from another <see cref="T:Newtonsoft.Json.Linq.JArray"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JArray"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class with the specified content. + </summary> + <param name="content">The contents of the array.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class with the specified content. + </summary> + <param name="content">The contents of the array.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Load(Newtonsoft.Json.JsonReader)"> + <summary> + Loads an <see cref="T:Newtonsoft.Json.Linq.JArray"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Load(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings)"> + <summary> + Loads an <see cref="T:Newtonsoft.Json.Linq.JArray"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Parse(System.String)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from a string that contains JSON. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> populated from the string that contains JSON.</returns> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from Text" /> + </example> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Parse(System.String,Newtonsoft.Json.Linq.JsonLoadSettings)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from a string that contains JSON. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> populated from the string that contains JSON.</returns> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from Text" /> + </example> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.FromObject(System.Object)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from an object. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> with the values of the specified object.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.FromObject(System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from an object. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used to read the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> with the values of the specified object.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JArray.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JArray.Item(System.Int32)"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> at the specified index. + </summary> + <value></value> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.IndexOf(Newtonsoft.Json.Linq.JToken)"> + <summary> + Determines the index of a specific item in the <see cref="T:Newtonsoft.Json.Linq.JArray"/>. + </summary> + <param name="item">The object to locate in the <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <returns> + The index of <paramref name="item"/> if found in the list; otherwise, -1. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Insert(System.Int32,Newtonsoft.Json.Linq.JToken)"> + <summary> + Inserts an item to the <see cref="T:Newtonsoft.Json.Linq.JArray"/> at the specified index. + </summary> + <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param> + <param name="item">The object to insert into the <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <exception cref="T:System.ArgumentOutOfRangeException"> + <paramref name="index"/> is not a valid index in the <see cref="T:Newtonsoft.Json.Linq.JArray"/>. + </exception> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.RemoveAt(System.Int32)"> + <summary> + Removes the <see cref="T:Newtonsoft.Json.Linq.JArray"/> item at the specified index. + </summary> + <param name="index">The zero-based index of the item to remove.</param> + <exception cref="T:System.ArgumentOutOfRangeException"> + <paramref name="index"/> is not a valid index in the <see cref="T:Newtonsoft.Json.Linq.JArray"/>. + </exception> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.GetEnumerator"> + <summary> + Returns an enumerator that iterates through the collection. + </summary> + <returns> + A <see cref="T:System.Collections.Generic.IEnumerator`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that can be used to iterate through the collection. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Add(Newtonsoft.Json.Linq.JToken)"> + <summary> + Adds an item to the <see cref="T:Newtonsoft.Json.Linq.JArray"/>. + </summary> + <param name="item">The object to add to the <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Clear"> + <summary> + Removes all items from the <see cref="T:Newtonsoft.Json.Linq.JArray"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Contains(Newtonsoft.Json.Linq.JToken)"> + <summary> + Determines whether the <see cref="T:Newtonsoft.Json.Linq.JArray"/> contains a specific value. + </summary> + <param name="item">The object to locate in the <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <returns> + <c>true</c> if <paramref name="item"/> is found in the <see cref="T:Newtonsoft.Json.Linq.JArray"/>; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.CopyTo(Newtonsoft.Json.Linq.JToken[],System.Int32)"> + <summary> + Copies the elements of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> to an array, starting at a particular array index. + </summary> + <param name="array">The array.</param> + <param name="arrayIndex">Index of the array.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JArray.IsReadOnly"> + <summary> + Gets a value indicating whether the <see cref="T:Newtonsoft.Json.Linq.JArray"/> is read-only. + </summary> + <returns><c>true</c> if the <see cref="T:Newtonsoft.Json.Linq.JArray"/> is read-only; otherwise, <c>false</c>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Remove(Newtonsoft.Json.Linq.JToken)"> + <summary> + Removes the first occurrence of a specific object from the <see cref="T:Newtonsoft.Json.Linq.JArray"/>. + </summary> + <param name="item">The object to remove from the <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <returns> + <c>true</c> if <paramref name="item"/> was successfully removed from the <see cref="T:Newtonsoft.Json.Linq.JArray"/>; otherwise, <c>false</c>. This method also returns <c>false</c> if <paramref name="item"/> is not found in the original <see cref="T:Newtonsoft.Json.Linq.JArray"/>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Linq.JConstructor"> + <summary> + Represents a JSON constructor. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.WriteToAsync(Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/> asynchronously. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.LoadAsync(Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)"> + <summary> + Asynchronously loads a <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/>.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns> + A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns a <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.LoadAsync(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)"> + <summary> + Asynchronously loads a <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns> + A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns a <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JConstructor.ChildrenTokens"> + <summary> + Gets the container's children tokens. + </summary> + <value>The container's children tokens.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JConstructor.Name"> + <summary> + Gets or sets the name of this constructor. + </summary> + <value>The constructor name.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JConstructor.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(Newtonsoft.Json.Linq.JConstructor)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class from another <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(System.String,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class with the specified name and content. + </summary> + <param name="name">The constructor name.</param> + <param name="content">The contents of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(System.String,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class with the specified name and content. + </summary> + <param name="name">The constructor name.</param> + <param name="content">The contents of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class with the specified name. + </summary> + <param name="name">The constructor name.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JConstructor.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.Load(Newtonsoft.Json.JsonReader)"> + <summary> + Loads a <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.Load(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings)"> + <summary> + Loads a <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="T:Newtonsoft.Json.Linq.JContainer"> + <summary> + Represents a token that can contain other tokens. + </summary> + </member> + <member name="E:Newtonsoft.Json.Linq.JContainer.ListChanged"> + <summary> + Occurs when the list changes or an item in the list changes. + </summary> + </member> + <member name="E:Newtonsoft.Json.Linq.JContainer.AddingNew"> + <summary> + Occurs before an item is added to the collection. + </summary> + </member> + <member name="E:Newtonsoft.Json.Linq.JContainer.CollectionChanged"> + <summary> + Occurs when the items list of the collection has changed, or the collection is reset. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JContainer.ChildrenTokens"> + <summary> + Gets the container's children tokens. + </summary> + <value>The container's children tokens.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.OnAddingNew(System.ComponentModel.AddingNewEventArgs)"> + <summary> + Raises the <see cref="E:Newtonsoft.Json.Linq.JContainer.AddingNew"/> event. + </summary> + <param name="e">The <see cref="T:System.ComponentModel.AddingNewEventArgs"/> instance containing the event data.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.OnListChanged(System.ComponentModel.ListChangedEventArgs)"> + <summary> + Raises the <see cref="E:Newtonsoft.Json.Linq.JContainer.ListChanged"/> event. + </summary> + <param name="e">The <see cref="T:System.ComponentModel.ListChangedEventArgs"/> instance containing the event data.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)"> + <summary> + Raises the <see cref="E:Newtonsoft.Json.Linq.JContainer.CollectionChanged"/> event. + </summary> + <param name="e">The <see cref="T:System.Collections.Specialized.NotifyCollectionChangedEventArgs"/> instance containing the event data.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JContainer.HasValues"> + <summary> + Gets a value indicating whether this token has child tokens. + </summary> + <value> + <c>true</c> if this token has child values; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Linq.JContainer.First"> + <summary> + Get the first child token of this token. + </summary> + <value> + A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the first child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </value> + </member> + <member name="P:Newtonsoft.Json.Linq.JContainer.Last"> + <summary> + Get the last child token of this token. + </summary> + <value> + A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the last child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </value> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Children"> + <summary> + Returns a collection of the child tokens of this token, in document order. + </summary> + <returns> + An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the child tokens of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Values``1"> + <summary> + Returns a collection of the child values of this token, in document order. + </summary> + <typeparam name="T">The type to convert the values to.</typeparam> + <returns> + A <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the child values of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Descendants"> + <summary> + Returns a collection of the descendant tokens for this token in document order. + </summary> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the descendant tokens of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.DescendantsAndSelf"> + <summary> + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + </summary> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing this token, and all the descendant tokens of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Add(System.Object)"> + <summary> + Adds the specified content as children of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="content">The content to be added.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.AddFirst(System.Object)"> + <summary> + Adds the specified content as the first children of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="content">The content to be added.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.CreateWriter"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.JsonWriter"/> that can be used to add tokens to the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <returns>A <see cref="T:Newtonsoft.Json.JsonWriter"/> that is ready to have content written to it.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.ReplaceAll(System.Object)"> + <summary> + Replaces the child nodes of this token with the specified content. + </summary> + <param name="content">The content.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.RemoveAll"> + <summary> + Removes the child nodes from this token. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Merge(System.Object)"> + <summary> + Merge the specified content into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="content">The content to be merged.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Merge(System.Object,Newtonsoft.Json.Linq.JsonMergeSettings)"> + <summary> + Merge the specified content into this <see cref="T:Newtonsoft.Json.Linq.JToken"/> using <see cref="T:Newtonsoft.Json.Linq.JsonMergeSettings"/>. + </summary> + <param name="content">The content to be merged.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonMergeSettings"/> used to merge the content.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JContainer.Count"> + <summary> + Gets the count of child JSON tokens. + </summary> + <value>The count of child JSON tokens.</value> + </member> + <member name="T:Newtonsoft.Json.Linq.JEnumerable`1"> + <summary> + Represents a collection of <see cref="T:Newtonsoft.Json.Linq.JToken"/> objects. + </summary> + <typeparam name="T">The type of token.</typeparam> + </member> + <member name="F:Newtonsoft.Json.Linq.JEnumerable`1.Empty"> + <summary> + An empty collection of <see cref="T:Newtonsoft.Json.Linq.JToken"/> objects. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.#ctor(System.Collections.Generic.IEnumerable{`0})"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> struct. + </summary> + <param name="enumerable">The enumerable.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.GetEnumerator"> + <summary> + Returns an enumerator that can be used to iterate through the collection. + </summary> + <returns> + A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JEnumerable`1.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key. + </summary> + <value></value> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.Equals(Newtonsoft.Json.Linq.JEnumerable{`0})"> + <summary> + Determines whether the specified <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> is equal to this instance. + </summary> + <param name="other">The <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> to compare with this instance.</param> + <returns> + <c>true</c> if the specified <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> is equal to this instance; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.Equals(System.Object)"> + <summary> + Determines whether the specified <see cref="T:System.Object"/> is equal to this instance. + </summary> + <param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param> + <returns> + <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.GetHashCode"> + <summary> + Returns a hash code for this instance. + </summary> + <returns> + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + </returns> + </member> + <member name="T:Newtonsoft.Json.Linq.JObject"> + <summary> + Represents a JSON object. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from Text" /> + </example> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.WriteToAsync(Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/> asynchronously. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.LoadAsync(Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)"> + <summary> + Asynchronously loads a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns> + A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns a <see cref="T:Newtonsoft.Json.Linq.JObject"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.LoadAsync(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)"> + <summary> + Asynchronously loads a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns> + A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns a <see cref="T:Newtonsoft.Json.Linq.JObject"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JObject.ChildrenTokens"> + <summary> + Gets the container's children tokens. + </summary> + <value>The container's children tokens.</value> + </member> + <member name="E:Newtonsoft.Json.Linq.JObject.PropertyChanged"> + <summary> + Occurs when a property value changes. + </summary> + </member> + <member name="E:Newtonsoft.Json.Linq.JObject.PropertyChanging"> + <summary> + Occurs when a property value is changing. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.#ctor(Newtonsoft.Json.Linq.JObject)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class from another <see cref="T:Newtonsoft.Json.Linq.JObject"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JObject"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class with the specified content. + </summary> + <param name="content">The contents of the object.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class with the specified content. + </summary> + <param name="content">The contents of the object.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JObject.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Properties"> + <summary> + Gets an <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JProperty"/> of this object's properties. + </summary> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JProperty"/> of this object's properties.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Property(System.String)"> + <summary> + Gets a <see cref="T:Newtonsoft.Json.Linq.JProperty"/> the specified name. + </summary> + <param name="name">The property name.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> with the specified name or <c>null</c>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.PropertyValues"> + <summary> + Gets a <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> of this object's property values. + </summary> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> of this object's property values.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JObject.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JObject.Item(System.String)"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name. + </summary> + <value></value> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Load(Newtonsoft.Json.JsonReader)"> + <summary> + Loads a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + <exception cref="T:Newtonsoft.Json.JsonReaderException"> + <paramref name="reader"/> is not valid JSON. + </exception> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Load(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings)"> + <summary> + Loads a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + <exception cref="T:Newtonsoft.Json.JsonReaderException"> + <paramref name="reader"/> is not valid JSON. + </exception> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Parse(System.String)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from a string that contains JSON. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> populated from the string that contains JSON.</returns> + <exception cref="T:Newtonsoft.Json.JsonReaderException"> + <paramref name="json"/> is not valid JSON. + </exception> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from Text" /> + </example> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Parse(System.String,Newtonsoft.Json.Linq.JsonLoadSettings)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from a string that contains JSON. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> populated from the string that contains JSON.</returns> + <exception cref="T:Newtonsoft.Json.JsonReaderException"> + <paramref name="json"/> is not valid JSON. + </exception> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from Text" /> + </example> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.FromObject(System.Object)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from an object. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> with the values of the specified object.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.FromObject(System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from an object. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param> + <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used to read the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> with the values of the specified object.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.GetValue(System.String)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name. + </summary> + <param name="propertyName">Name of the property.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.GetValue(System.String,System.StringComparison)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the <see cref="T:System.StringComparison"/> will be used to match a property. + </summary> + <param name="propertyName">Name of the property.</param> + <param name="comparison">One of the enumeration values that specifies how the strings will be compared.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.TryGetValue(System.String,System.StringComparison,Newtonsoft.Json.Linq.JToken@)"> + <summary> + Tries to get the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the <see cref="T:System.StringComparison"/> will be used to match a property. + </summary> + <param name="propertyName">Name of the property.</param> + <param name="value">The value.</param> + <param name="comparison">One of the enumeration values that specifies how the strings will be compared.</param> + <returns><c>true</c> if a value was successfully retrieved; otherwise, <c>false</c>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Add(System.String,Newtonsoft.Json.Linq.JToken)"> + <summary> + Adds the specified property name. + </summary> + <param name="propertyName">Name of the property.</param> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Remove(System.String)"> + <summary> + Removes the property with the specified name. + </summary> + <param name="propertyName">Name of the property.</param> + <returns><c>true</c> if item was successfully removed; otherwise, <c>false</c>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.TryGetValue(System.String,Newtonsoft.Json.Linq.JToken@)"> + <summary> + Tries to get the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name. + </summary> + <param name="propertyName">Name of the property.</param> + <param name="value">The value.</param> + <returns><c>true</c> if a value was successfully retrieved; otherwise, <c>false</c>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.GetEnumerator"> + <summary> + Returns an enumerator that can be used to iterate through the collection. + </summary> + <returns> + A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.OnPropertyChanged(System.String)"> + <summary> + Raises the <see cref="E:Newtonsoft.Json.Linq.JObject.PropertyChanged"/> event with the provided arguments. + </summary> + <param name="propertyName">Name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.OnPropertyChanging(System.String)"> + <summary> + Raises the <see cref="E:Newtonsoft.Json.Linq.JObject.PropertyChanging"/> event with the provided arguments. + </summary> + <param name="propertyName">Name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.GetMetaObject(System.Linq.Expressions.Expression)"> + <summary> + Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object. + </summary> + <param name="parameter">The expression tree representation of the runtime value.</param> + <returns> + The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object. + </returns> + </member> + <member name="T:Newtonsoft.Json.Linq.JProperty"> + <summary> + Represents a JSON property. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.WriteToAsync(Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/> asynchronously. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.LoadAsync(Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)"> + <summary> + Asynchronously loads a <see cref="T:Newtonsoft.Json.Linq.JProperty"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/>.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns a <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.LoadAsync(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)"> + <summary> + Asynchronously loads a <see cref="T:Newtonsoft.Json.Linq.JProperty"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns a <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JProperty.ChildrenTokens"> + <summary> + Gets the container's children tokens. + </summary> + <value>The container's children tokens.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JProperty.Name"> + <summary> + Gets the property name. + </summary> + <value>The property name.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JProperty.Value"> + <summary> + Gets or sets the property value. + </summary> + <value>The property value.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.#ctor(Newtonsoft.Json.Linq.JProperty)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/> class from another <see cref="T:Newtonsoft.Json.Linq.JProperty"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> object to copy from.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JProperty.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.#ctor(System.String,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/> class. + </summary> + <param name="name">The property name.</param> + <param name="content">The property content.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.#ctor(System.String,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/> class. + </summary> + <param name="name">The property name.</param> + <param name="content">The property content.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.Load(Newtonsoft.Json.JsonReader)"> + <summary> + Loads a <see cref="T:Newtonsoft.Json.Linq.JProperty"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.Load(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings)"> + <summary> + Loads a <see cref="T:Newtonsoft.Json.Linq.JProperty"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="T:Newtonsoft.Json.Linq.JRaw"> + <summary> + Represents a raw JSON string. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JRaw.CreateAsync(Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)"> + <summary> + Asynchronously creates an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token. + </summary> + <param name="reader">The reader.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JRaw.#ctor(Newtonsoft.Json.Linq.JRaw)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JRaw"/> class from another <see cref="T:Newtonsoft.Json.Linq.JRaw"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JRaw"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JRaw.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JRaw"/> class. + </summary> + <param name="rawJson">The raw json.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JRaw.Create(Newtonsoft.Json.JsonReader)"> + <summary> + Creates an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token. + </summary> + <param name="reader">The reader.</param> + <returns>An instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns> + </member> + <member name="T:Newtonsoft.Json.Linq.JsonMergeSettings"> + <summary> + Specifies the settings used when merging JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JsonMergeSettings.MergeArrayHandling"> + <summary> + Gets or sets the method used when merging JSON arrays. + </summary> + <value>The method used when merging JSON arrays.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JsonMergeSettings.MergeNullValueHandling"> + <summary> + Gets or sets how null value properties are merged. + </summary> + <value>How null value properties are merged.</value> + </member> + <member name="T:Newtonsoft.Json.Linq.JPropertyDescriptor"> + <summary> + Represents a view of a <see cref="T:Newtonsoft.Json.Linq.JProperty"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JPropertyDescriptor"/> class. + </summary> + <param name="name">The name.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.CanResetValue(System.Object)"> + <summary> + When overridden in a derived class, returns whether resetting an object changes its value. + </summary> + <returns> + <c>true</c> if resetting the component changes its value; otherwise, <c>false</c>. + </returns> + <param name="component">The component to test for reset capability.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.GetValue(System.Object)"> + <summary> + When overridden in a derived class, gets the current value of the property on a component. + </summary> + <returns> + The value of a property for a given component. + </returns> + <param name="component">The component with the property for which to retrieve the value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.ResetValue(System.Object)"> + <summary> + When overridden in a derived class, resets the value for this property of the component to the default value. + </summary> + <param name="component">The component with the property value that is to be reset to the default value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.SetValue(System.Object,System.Object)"> + <summary> + When overridden in a derived class, sets the value of the component to a different value. + </summary> + <param name="component">The component with the property value that is to be set.</param> + <param name="value">The new value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.ShouldSerializeValue(System.Object)"> + <summary> + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + </summary> + <returns> + <c>true</c> if the property should be persisted; otherwise, <c>false</c>. + </returns> + <param name="component">The component with the property to be examined for persistence.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.ComponentType"> + <summary> + When overridden in a derived class, gets the type of the component this property is bound to. + </summary> + <returns> + A <see cref="T:System.Type"/> that represents the type of component this property is bound to. + When the <see cref="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)"/> or + <see cref="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)"/> + methods are invoked, the object specified might be an instance of this type. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.IsReadOnly"> + <summary> + When overridden in a derived class, gets a value indicating whether this property is read-only. + </summary> + <returns> + <c>true</c> if the property is read-only; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.PropertyType"> + <summary> + When overridden in a derived class, gets the type of the property. + </summary> + <returns> + A <see cref="T:System.Type"/> that represents the type of the property. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.NameHashCode"> + <summary> + Gets the hash code for the name of the member. + </summary> + <value></value> + <returns> + The hash code for the name of the member. + </returns> + </member> + <member name="T:Newtonsoft.Json.Linq.JToken"> + <summary> + Represents an abstract JSON token. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.WriteToAsync(Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/> asynchronously. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.WriteToAsync(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/> asynchronously. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ReadFromAsync(Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)"> + <summary> + Asynchronously creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">An <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns> + A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous creation. The + <see cref="P:System.Threading.Tasks.Task`1.Result"/> property returns a <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ReadFromAsync(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)"> + <summary> + Asynchronously creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">An <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns> + A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous creation. The + <see cref="P:System.Threading.Tasks.Task`1.Result"/> property returns a <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.LoadAsync(Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)"> + <summary> + Asynchronously creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns> + A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns a <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.LoadAsync(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)"> + <summary> + Asynchronously creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param> + <returns> + A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> + property returns a <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.EqualityComparer"> + <summary> + Gets a comparer that can compare two tokens for value equality. + </summary> + <value>A <see cref="T:Newtonsoft.Json.Linq.JTokenEqualityComparer"/> that can compare two nodes for value equality.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Parent"> + <summary> + Gets or sets the parent. + </summary> + <value>The parent.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Root"> + <summary> + Gets the root <see cref="T:Newtonsoft.Json.Linq.JToken"/> of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The root <see cref="T:Newtonsoft.Json.Linq.JToken"/> of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.HasValues"> + <summary> + Gets a value indicating whether this token has child tokens. + </summary> + <value> + <c>true</c> if this token has child values; otherwise, <c>false</c>. + </value> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.DeepEquals(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)"> + <summary> + Compares the values of two tokens, including the values of all descendant tokens. + </summary> + <param name="t1">The first <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param> + <param name="t2">The second <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param> + <returns><c>true</c> if the tokens are equal; otherwise <c>false</c>.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Next"> + <summary> + Gets the next sibling token of this node. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the next sibling token.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Previous"> + <summary> + Gets the previous sibling token of this node. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the previous sibling token.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Path"> + <summary> + Gets the path of the JSON token. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.AddAfterSelf(System.Object)"> + <summary> + Adds the specified content immediately after this token. + </summary> + <param name="content">A content object that contains simple content or a collection of content objects to be added after this token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.AddBeforeSelf(System.Object)"> + <summary> + Adds the specified content immediately before this token. + </summary> + <param name="content">A content object that contains simple content or a collection of content objects to be added before this token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Ancestors"> + <summary> + Returns a collection of the ancestor tokens of this token. + </summary> + <returns>A collection of the ancestor tokens of this token.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.AncestorsAndSelf"> + <summary> + Returns a collection of tokens that contain this token, and the ancestors of this token. + </summary> + <returns>A collection of tokens that contain this token, and the ancestors of this token.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.AfterSelf"> + <summary> + Returns a collection of the sibling tokens after this token, in document order. + </summary> + <returns>A collection of the sibling tokens after this tokens, in document order.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.BeforeSelf"> + <summary> + Returns a collection of the sibling tokens before this token, in document order. + </summary> + <returns>A collection of the sibling tokens before this token, in document order.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Value``1(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key converted to the specified type. + </summary> + <typeparam name="T">The type to convert the token to.</typeparam> + <param name="key">The token key.</param> + <returns>The converted token value.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.First"> + <summary> + Get the first child token of this token. + </summary> + <value>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the first child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Last"> + <summary> + Get the last child token of this token. + </summary> + <value>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the last child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Children"> + <summary> + Returns a collection of the child tokens of this token, in document order. + </summary> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the child tokens of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Children``1"> + <summary> + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + </summary> + <typeparam name="T">The type to filter the child tokens on.</typeparam> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> containing the child tokens of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Values``1"> + <summary> + Returns a collection of the child values of this token, in document order. + </summary> + <typeparam name="T">The type to convert the values to.</typeparam> + <returns>A <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the child values of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Remove"> + <summary> + Removes this token from its parent. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Replace(Newtonsoft.Json.Linq.JToken)"> + <summary> + Replaces this token with the specified token. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToString"> + <summary> + Returns the indented JSON for this token. + </summary> + <returns> + The indented JSON for this token. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToString(Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[])"> + <summary> + Returns the JSON for this token using the given formatting and converters. + </summary> + <param name="formatting">Indicates how the output should be formatted.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>s which will be used when writing the token.</param> + <returns>The JSON for this token using the given formatting and converters.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Boolean"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Boolean"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.DateTimeOffset"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.DateTimeOffset"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Boolean}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Int64"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.DateTime}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.DateTimeOffset}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Decimal}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Double}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Char}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Int32"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Int32"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Int16"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Int16"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.UInt16"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt16"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Char"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Char"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Byte"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Byte"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.SByte"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.SByte"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int32}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> . + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int16}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt16}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Byte}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.SByte}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.DateTime"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int64}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Single}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Decimal"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Decimal"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt32}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt64}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Double"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Double"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Single"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Single"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.String"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.String"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.UInt32"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt32"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.UInt64"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt64"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Byte[]"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Byte"/>[]. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Guid"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Guid"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Guid}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> . + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.TimeSpan"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.TimeSpan"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.TimeSpan}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Uri"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Uri"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Boolean)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Boolean"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.DateTimeOffset)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.DateTimeOffset"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Byte)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Byte"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Byte})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.SByte)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.SByte"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.SByte})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Boolean})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int64)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.DateTime})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.DateTimeOffset})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Decimal})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Double})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int16)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Int16"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt16)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.UInt16"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int32)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Int32"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int32})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.DateTime)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.DateTime"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int64})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Single})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Decimal)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Decimal"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int16})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt16})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt32})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt64})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Double)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Double"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Single)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Single"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.String)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.String"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt32)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.UInt32"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt64)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.UInt64"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Byte[])~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Byte"/>[] to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Uri)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Uri"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.TimeSpan)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.TimeSpan"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.TimeSpan})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Guid)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Guid"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Guid})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.CreateReader"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.JsonReader"/> for this token. + </summary> + <returns>A <see cref="T:Newtonsoft.Json.JsonReader"/> that can be used to read this token and its descendants.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.FromObject(System.Object)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from an object. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the value of the specified object.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.FromObject(System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from an object using the specified <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used when reading the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the value of the specified object.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToObject``1"> + <summary> + Creates an instance of the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <typeparam name="T">The object type that the token will be deserialized to.</typeparam> + <returns>The new object created from the JSON value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToObject(System.Type)"> + <summary> + Creates an instance of the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="objectType">The object type that the token will be deserialized to.</param> + <returns>The new object created from the JSON value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToObject``1(Newtonsoft.Json.JsonSerializer)"> + <summary> + Creates an instance of the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/> using the specified <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <typeparam name="T">The object type that the token will be deserialized to.</typeparam> + <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used when creating the object.</param> + <returns>The new object created from the JSON value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToObject(System.Type,Newtonsoft.Json.JsonSerializer)"> + <summary> + Creates an instance of the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/> using the specified <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <param name="objectType">The object type that the token will be deserialized to.</param> + <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used when creating the object.</param> + <returns>The new object created from the JSON value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ReadFrom(Newtonsoft.Json.JsonReader)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <returns> + A <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ReadFrom(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">An <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <returns> + A <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Parse(System.String)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a string that contains JSON. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> populated from the string that contains JSON.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Parse(System.String,Newtonsoft.Json.Linq.JsonLoadSettings)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a string that contains JSON. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> populated from the string that contains JSON.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Load(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Linq.JsonLoadSettings)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON. + If this is <c>null</c>, default load settings will be used.</param> + <returns> + A <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Load(Newtonsoft.Json.JsonReader)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <returns> + A <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String)"> + <summary> + Selects a <see cref="T:Newtonsoft.Json.Linq.JToken"/> using a JPath expression. Selects the token that matches the object path. + </summary> + <param name="path"> + A <see cref="T:System.String"/> that contains a JPath expression. + </param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/>, or <c>null</c>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String,System.Boolean)"> + <summary> + Selects a <see cref="T:Newtonsoft.Json.Linq.JToken"/> using a JPath expression. Selects the token that matches the object path. + </summary> + <param name="path"> + A <see cref="T:System.String"/> that contains a JPath expression. + </param> + <param name="errorWhenNoMatch">A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.SelectTokens(System.String)"> + <summary> + Selects a collection of elements using a JPath expression. + </summary> + <param name="path"> + A <see cref="T:System.String"/> that contains a JPath expression. + </param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the selected elements.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.SelectTokens(System.String,System.Boolean)"> + <summary> + Selects a collection of elements using a JPath expression. + </summary> + <param name="path"> + A <see cref="T:System.String"/> that contains a JPath expression. + </param> + <param name="errorWhenNoMatch">A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the selected elements.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.GetMetaObject(System.Linq.Expressions.Expression)"> + <summary> + Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object. + </summary> + <param name="parameter">The expression tree representation of the runtime value.</param> + <returns> + The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.System#Dynamic#IDynamicMetaObjectProvider#GetMetaObject(System.Linq.Expressions.Expression)"> + <summary> + Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object. + </summary> + <param name="parameter">The expression tree representation of the runtime value.</param> + <returns> + The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.DeepClone"> + <summary> + Creates a new instance of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. All child tokens are recursively cloned. + </summary> + <returns>A new instance of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.AddAnnotation(System.Object)"> + <summary> + Adds an object to the annotation list of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="annotation">The annotation to add.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Annotation``1"> + <summary> + Get the first annotation object of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <typeparam name="T">The type of the annotation to retrieve.</typeparam> + <returns>The first annotation object that matches the specified type, or <c>null</c> if no annotation is of the specified type.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Annotation(System.Type)"> + <summary> + Gets the first annotation object of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="type">The <see cref="P:Newtonsoft.Json.Linq.JToken.Type"/> of the annotation to retrieve.</param> + <returns>The first annotation object that matches the specified type, or <c>null</c> if no annotation is of the specified type.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Annotations``1"> + <summary> + Gets a collection of annotations of the specified type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <typeparam name="T">The type of the annotations to retrieve.</typeparam> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the annotations for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Annotations(System.Type)"> + <summary> + Gets a collection of annotations of the specified type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="type">The <see cref="P:Newtonsoft.Json.Linq.JToken.Type"/> of the annotations to retrieve.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Object"/> that contains the annotations that match the specified type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.RemoveAnnotations``1"> + <summary> + Removes the annotations of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <typeparam name="T">The type of annotations to remove.</typeparam> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.RemoveAnnotations(System.Type)"> + <summary> + Removes the annotations of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="type">The <see cref="P:Newtonsoft.Json.Linq.JToken.Type"/> of annotations to remove.</param> + </member> + <member name="T:Newtonsoft.Json.Linq.JTokenEqualityComparer"> + <summary> + Compares tokens to determine whether they are equal. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenEqualityComparer.Equals(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)"> + <summary> + Determines whether the specified objects are equal. + </summary> + <param name="x">The first object of type <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param> + <param name="y">The second object of type <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param> + <returns> + <c>true</c> if the specified objects are equal; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenEqualityComparer.GetHashCode(Newtonsoft.Json.Linq.JToken)"> + <summary> + Returns a hash code for the specified object. + </summary> + <param name="obj">The <see cref="T:System.Object"/> for which a hash code is to be returned.</param> + <returns>A hash code for the specified object.</returns> + <exception cref="T:System.ArgumentNullException">The type of <paramref name="obj"/> is a reference type and <paramref name="obj"/> is <c>null</c>.</exception> + </member> + <member name="T:Newtonsoft.Json.Linq.JTokenReader"> + <summary> + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JTokenReader.CurrentToken"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> at the reader's current position. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenReader.#ctor(Newtonsoft.Json.Linq.JToken)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JTokenReader"/> class. + </summary> + <param name="token">The token to read from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenReader.Read"> + <summary> + Reads the next JSON token from the underlying <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <returns> + <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JTokenReader.Path"> + <summary> + Gets the path of the current JSON token. + </summary> + </member> + <member name="T:Newtonsoft.Json.Linq.JTokenType"> + <summary> + Specifies the type of token. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.None"> + <summary> + No token type has been set. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Object"> + <summary> + A JSON object. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Array"> + <summary> + A JSON array. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Constructor"> + <summary> + A JSON constructor. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Property"> + <summary> + A JSON object property. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Comment"> + <summary> + A comment. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Integer"> + <summary> + An integer value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Float"> + <summary> + A float value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.String"> + <summary> + A string value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Boolean"> + <summary> + A boolean value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Null"> + <summary> + A null value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Undefined"> + <summary> + An undefined value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Date"> + <summary> + A date value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Raw"> + <summary> + A raw JSON value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Bytes"> + <summary> + A collection of bytes value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Guid"> + <summary> + A Guid value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Uri"> + <summary> + A Uri value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.TimeSpan"> + <summary> + A TimeSpan value. + </summary> + </member> + <member name="T:Newtonsoft.Json.Linq.JTokenWriter"> + <summary> + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JTokenWriter.CurrentToken"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> at the writer's current position. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JTokenWriter.Token"> + <summary> + Gets the token being written. + </summary> + <value>The token being written.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.#ctor(Newtonsoft.Json.Linq.JContainer)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JTokenWriter"/> class writing to the given <see cref="T:Newtonsoft.Json.Linq.JContainer"/>. + </summary> + <param name="container">The container being written to.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JTokenWriter"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.Flush"> + <summary> + Flushes whatever is in the buffer to the underlying <see cref="T:Newtonsoft.Json.Linq.JContainer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.Close"> + <summary> + Closes this writer. + If <see cref="P:Newtonsoft.Json.JsonWriter.AutoCompleteOnClose"/> is set to <c>true</c>, the JSON is auto-completed. + </summary> + <remarks> + Setting <see cref="P:Newtonsoft.Json.JsonWriter.CloseOutput"/> to <c>true</c> has no additional effect, since the underlying <see cref="T:Newtonsoft.Json.Linq.JContainer"/> is a type that cannot be closed. + </remarks> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartObject"> + <summary> + Writes the beginning of a JSON object. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartArray"> + <summary> + Writes the beginning of a JSON array. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartConstructor(System.String)"> + <summary> + Writes the start of a constructor with the given name. + </summary> + <param name="name">The name of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteEnd(Newtonsoft.Json.JsonToken)"> + <summary> + Writes the end. + </summary> + <param name="token">The token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WritePropertyName(System.String)"> + <summary> + Writes the property name of a name/value pair on a JSON object. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Object)"> + <summary> + Writes a <see cref="T:System.Object"/> value. + An error will be raised if the value cannot be written as a single JSON token. + </summary> + <param name="value">The <see cref="T:System.Object"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteNull"> + <summary> + Writes a null value. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteUndefined"> + <summary> + Writes an undefined value. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteRaw(System.String)"> + <summary> + Writes raw JSON. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteComment(System.String)"> + <summary> + Writes a comment <c>/*...*/</c> containing the specified text. + </summary> + <param name="text">Text to place inside the comment.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.String)"> + <summary> + Writes a <see cref="T:System.String"/> value. + </summary> + <param name="value">The <see cref="T:System.String"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int32)"> + <summary> + Writes a <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Int32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt32)"> + <summary> + Writes a <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int64)"> + <summary> + Writes a <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Int64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt64)"> + <summary> + Writes a <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Single)"> + <summary> + Writes a <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Single"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Double)"> + <summary> + Writes a <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Double"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Boolean)"> + <summary> + Writes a <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Boolean"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int16)"> + <summary> + Writes a <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Int16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt16)"> + <summary> + Writes a <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Char)"> + <summary> + Writes a <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Char"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Byte)"> + <summary> + Writes a <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Byte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.SByte)"> + <summary> + Writes a <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.SByte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Decimal)"> + <summary> + Writes a <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Decimal"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.DateTime)"> + <summary> + Writes a <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTime"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.DateTimeOffset)"> + <summary> + Writes a <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Byte[])"> + <summary> + Writes a <see cref="T:System.Byte"/>[] value. + </summary> + <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.TimeSpan)"> + <summary> + Writes a <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Guid)"> + <summary> + Writes a <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Guid"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Uri)"> + <summary> + Writes a <see cref="T:System.Uri"/> value. + </summary> + <param name="value">The <see cref="T:System.Uri"/> value to write.</param> + </member> + <member name="T:Newtonsoft.Json.Linq.JValue"> + <summary> + Represents a value in JSON (string, integer, date, etc). + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.WriteToAsync(Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/> asynchronously. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="cancellationToken">The token to monitor for cancellation requests.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(Newtonsoft.Json.Linq.JValue)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class from another <see cref="T:Newtonsoft.Json.Linq.JValue"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JValue"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Int64)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Decimal)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Char)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.UInt64)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Double)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Single)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.DateTime)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.DateTimeOffset)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Guid)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Uri)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.TimeSpan)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JValue.HasValues"> + <summary> + Gets a value indicating whether this token has child tokens. + </summary> + <value> + <c>true</c> if this token has child values; otherwise, <c>false</c>. + </value> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.CreateComment(System.String)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> comment with the given value. + </summary> + <param name="value">The value.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> comment with the given value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.CreateString(System.String)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> string with the given value. + </summary> + <param name="value">The value.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> string with the given value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.CreateNull"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> null value. + </summary> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> null value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.CreateUndefined"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> undefined value. + </summary> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> undefined value.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JValue.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JValue.Value"> + <summary> + Gets or sets the underlying token value. + </summary> + <value>The underlying token value.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>s which will be used when writing the token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.Equals(Newtonsoft.Json.Linq.JValue)"> + <summary> + Indicates whether the current object is equal to another object of the same type. + </summary> + <returns> + <c>true</c> if the current object is equal to the <paramref name="other"/> parameter; otherwise, <c>false</c>. + </returns> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.Equals(System.Object)"> + <summary> + Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>. + </summary> + <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>.</param> + <returns> + <c>true</c> if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.GetHashCode"> + <summary> + Serves as a hash function for a particular type. + </summary> + <returns> + A hash code for the current <see cref="T:System.Object"/>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.ToString(System.String)"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <param name="format">The format.</param> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.ToString(System.IFormatProvider)"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <param name="formatProvider">The format provider.</param> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.ToString(System.String,System.IFormatProvider)"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <param name="format">The format.</param> + <param name="formatProvider">The format provider.</param> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.GetMetaObject(System.Linq.Expressions.Expression)"> + <summary> + Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object. + </summary> + <param name="parameter">The expression tree representation of the runtime value.</param> + <returns> + The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.CompareTo(Newtonsoft.Json.Linq.JValue)"> + <summary> + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + </summary> + <param name="obj">An object to compare with this instance.</param> + <returns> + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than <paramref name="obj"/>. + Zero + This instance is equal to <paramref name="obj"/>. + Greater than zero + This instance is greater than <paramref name="obj"/>. + </returns> + <exception cref="T:System.ArgumentException"> + <paramref name="obj"/> is not of the same type as this instance. + </exception> + </member> + <member name="T:Newtonsoft.Json.Linq.JsonLoadSettings"> + <summary> + Specifies the settings used when loading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JsonLoadSettings.CommentHandling"> + <summary> + Gets or sets how JSON comments are handled when loading JSON. + </summary> + <value>The JSON comment handling.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JsonLoadSettings.LineInfoHandling"> + <summary> + Gets or sets how JSON line info is handled when loading JSON. + </summary> + <value>The JSON line info handling.</value> + </member> + <member name="T:Newtonsoft.Json.Linq.MergeArrayHandling"> + <summary> + Specifies how JSON arrays are merged together. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Concat"> + <summary>Concatenate arrays.</summary> + </member> + <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Union"> + <summary>Union arrays, skipping items that already exist.</summary> + </member> + <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Replace"> + <summary>Replace all array items.</summary> + </member> + <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Merge"> + <summary>Merge array items together, matched by index.</summary> + </member> + <member name="T:Newtonsoft.Json.Linq.MergeNullValueHandling"> + <summary> + Specifies how null value properties are merged. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.MergeNullValueHandling.Ignore"> + <summary> + The content's null value properties will be ignored during merging. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.MergeNullValueHandling.Merge"> + <summary> + The content's null value properties will be merged. + </summary> + </member> + <member name="T:Newtonsoft.Json.MemberSerialization"> + <summary> + Specifies the member serialization options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.MemberSerialization.OptOut"> + <summary> + All public members are serialized by default. Members can be excluded using <see cref="T:Newtonsoft.Json.JsonIgnoreAttribute"/> or <see cref="T:System.NonSerializedAttribute"/>. + This is the default member serialization mode. + </summary> + </member> + <member name="F:Newtonsoft.Json.MemberSerialization.OptIn"> + <summary> + Only members marked with <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/> or <see cref="T:System.Runtime.Serialization.DataMemberAttribute"/> are serialized. + This member serialization mode can also be set by marking the class with <see cref="T:System.Runtime.Serialization.DataContractAttribute"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.MemberSerialization.Fields"> + <summary> + All public and private fields are serialized. Members can be excluded using <see cref="T:Newtonsoft.Json.JsonIgnoreAttribute"/> or <see cref="T:System.NonSerializedAttribute"/>. + This member serialization mode can also be set by marking the class with <see cref="T:System.SerializableAttribute"/> + and setting IgnoreSerializableAttribute on <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> to <c>false</c>. + </summary> + </member> + <member name="T:Newtonsoft.Json.MetadataPropertyHandling"> + <summary> + Specifies metadata property handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.MetadataPropertyHandling.Default"> + <summary> + Read metadata properties located at the start of a JSON object. + </summary> + </member> + <member name="F:Newtonsoft.Json.MetadataPropertyHandling.ReadAhead"> + <summary> + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + </summary> + </member> + <member name="F:Newtonsoft.Json.MetadataPropertyHandling.Ignore"> + <summary> + Do not try to read metadata properties. + </summary> + </member> + <member name="T:Newtonsoft.Json.MissingMemberHandling"> + <summary> + Specifies missing member handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.MissingMemberHandling.Ignore"> + <summary> + Ignore a missing member and do not attempt to deserialize it. + </summary> + </member> + <member name="F:Newtonsoft.Json.MissingMemberHandling.Error"> + <summary> + Throw a <see cref="T:Newtonsoft.Json.JsonSerializationException"/> when a missing member is encountered during deserialization. + </summary> + </member> + <member name="T:Newtonsoft.Json.NullValueHandling"> + <summary> + Specifies null value handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeNullValueHandlingObject" title="NullValueHandling Class" /> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeNullValueHandlingExample" title="NullValueHandling Ignore Example" /> + </example> + </member> + <member name="F:Newtonsoft.Json.NullValueHandling.Include"> + <summary> + Include null values when serializing and deserializing objects. + </summary> + </member> + <member name="F:Newtonsoft.Json.NullValueHandling.Ignore"> + <summary> + Ignore null values when serializing and deserializing objects. + </summary> + </member> + <member name="T:Newtonsoft.Json.ObjectCreationHandling"> + <summary> + Specifies how object creation is handled by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.ObjectCreationHandling.Auto"> + <summary> + Reuse existing objects, create new objects when needed. + </summary> + </member> + <member name="F:Newtonsoft.Json.ObjectCreationHandling.Reuse"> + <summary> + Only reuse existing objects. + </summary> + </member> + <member name="F:Newtonsoft.Json.ObjectCreationHandling.Replace"> + <summary> + Always create new objects. + </summary> + </member> + <member name="T:Newtonsoft.Json.PreserveReferencesHandling"> + <summary> + Specifies reference handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement <see cref="T:System.Runtime.Serialization.ISerializable"/>. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="PreservingObjectReferencesOn" title="Preserve Object References" /> + </example> + </member> + <member name="F:Newtonsoft.Json.PreserveReferencesHandling.None"> + <summary> + Do not preserve references when serializing types. + </summary> + </member> + <member name="F:Newtonsoft.Json.PreserveReferencesHandling.Objects"> + <summary> + Preserve references when serializing into a JSON object structure. + </summary> + </member> + <member name="F:Newtonsoft.Json.PreserveReferencesHandling.Arrays"> + <summary> + Preserve references when serializing into a JSON array structure. + </summary> + </member> + <member name="F:Newtonsoft.Json.PreserveReferencesHandling.All"> + <summary> + Preserve references when serializing. + </summary> + </member> + <member name="T:Newtonsoft.Json.ReferenceLoopHandling"> + <summary> + Specifies reference loop handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.ReferenceLoopHandling.Error"> + <summary> + Throw a <see cref="T:Newtonsoft.Json.JsonSerializationException"/> when a loop is encountered. + </summary> + </member> + <member name="F:Newtonsoft.Json.ReferenceLoopHandling.Ignore"> + <summary> + Ignore loop references and do not serialize. + </summary> + </member> + <member name="F:Newtonsoft.Json.ReferenceLoopHandling.Serialize"> + <summary> + Serialize loop references. + </summary> + </member> + <member name="T:Newtonsoft.Json.Required"> + <summary> + Indicating whether a property is required. + </summary> + </member> + <member name="F:Newtonsoft.Json.Required.Default"> + <summary> + The property is not required. The default state. + </summary> + </member> + <member name="F:Newtonsoft.Json.Required.AllowNull"> + <summary> + The property must be defined in JSON but can be a null value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Required.Always"> + <summary> + The property must be defined in JSON and cannot be a null value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Required.DisallowNull"> + <summary> + The property is not required but it cannot be a null value. + </summary> + </member> + <member name="T:Newtonsoft.Json.Schema.Extensions"> + <summary> + <para> + Contains the JSON schema extension methods. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)"> + <summary> + <para> + Determines whether the <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param> + <param name="schema">The schema to test with.</param> + <returns> + <c>true</c> if the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema,System.Collections.Generic.IList{System.String}@)"> + <summary> + <para> + Determines whether the <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param> + <param name="schema">The schema to test with.</param> + <param name="errorMessages">When this method returns, contains any error messages generated while validating. </param> + <returns> + <c>true</c> if the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Schema.Extensions.Validate(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)"> + <summary> + <para> + Validates the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param> + <param name="schema">The schema to test with.</param> + </member> + <member name="M:Newtonsoft.Json.Schema.Extensions.Validate(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema,Newtonsoft.Json.Schema.ValidationEventHandler)"> + <summary> + <para> + Validates the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param> + <param name="schema">The schema to test with.</param> + <param name="validationEventHandler">The validation event handler.</param> + </member> + <member name="T:Newtonsoft.Json.Schema.JsonSchema"> + <summary> + <para> + An in-memory representation of a JSON Schema. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Id"> + <summary> + Gets or sets the id. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Title"> + <summary> + Gets or sets the title. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Required"> + <summary> + Gets or sets whether the object is required. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.ReadOnly"> + <summary> + Gets or sets whether the object is read-only. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Hidden"> + <summary> + Gets or sets whether the object is visible to users. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Transient"> + <summary> + Gets or sets whether the object is transient. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Description"> + <summary> + Gets or sets the description of the object. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Type"> + <summary> + Gets or sets the types of values allowed by the object. + </summary> + <value>The type.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Pattern"> + <summary> + Gets or sets the pattern. + </summary> + <value>The pattern.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.MinimumLength"> + <summary> + Gets or sets the minimum length. + </summary> + <value>The minimum length.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.MaximumLength"> + <summary> + Gets or sets the maximum length. + </summary> + <value>The maximum length.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.DivisibleBy"> + <summary> + Gets or sets a number that the value should be divisible by. + </summary> + <value>A number that the value should be divisible by.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Minimum"> + <summary> + Gets or sets the minimum. + </summary> + <value>The minimum.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Maximum"> + <summary> + Gets or sets the maximum. + </summary> + <value>The maximum.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.ExclusiveMinimum"> + <summary> + Gets or sets a flag indicating whether the value can not equal the number defined by the <c>minimum</c> attribute (<see cref="P:Newtonsoft.Json.Schema.JsonSchema.Minimum"/>). + </summary> + <value>A flag indicating whether the value can not equal the number defined by the <c>minimum</c> attribute (<see cref="P:Newtonsoft.Json.Schema.JsonSchema.Minimum"/>).</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.ExclusiveMaximum"> + <summary> + Gets or sets a flag indicating whether the value can not equal the number defined by the <c>maximum</c> attribute (<see cref="P:Newtonsoft.Json.Schema.JsonSchema.Maximum"/>). + </summary> + <value>A flag indicating whether the value can not equal the number defined by the <c>maximum</c> attribute (<see cref="P:Newtonsoft.Json.Schema.JsonSchema.Maximum"/>).</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.MinimumItems"> + <summary> + Gets or sets the minimum number of items. + </summary> + <value>The minimum number of items.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.MaximumItems"> + <summary> + Gets or sets the maximum number of items. + </summary> + <value>The maximum number of items.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Items"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of items. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of items.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.PositionalItemsValidation"> + <summary> + Gets or sets a value indicating whether items in an array are validated using the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> instance at their array position from <see cref="P:Newtonsoft.Json.Schema.JsonSchema.Items"/>. + </summary> + <value> + <c>true</c> if items are validated using their array position; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.AdditionalItems"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional items. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional items.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.AllowAdditionalItems"> + <summary> + Gets or sets a value indicating whether additional items are allowed. + </summary> + <value> + <c>true</c> if additional items are allowed; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.UniqueItems"> + <summary> + Gets or sets whether the array items must be unique. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Properties"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of properties. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of properties.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.AdditionalProperties"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional properties. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional properties.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.PatternProperties"> + <summary> + Gets or sets the pattern properties. + </summary> + <value>The pattern properties.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.AllowAdditionalProperties"> + <summary> + Gets or sets a value indicating whether additional properties are allowed. + </summary> + <value> + <c>true</c> if additional properties are allowed; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Requires"> + <summary> + Gets or sets the required property if this property is present. + </summary> + <value>The required property if this property is present.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Enum"> + <summary> + Gets or sets the a collection of valid enum values allowed. + </summary> + <value>A collection of valid enum values allowed.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Disallow"> + <summary> + Gets or sets disallowed types. + </summary> + <value>The disallowed types.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Default"> + <summary> + Gets or sets the default value. + </summary> + <value>The default value.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Extends"> + <summary> + Gets or sets the collection of <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> that this schema extends. + </summary> + <value>The collection of <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> that this schema extends.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Format"> + <summary> + Gets or sets the format. + </summary> + <value>The format.</value> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.Read(Newtonsoft.Json.JsonReader)"> + <summary> + Reads a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the JSON Schema to read.</param> + <returns>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> object representing the JSON Schema.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.Read(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Schema.JsonSchemaResolver)"> + <summary> + Reads a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the JSON Schema to read.</param> + <param name="resolver">The <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> to use when resolving schema references.</param> + <returns>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> object representing the JSON Schema.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.Parse(System.String)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from a string that contains JSON Schema. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON Schema.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> populated from the string that contains JSON Schema.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.Parse(System.String,Newtonsoft.Json.Schema.JsonSchemaResolver)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from a string that contains JSON Schema using the specified <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/>. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON Schema.</param> + <param name="resolver">The resolver.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> populated from the string that contains JSON Schema.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.WriteTo(Newtonsoft.Json.JsonWriter)"> + <summary> + Writes this schema to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.Schema.JsonSchemaResolver)"> + <summary> + Writes this schema to a <see cref="T:Newtonsoft.Json.JsonWriter"/> using the specified <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="resolver">The resolver used.</param> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>. + </summary> + <returns> + A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Schema.JsonSchemaException"> + <summary> + <para> + Returns detailed information about the schema exception. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaException.LineNumber"> + <summary> + Gets the line number indicating where the error occurred. + </summary> + <value>The line number indicating where the error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaException.LinePosition"> + <summary> + Gets the line position indicating where the error occurred. + </summary> + <value>The line position indicating where the error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaException.Path"> + <summary> + Gets the path to the JSON where the error occurred. + </summary> + <value>The path to the JSON where the error occurred.</value> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class + with a specified error message. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class + with a specified error message and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param> + </member> + <member name="T:Newtonsoft.Json.Schema.JsonSchemaGenerator"> + <summary> + <para> + Generates a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from a specified <see cref="T:System.Type"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaGenerator.UndefinedSchemaIdHandling"> + <summary> + Gets or sets how undefined schemas are handled by the serializer. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaGenerator.ContractResolver"> + <summary> + Gets or sets the contract resolver. + </summary> + <value>The contract resolver.</value> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type)"> + <summary> + Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type. + </summary> + <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,Newtonsoft.Json.Schema.JsonSchemaResolver)"> + <summary> + Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type. + </summary> + <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param> + <param name="resolver">The <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> used to resolve schema references.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,System.Boolean)"> + <summary> + Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type. + </summary> + <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param> + <param name="rootSchemaNullable">Specify whether the generated root <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> will be nullable.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,Newtonsoft.Json.Schema.JsonSchemaResolver,System.Boolean)"> + <summary> + Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type. + </summary> + <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param> + <param name="resolver">The <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> used to resolve schema references.</param> + <param name="rootSchemaNullable">Specify whether the generated root <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> will be nullable.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns> + </member> + <member name="T:Newtonsoft.Json.Schema.JsonSchemaResolver"> + <summary> + <para> + Resolves <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from an id. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaResolver.LoadedSchemas"> + <summary> + Gets or sets the loaded schemas. + </summary> + <value>The loaded schemas.</value> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaResolver.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaResolver.GetSchema(System.String)"> + <summary> + Gets a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> for the specified reference. + </summary> + <param name="reference">The id.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> for the specified reference.</returns> + </member> + <member name="T:Newtonsoft.Json.Schema.JsonSchemaType"> + <summary> + <para> + The value types allowed by the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.None"> + <summary> + No type specified. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.String"> + <summary> + String type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Float"> + <summary> + Float type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Integer"> + <summary> + Integer type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Boolean"> + <summary> + Boolean type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Object"> + <summary> + Object type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Array"> + <summary> + Array type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Null"> + <summary> + Null type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Any"> + <summary> + Any type. + </summary> + </member> + <member name="T:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling"> + <summary> + <para> + Specifies undefined schema Id handling options for the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaGenerator"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.None"> + <summary> + Do not infer a schema Id. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.UseTypeName"> + <summary> + Use the .NET type name as the schema Id. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.UseAssemblyQualifiedName"> + <summary> + Use the assembly qualified .NET type name as the schema Id. + </summary> + </member> + <member name="T:Newtonsoft.Json.Schema.ValidationEventArgs"> + <summary> + <para> + Returns detailed information related to the <see cref="T:Newtonsoft.Json.Schema.ValidationEventHandler"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.ValidationEventArgs.Exception"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> associated with the validation error. + </summary> + <value>The JsonSchemaException associated with the validation error.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.ValidationEventArgs.Path"> + <summary> + Gets the path of the JSON location where the validation error occurred. + </summary> + <value>The path of the JSON location where the validation error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.ValidationEventArgs.Message"> + <summary> + Gets the text description corresponding to the validation error. + </summary> + <value>The text description.</value> + </member> + <member name="T:Newtonsoft.Json.Schema.ValidationEventHandler"> + <summary> + <para> + Represents the callback method that will handle JSON schema validation events and the <see cref="T:Newtonsoft.Json.Schema.ValidationEventArgs"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.ISerializationBinder"> + <summary> + Allows users to control class loading and mandate what class to load. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.ISerializationBinder.BindToType(System.String,System.String)"> + <summary> + When implemented, controls the binding of a serialized object to a type. + </summary> + <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param> + <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object</param> + <returns>The type of the object the formatter creates a new instance of.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.ISerializationBinder.BindToName(System.Type,System.String@,System.String@)"> + <summary> + When implemented, controls the binding of a serialized object to a type. + </summary> + <param name="serializedType">The type of the object the formatter creates a new instance of.</param> + <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param> + <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"> + <summary> + A snake case naming strategy. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor(System.Boolean,System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class. + </summary> + <param name="processDictionaryKeys"> + A flag indicating whether dictionary keys should be processed. + </param> + <param name="overrideSpecifiedNames"> + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>. + </param> + </member> + <member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor(System.Boolean,System.Boolean,System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class. + </summary> + <param name="processDictionaryKeys"> + A flag indicating whether dictionary keys should be processed. + </param> + <param name="overrideSpecifiedNames"> + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>. + </param> + <param name="processExtensionDataNames"> + A flag indicating whether extension data names should be processed. + </param> + </member> + <member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.ResolvePropertyName(System.String)"> + <summary> + Resolves the specified property name. + </summary> + <param name="name">The property name to resolve.</param> + <returns>The resolved property name.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.CamelCaseNamingStrategy"> + <summary> + A camel case naming strategy. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.CamelCaseNamingStrategy.#ctor(System.Boolean,System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.CamelCaseNamingStrategy"/> class. + </summary> + <param name="processDictionaryKeys"> + A flag indicating whether dictionary keys should be processed. + </param> + <param name="overrideSpecifiedNames"> + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>. + </param> + </member> + <member name="M:Newtonsoft.Json.Serialization.CamelCaseNamingStrategy.#ctor(System.Boolean,System.Boolean,System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.CamelCaseNamingStrategy"/> class. + </summary> + <param name="processDictionaryKeys"> + A flag indicating whether dictionary keys should be processed. + </param> + <param name="overrideSpecifiedNames"> + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>. + </param> + <param name="processExtensionDataNames"> + A flag indicating whether extension data names should be processed. + </param> + </member> + <member name="M:Newtonsoft.Json.Serialization.CamelCaseNamingStrategy.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.CamelCaseNamingStrategy"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.CamelCaseNamingStrategy.ResolvePropertyName(System.String)"> + <summary> + Resolves the specified property name. + </summary> + <param name="name">The property name to resolve.</param> + <returns>The resolved property name.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver"> + <summary> + Resolves member mappings for a type, camel casing property names. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver.ResolveContract(System.Type)"> + <summary> + Resolves the contract for a given type. + </summary> + <param name="type">The type to resolve a contract for.</param> + <returns>The contract for a given type.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.DefaultContractResolver"> + <summary> + Used by <see cref="T:Newtonsoft.Json.JsonSerializer"/> to resolve a <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/> for a given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.DynamicCodeGeneration"> + <summary> + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + </summary> + <value> + <c>true</c> if using dynamic code generation; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.DefaultMembersSearchFlags"> + <summary> + Gets or sets the default members search flags. + </summary> + <value>The default members search flags.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.SerializeCompilerGeneratedMembers"> + <summary> + Gets or sets a value indicating whether compiler generated members should be serialized. + </summary> + <value> + <c>true</c> if serialized compiler generated members; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.IgnoreSerializableInterface"> + <summary> + Gets or sets a value indicating whether to ignore the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface when serializing and deserializing types. + </summary> + <value> + <c>true</c> if the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface will be ignored when serializing and deserializing types; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.IgnoreSerializableAttribute"> + <summary> + Gets or sets a value indicating whether to ignore the <see cref="T:System.SerializableAttribute"/> attribute when serializing and deserializing types. + </summary> + <value> + <c>true</c> if the <see cref="T:System.SerializableAttribute"/> attribute will be ignored when serializing and deserializing types; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.NamingStrategy"> + <summary> + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + </summary> + <value>The naming strategy used to resolve how property names and dictionary keys are serialized.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(System.Type)"> + <summary> + Resolves the contract for a given type. + </summary> + <param name="type">The type to resolve a contract for.</param> + <returns>The contract for a given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.GetSerializableMembers(System.Type)"> + <summary> + Gets the serializable members for the type. + </summary> + <param name="objectType">The type to get serializable members for.</param> + <returns>The serializable members for the type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonObjectContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonObjectContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateConstructorParameters(System.Reflection.ConstructorInfo,Newtonsoft.Json.Serialization.JsonPropertyCollection)"> + <summary> + Creates the constructor parameters. + </summary> + <param name="constructor">The constructor to create properties for.</param> + <param name="memberProperties">The type's member properties.</param> + <returns>Properties for the given <see cref="T:System.Reflection.ConstructorInfo"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreatePropertyFromConstructorParameter(Newtonsoft.Json.Serialization.JsonProperty,System.Reflection.ParameterInfo)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.ParameterInfo"/>. + </summary> + <param name="matchingMemberProperty">The matching member property.</param> + <param name="parameterInfo">The constructor parameter.</param> + <returns>A created <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.ParameterInfo"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContractConverter(System.Type)"> + <summary> + Resolves the default <see cref="T:Newtonsoft.Json.JsonConverter" /> for the contract. + </summary> + <param name="objectType">Type of the object.</param> + <returns>The contract's default <see cref="T:Newtonsoft.Json.JsonConverter" />.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateDictionaryContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateArrayContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonArrayContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonArrayContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreatePrimitiveContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateLinqContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonLinqContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonLinqContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateISerializableContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonISerializableContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonISerializableContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateDynamicContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonDynamicContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonDynamicContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateStringContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonStringContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonStringContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(System.Type)"> + <summary> + Determines which contract type is created for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperties(System.Type,Newtonsoft.Json.MemberSerialization)"> + <summary> + Creates properties for the given <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/>. + </summary> + <param name="type">The type to create properties for.</param> + /// <param name="memberSerialization">The member serialization mode for the type.</param> + <returns>Properties for the given <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateMemberValueProvider(System.Reflection.MemberInfo)"> + <summary> + Creates the <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> used by the serializer to get and set values from a member. + </summary> + <param name="member">The member.</param> + <returns>The <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> used by the serializer to get and set values from a member.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperty(System.Reflection.MemberInfo,Newtonsoft.Json.MemberSerialization)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.MemberInfo"/>. + </summary> + <param name="memberSerialization">The member's parent <see cref="T:Newtonsoft.Json.MemberSerialization"/>.</param> + <param name="member">The member to create a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for.</param> + <returns>A created <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.MemberInfo"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolvePropertyName(System.String)"> + <summary> + Resolves the name of the property. + </summary> + <param name="propertyName">Name of the property.</param> + <returns>Resolved name of the property.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveExtensionDataName(System.String)"> + <summary> + Resolves the name of the extension data. By default no changes are made to extension data names. + </summary> + <param name="extensionDataName">Name of the extension data.</param> + <returns>Resolved name of the extension data.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveDictionaryKey(System.String)"> + <summary> + Resolves the key of the dictionary. By default <see cref="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolvePropertyName(System.String)"/> is used to resolve dictionary keys. + </summary> + <param name="dictionaryKey">Key of the dictionary.</param> + <returns>Resolved key of the dictionary.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.GetResolvedPropertyName(System.String)"> + <summary> + Gets the resolved name of the property. + </summary> + <param name="propertyName">Name of the property.</param> + <returns>Name of the property.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.DefaultNamingStrategy"> + <summary> + The default naming strategy. Property names and dictionary keys are unchanged. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultNamingStrategy.ResolvePropertyName(System.String)"> + <summary> + Resolves the specified property name. + </summary> + <param name="name">The property name to resolve.</param> + <returns>The resolved property name.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.DefaultSerializationBinder"> + <summary> + The default serialization binder used when resolving and loading classes from type names. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultSerializationBinder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.DefaultSerializationBinder"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultSerializationBinder.BindToType(System.String,System.String)"> + <summary> + When overridden in a derived class, controls the binding of a serialized object to a type. + </summary> + <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param> + <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param> + <returns> + The type of the object the formatter creates a new instance of. + </returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultSerializationBinder.BindToName(System.Type,System.String@,System.String@)"> + <summary> + When overridden in a derived class, controls the binding of a serialized object to a type. + </summary> + <param name="serializedType">The type of the object the formatter creates a new instance of.</param> + <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param> + <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.DiagnosticsTraceWriter"> + <summary> + Represents a trace writer that writes to the application's <see cref="T:System.Diagnostics.TraceListener"/> instances. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.DiagnosticsTraceWriter.LevelFilter"> + <summary> + Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer. + For example a filter level of <see cref="F:System.Diagnostics.TraceLevel.Info"/> will exclude <see cref="F:System.Diagnostics.TraceLevel.Verbose"/> messages and include <see cref="F:System.Diagnostics.TraceLevel.Info"/>, + <see cref="F:System.Diagnostics.TraceLevel.Warning"/> and <see cref="F:System.Diagnostics.TraceLevel.Error"/> messages. + </summary> + <value> + The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer. + </value> + </member> + <member name="M:Newtonsoft.Json.Serialization.DiagnosticsTraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)"> + <summary> + Writes the specified trace level, message and optional exception. + </summary> + <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param> + <param name="message">The trace message.</param> + <param name="ex">The trace exception. This parameter is optional.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.DynamicValueProvider"> + <summary> + Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using dynamic methods. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.DynamicValueProvider.#ctor(System.Reflection.MemberInfo)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.DynamicValueProvider"/> class. + </summary> + <param name="memberInfo">The member info.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(System.Object,System.Object)"> + <summary> + Sets the value. + </summary> + <param name="target">The target to set the value on.</param> + <param name="value">The value to set on the target.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(System.Object)"> + <summary> + Gets the value. + </summary> + <param name="target">The target to get the value from.</param> + <returns>The value.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.ErrorContext"> + <summary> + Provides information surrounding an error. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Error"> + <summary> + Gets the error. + </summary> + <value>The error.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorContext.OriginalObject"> + <summary> + Gets the original object that caused the error. + </summary> + <value>The original object that caused the error.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Member"> + <summary> + Gets the member that caused the error. + </summary> + <value>The member that caused the error.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Path"> + <summary> + Gets the path of the JSON location where the error occurred. + </summary> + <value>The path of the JSON location where the error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Handled"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.ErrorContext"/> is handled. + </summary> + <value><c>true</c> if handled; otherwise, <c>false</c>.</value> + </member> + <member name="T:Newtonsoft.Json.Serialization.ErrorEventArgs"> + <summary> + Provides data for the Error event. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorEventArgs.CurrentObject"> + <summary> + Gets the current object the error event is being raised against. + </summary> + <value>The current object the error event is being raised against.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorEventArgs.ErrorContext"> + <summary> + Gets the error context. + </summary> + <value>The error context.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.ErrorEventArgs.#ctor(System.Object,Newtonsoft.Json.Serialization.ErrorContext)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ErrorEventArgs"/> class. + </summary> + <param name="currentObject">The current object.</param> + <param name="errorContext">The error context.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.ExpressionValueProvider"> + <summary> + Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using dynamic methods. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.ExpressionValueProvider.#ctor(System.Reflection.MemberInfo)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ExpressionValueProvider"/> class. + </summary> + <param name="memberInfo">The member info.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.ExpressionValueProvider.SetValue(System.Object,System.Object)"> + <summary> + Sets the value. + </summary> + <param name="target">The target to set the value on.</param> + <param name="value">The value to set on the target.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(System.Object)"> + <summary> + Gets the value. + </summary> + <param name="target">The target to get the value from.</param> + <returns>The value.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.IAttributeProvider"> + <summary> + Provides methods to get attributes. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.IAttributeProvider.GetAttributes(System.Boolean)"> + <summary> + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + </summary> + <param name="inherit">When <c>true</c>, look up the hierarchy chain for the inherited custom attribute.</param> + <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.IAttributeProvider.GetAttributes(System.Type,System.Boolean)"> + <summary> + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + </summary> + <param name="attributeType">The type of the attributes.</param> + <param name="inherit">When <c>true</c>, look up the hierarchy chain for the inherited custom attribute.</param> + <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.IContractResolver"> + <summary> + Used by <see cref="T:Newtonsoft.Json.JsonSerializer"/> to resolve a <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/> for a given <see cref="T:System.Type"/>. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeContractResolverObject" title="IContractResolver Class" /> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeContractResolverExample" title="IContractResolver Example" /> + </example> + </member> + <member name="M:Newtonsoft.Json.Serialization.IContractResolver.ResolveContract(System.Type)"> + <summary> + Resolves the contract for a given type. + </summary> + <param name="type">The type to resolve a contract for.</param> + <returns>The contract for a given type.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.NamingStrategy"> + <summary> + A base class for resolving how property names and dictionary keys are serialized. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.NamingStrategy.ProcessDictionaryKeys"> + <summary> + A flag indicating whether dictionary keys should be processed. + Defaults to <c>false</c>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.NamingStrategy.ProcessExtensionDataNames"> + <summary> + A flag indicating whether extension data names should be processed. + Defaults to <c>false</c>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.NamingStrategy.OverrideSpecifiedNames"> + <summary> + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>, should be processed. + Defaults to <c>false</c>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.NamingStrategy.GetPropertyName(System.String,System.Boolean)"> + <summary> + Gets the serialized name for a given property name. + </summary> + <param name="name">The initial property name.</param> + <param name="hasSpecifiedName">A flag indicating whether the property has had a name explicitly specified.</param> + <returns>The serialized property name.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.NamingStrategy.GetExtensionDataName(System.String)"> + <summary> + Gets the serialized name for a given extension data name. + </summary> + <param name="name">The initial extension data name.</param> + <returns>The serialized extension data name.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.NamingStrategy.GetDictionaryKey(System.String)"> + <summary> + Gets the serialized key for a given dictionary key. + </summary> + <param name="key">The initial dictionary key.</param> + <returns>The serialized dictionary key.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.NamingStrategy.ResolvePropertyName(System.String)"> + <summary> + Resolves the specified property name. + </summary> + <param name="name">The property name to resolve.</param> + <returns>The resolved property name.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.IReferenceResolver"> + <summary> + Used to resolve references when serializing and deserializing JSON by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.ResolveReference(System.Object,System.String)"> + <summary> + Resolves a reference to its object. + </summary> + <param name="context">The serialization context.</param> + <param name="reference">The reference to resolve.</param> + <returns>The object that was resolved from the reference.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.GetReference(System.Object,System.Object)"> + <summary> + Gets the reference for the specified object. + </summary> + <param name="context">The serialization context.</param> + <param name="value">The object to get a reference for.</param> + <returns>The reference to the object.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.IsReferenced(System.Object,System.Object)"> + <summary> + Determines whether the specified object is referenced. + </summary> + <param name="context">The serialization context.</param> + <param name="value">The object to test for a reference.</param> + <returns> + <c>true</c> if the specified object is referenced; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.AddReference(System.Object,System.String,System.Object)"> + <summary> + Adds a reference to the specified object. + </summary> + <param name="context">The serialization context.</param> + <param name="reference">The reference.</param> + <param name="value">The object to reference.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.ITraceWriter"> + <summary> + Represents a trace writer. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.ITraceWriter.LevelFilter"> + <summary> + Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer. + For example a filter level of <see cref="F:System.Diagnostics.TraceLevel.Info"/> will exclude <see cref="F:System.Diagnostics.TraceLevel.Verbose"/> messages and include <see cref="F:System.Diagnostics.TraceLevel.Info"/>, + <see cref="F:System.Diagnostics.TraceLevel.Warning"/> and <see cref="F:System.Diagnostics.TraceLevel.Error"/> messages. + </summary> + <value>The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.ITraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)"> + <summary> + Writes the specified trace level, message and optional exception. + </summary> + <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param> + <param name="message">The trace message.</param> + <param name="ex">The trace exception. This parameter is optional.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.IValueProvider"> + <summary> + Provides methods to get and set values. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.IValueProvider.SetValue(System.Object,System.Object)"> + <summary> + Sets the value. + </summary> + <param name="target">The target to set the value on.</param> + <param name="value">The value to set on the target.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.IValueProvider.GetValue(System.Object)"> + <summary> + Gets the value. + </summary> + <param name="target">The target to get the value from.</param> + <returns>The value.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonArrayContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonArrayContract.CollectionItemType"> + <summary> + Gets the <see cref="T:System.Type"/> of the collection items. + </summary> + <value>The <see cref="T:System.Type"/> of the collection items.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonArrayContract.IsMultidimensionalArray"> + <summary> + Gets a value indicating whether the collection type is a multidimensional array. + </summary> + <value><c>true</c> if the collection type is a multidimensional array; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonArrayContract.OverrideCreator"> + <summary> + Gets or sets the function used to create the object. When set this function will override <see cref="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"/>. + </summary> + <value>The function used to create the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonArrayContract.HasParameterizedCreator"> + <summary> + Gets a value indicating whether the creator has a parameter with the collection values. + </summary> + <value><c>true</c> if the creator has a parameter with the collection values; otherwise, <c>false</c>.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonArrayContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonArrayContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonContainerContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemConverter"> + <summary> + Gets or sets the default collection items <see cref="T:Newtonsoft.Json.JsonConverter" />. + </summary> + <value>The converter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemIsReference"> + <summary> + Gets or sets a value indicating whether the collection items preserve object references. + </summary> + <value><c>true</c> if collection items preserve object references; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemReferenceLoopHandling"> + <summary> + Gets or sets the collection item reference loop handling. + </summary> + <value>The reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemTypeNameHandling"> + <summary> + Gets or sets the collection item type name handling. + </summary> + <value>The type name handling.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonContainerContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonContainerContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.SerializationCallback"> + <summary> + Handles <see cref="T:Newtonsoft.Json.JsonSerializer"/> serialization callback events. + </summary> + <param name="o">The object that raised the callback event.</param> + <param name="context">The streaming context.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.SerializationErrorCallback"> + <summary> + Handles <see cref="T:Newtonsoft.Json.JsonSerializer"/> serialization error callback events. + </summary> + <param name="o">The object that raised the callback event.</param> + <param name="context">The streaming context.</param> + <param name="errorContext">The error context.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.ExtensionDataSetter"> + <summary> + Sets extension data for an object during deserialization. + </summary> + <param name="o">The object to set extension data on.</param> + <param name="key">The extension data key.</param> + <param name="value">The extension data value.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.ExtensionDataGetter"> + <summary> + Gets extension data for an object during serialization. + </summary> + <param name="o">The object to set extension data on.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.UnderlyingType"> + <summary> + Gets the underlying type for the contract. + </summary> + <value>The underlying type for the contract.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.CreatedType"> + <summary> + Gets or sets the type created during deserialization. + </summary> + <value>The type created during deserialization.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.IsReference"> + <summary> + Gets or sets whether this type contract is serialized as a reference. + </summary> + <value>Whether this type contract is serialized as a reference.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.Converter"> + <summary> + Gets or sets the default <see cref="T:Newtonsoft.Json.JsonConverter" /> for this contract. + </summary> + <value>The converter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnDeserializedCallbacks"> + <summary> + Gets or sets all methods called immediately after deserialization of the object. + </summary> + <value>The methods called immediately after deserialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnDeserializingCallbacks"> + <summary> + Gets or sets all methods called during deserialization of the object. + </summary> + <value>The methods called during deserialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnSerializedCallbacks"> + <summary> + Gets or sets all methods called after serialization of the object graph. + </summary> + <value>The methods called after serialization of the object graph.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnSerializingCallbacks"> + <summary> + Gets or sets all methods called before serialization of the object. + </summary> + <value>The methods called before serialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnErrorCallbacks"> + <summary> + Gets or sets all method called when an error is thrown during the serialization of the object. + </summary> + <value>The methods called when an error is thrown during the serialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"> + <summary> + Gets or sets the default creator method used to create the object. + </summary> + <value>The default creator method used to create the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreatorNonPublic"> + <summary> + Gets or sets a value indicating whether the default creator is non-public. + </summary> + <value><c>true</c> if the default object creator is non-public; otherwise, <c>false</c>.</value> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryKeyResolver"> + <summary> + Gets or sets the dictionary key resolver. + </summary> + <value>The dictionary key resolver.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryKeyType"> + <summary> + Gets the <see cref="T:System.Type"/> of the dictionary keys. + </summary> + <value>The <see cref="T:System.Type"/> of the dictionary keys.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryValueType"> + <summary> + Gets the <see cref="T:System.Type"/> of the dictionary values. + </summary> + <value>The <see cref="T:System.Type"/> of the dictionary values.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.OverrideCreator"> + <summary> + Gets or sets the function used to create the object. When set this function will override <see cref="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"/>. + </summary> + <value>The function used to create the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.HasParameterizedCreator"> + <summary> + Gets a value indicating whether the creator has a parameter with the dictionary values. + </summary> + <value><c>true</c> if the creator has a parameter with the dictionary values; otherwise, <c>false</c>.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonDictionaryContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonDynamicContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDynamicContract.Properties"> + <summary> + Gets the object's properties. + </summary> + <value>The object's properties.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDynamicContract.PropertyNameResolver"> + <summary> + Gets or sets the property name resolver. + </summary> + <value>The property name resolver.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonDynamicContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonDynamicContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonISerializableContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonISerializableContract.ISerializableCreator"> + <summary> + Gets or sets the <see cref="T:System.Runtime.Serialization.ISerializable"/> object constructor. + </summary> + <value>The <see cref="T:System.Runtime.Serialization.ISerializable"/> object constructor.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonISerializableContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonISerializableContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonLinqContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonLinqContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonLinqContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonObjectContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.MemberSerialization"> + <summary> + Gets or sets the object member serialization. + </summary> + <value>The member object serialization.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ItemRequired"> + <summary> + Gets or sets a value that indicates whether the object's properties are required. + </summary> + <value> + A value indicating whether the object's properties are required. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.Properties"> + <summary> + Gets the object's properties. + </summary> + <value>The object's properties.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.CreatorParameters"> + <summary> + Gets a collection of <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> instances that define the parameters used with <see cref="P:Newtonsoft.Json.Serialization.JsonObjectContract.OverrideCreator"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.OverrideCreator"> + <summary> + Gets or sets the function used to create the object. When set this function will override <see cref="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"/>. + This function is called with a collection of arguments which are defined by the <see cref="P:Newtonsoft.Json.Serialization.JsonObjectContract.CreatorParameters"/> collection. + </summary> + <value>The function used to create the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataSetter"> + <summary> + Gets or sets the extension data setter. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataGetter"> + <summary> + Gets or sets the extension data getter. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataValueType"> + <summary> + Gets or sets the extension data value type. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataNameResolver"> + <summary> + Gets or sets the extension data name resolver. + </summary> + <value>The extension data name resolver.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonObjectContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonObjectContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPrimitiveContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonProperty"> + <summary> + Maps a JSON property to a .NET member or constructor parameter. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.PropertyName"> + <summary> + Gets or sets the name of the property. + </summary> + <value>The name of the property.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.DeclaringType"> + <summary> + Gets or sets the type that declared this property. + </summary> + <value>The type that declared this property.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Order"> + <summary> + Gets or sets the order of serialization of a member. + </summary> + <value>The numeric order of serialization.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.UnderlyingName"> + <summary> + Gets or sets the name of the underlying member or parameter. + </summary> + <value>The name of the underlying member or parameter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ValueProvider"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> that will get and set the <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> during serialization. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> that will get and set the <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> during serialization.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.AttributeProvider"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.IAttributeProvider"/> for this property. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Serialization.IAttributeProvider"/> for this property.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.PropertyType"> + <summary> + Gets or sets the type of the property. + </summary> + <value>The type of the property.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Converter"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.JsonConverter" /> for the property. + If set this converter takes precedence over the contract converter for the property type. + </summary> + <value>The converter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.MemberConverter"> + <summary> + Gets or sets the member converter. + </summary> + <value>The member converter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Ignored"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is ignored. + </summary> + <value><c>true</c> if ignored; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Readable"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is readable. + </summary> + <value><c>true</c> if readable; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Writable"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is writable. + </summary> + <value><c>true</c> if writable; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.HasMemberAttribute"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> has a member attribute. + </summary> + <value><c>true</c> if has a member attribute; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.DefaultValue"> + <summary> + Gets the default value. + </summary> + <value>The default value.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Required"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is required. + </summary> + <value>A value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is required.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.IsReference"> + <summary> + Gets or sets a value indicating whether this property preserves object references. + </summary> + <value> + <c>true</c> if this instance is reference; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.NullValueHandling"> + <summary> + Gets or sets the property null value handling. + </summary> + <value>The null value handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.DefaultValueHandling"> + <summary> + Gets or sets the property default value handling. + </summary> + <value>The default value handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ReferenceLoopHandling"> + <summary> + Gets or sets the property reference loop handling. + </summary> + <value>The reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ObjectCreationHandling"> + <summary> + Gets or sets the property object creation handling. + </summary> + <value>The object creation handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.TypeNameHandling"> + <summary> + Gets or sets or sets the type name handling. + </summary> + <value>The type name handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ShouldSerialize"> + <summary> + Gets or sets a predicate used to determine whether the property should be serialized. + </summary> + <value>A predicate used to determine whether the property should be serialized.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ShouldDeserialize"> + <summary> + Gets or sets a predicate used to determine whether the property should be deserialized. + </summary> + <value>A predicate used to determine whether the property should be deserialized.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.GetIsSpecified"> + <summary> + Gets or sets a predicate used to determine whether the property should be serialized. + </summary> + <value>A predicate used to determine whether the property should be serialized.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.SetIsSpecified"> + <summary> + Gets or sets an action used to set whether the property has been deserialized. + </summary> + <value>An action used to set whether the property has been deserialized.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonProperty.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemConverter"> + <summary> + Gets or sets the converter used when serializing the property's collection items. + </summary> + <value>The collection's items converter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemIsReference"> + <summary> + Gets or sets whether this property's collection items are serialized as a reference. + </summary> + <value>Whether this property's collection items are serialized as a reference.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemTypeNameHandling"> + <summary> + Gets or sets the type name handling used when serializing the property's collection items. + </summary> + <value>The collection's items type name handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemReferenceLoopHandling"> + <summary> + Gets or sets the reference loop handling used when serializing the property's collection items. + </summary> + <value>The collection's items reference loop handling.</value> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonPropertyCollection"> + <summary> + A collection of <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> objects. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonPropertyCollection"/> class. + </summary> + <param name="type">The type.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.GetKeyForItem(Newtonsoft.Json.Serialization.JsonProperty)"> + <summary> + When implemented in a derived class, extracts the key from the specified element. + </summary> + <param name="item">The element from which to extract the key.</param> + <returns>The key for the specified element.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.AddProperty(Newtonsoft.Json.Serialization.JsonProperty)"> + <summary> + Adds a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> object. + </summary> + <param name="property">The property to add to the collection.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.GetClosestMatchProperty(System.String)"> + <summary> + Gets the closest matching <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> object. + First attempts to get an exact case match of <paramref name="propertyName"/> and then + a case insensitive match. + </summary> + <param name="propertyName">Name of the property.</param> + <returns>A matching property if found.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.GetProperty(System.String,System.StringComparison)"> + <summary> + Gets a property by property name. + </summary> + <param name="propertyName">The name of the property to get.</param> + <param name="comparisonType">Type property name string comparison.</param> + <returns>A matching property if found.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonStringContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonStringContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonStringContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonTypeReflector.CreateJsonConverterInstance(System.Type,System.Object[])"> + <summary> + Lookup and create an instance of the <see cref="T:Newtonsoft.Json.JsonConverter"/> type described by the argument. + </summary> + <param name="converterType">The <see cref="T:Newtonsoft.Json.JsonConverter"/> type to create.</param> + <param name="converterArgs">Optional arguments to pass to an initializing constructor of the JsonConverter. + If <c>null</c>, the default constructor is used.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.MemoryTraceWriter"> + <summary> + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.MemoryTraceWriter.LevelFilter"> + <summary> + Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer. + For example a filter level of <see cref="F:System.Diagnostics.TraceLevel.Info"/> will exclude <see cref="F:System.Diagnostics.TraceLevel.Verbose"/> messages and include <see cref="F:System.Diagnostics.TraceLevel.Info"/>, + <see cref="F:System.Diagnostics.TraceLevel.Warning"/> and <see cref="F:System.Diagnostics.TraceLevel.Error"/> messages. + </summary> + <value> + The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer. + </value> + </member> + <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.MemoryTraceWriter"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)"> + <summary> + Writes the specified trace level, message and optional exception. + </summary> + <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param> + <param name="message">The trace message.</param> + <param name="ex">The trace exception. This parameter is optional.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.GetTraceMessages"> + <summary> + Returns an enumeration of the most recent trace messages. + </summary> + <returns>An enumeration of the most recent trace messages.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.ToString"> + <summary> + Returns a <see cref="T:System.String"/> of the most recent trace messages. + </summary> + <returns> + A <see cref="T:System.String"/> of the most recent trace messages. + </returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.ObjectConstructor`1"> + <summary> + Represents a method that constructs an object. + </summary> + <typeparam name="T">The object type to create.</typeparam> + </member> + <member name="T:Newtonsoft.Json.Serialization.OnErrorAttribute"> + <summary> + When applied to a method, specifies that the method is called when an error occurs serializing an object. + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.ReflectionAttributeProvider"> + <summary> + Provides methods to get attributes from a <see cref="T:System.Type"/>, <see cref="T:System.Reflection.MemberInfo"/>, <see cref="T:System.Reflection.ParameterInfo"/> or <see cref="T:System.Reflection.Assembly"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionAttributeProvider.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ReflectionAttributeProvider"/> class. + </summary> + <param name="attributeProvider">The instance to get attributes for. This parameter should be a <see cref="T:System.Type"/>, <see cref="T:System.Reflection.MemberInfo"/>, <see cref="T:System.Reflection.ParameterInfo"/> or <see cref="T:System.Reflection.Assembly"/>.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionAttributeProvider.GetAttributes(System.Boolean)"> + <summary> + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + </summary> + <param name="inherit">When <c>true</c>, look up the hierarchy chain for the inherited custom attribute.</param> + <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionAttributeProvider.GetAttributes(System.Type,System.Boolean)"> + <summary> + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + </summary> + <param name="attributeType">The type of the attributes.</param> + <param name="inherit">When <c>true</c>, look up the hierarchy chain for the inherited custom attribute.</param> + <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.ReflectionValueProvider"> + <summary> + Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using reflection. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionValueProvider.#ctor(System.Reflection.MemberInfo)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ReflectionValueProvider"/> class. + </summary> + <param name="memberInfo">The member info.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionValueProvider.SetValue(System.Object,System.Object)"> + <summary> + Sets the value. + </summary> + <param name="target">The target to set the value on.</param> + <param name="value">The value to set on the target.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionValueProvider.GetValue(System.Object)"> + <summary> + Gets the value. + </summary> + <param name="target">The target to get the value from.</param> + <returns>The value.</returns> + </member> + <member name="T:Newtonsoft.Json.TypeNameAssemblyFormatHandling"> + <summary> + Indicates the method that will be used during deserialization for locating and loading assemblies. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameAssemblyFormatHandling.Simple"> + <summary> + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the <c>LoadWithPartialName</c> method of the <see cref="T:System.Reflection.Assembly"/> class is used to load the assembly. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameAssemblyFormatHandling.Full"> + <summary> + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The <c>Load</c> method of the <see cref="T:System.Reflection.Assembly"/> class is used to load the assembly. + </summary> + </member> + <member name="T:Newtonsoft.Json.StringEscapeHandling"> + <summary> + Specifies how strings are escaped when writing JSON text. + </summary> + </member> + <member name="F:Newtonsoft.Json.StringEscapeHandling.Default"> + <summary> + Only control characters (e.g. newline) are escaped. + </summary> + </member> + <member name="F:Newtonsoft.Json.StringEscapeHandling.EscapeNonAscii"> + <summary> + All non-ASCII and control characters (e.g. newline) are escaped. + </summary> + </member> + <member name="F:Newtonsoft.Json.StringEscapeHandling.EscapeHtml"> + <summary> + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + </summary> + </member> + <member name="T:Newtonsoft.Json.TypeNameHandling"> + <summary> + Specifies type name handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <remarks> + <see cref="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom <see cref="P:Newtonsoft.Json.JsonSerializer.SerializationBinder"/> + when deserializing with a value other than <see cref="F:Newtonsoft.Json.TypeNameHandling.None"/>. + </remarks> + </member> + <member name="F:Newtonsoft.Json.TypeNameHandling.None"> + <summary> + Do not include the .NET type name when serializing types. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameHandling.Objects"> + <summary> + Include the .NET type name when serializing into a JSON object structure. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameHandling.Arrays"> + <summary> + Include the .NET type name when serializing into a JSON array structure. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameHandling.All"> + <summary> + Always include the .NET type name when serializing. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameHandling.Auto"> + <summary> + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with <see cref="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,System.Type,Newtonsoft.Json.JsonSerializerSettings)"/> + or <see cref="M:Newtonsoft.Json.JsonSerializer.Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type)"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.CollectionUtils.IsNullOrEmpty``1(System.Collections.Generic.ICollection{``0})"> + <summary> + Determines whether the collection is <c>null</c> or empty. + </summary> + <param name="collection">The collection.</param> + <returns> + <c>true</c> if the collection is <c>null</c> or empty; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.CollectionUtils.AddRange``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})"> + <summary> + Adds the elements of the specified collection to the specified generic <see cref="T:System.Collections.Generic.IList`1"/>. + </summary> + <param name="initial">The list to add to.</param> + <param name="collection">The collection of elements to add.</param> + </member> + <member name="M:Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(System.Object,System.Globalization.CultureInfo,System.Type)"> + <summary> + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + </summary> + <param name="initialValue">The value to convert.</param> + <param name="culture">The culture to use when converting.</param> + <param name="targetType">The type to convert or cast the value to.</param> + <returns> + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + </returns> + </member> + <member name="F:Newtonsoft.Json.Utilities.ConvertUtils.IEEE754.MultExp64Power10"> + <summary> + Exponents for both powers of 10 and 0.1 + </summary> + </member> + <member name="F:Newtonsoft.Json.Utilities.ConvertUtils.IEEE754.MultVal64Power10"> + <summary> + Normalized powers of 10 + </summary> + </member> + <member name="F:Newtonsoft.Json.Utilities.ConvertUtils.IEEE754.MultVal64Power10Inv"> + <summary> + Normalized powers of 0.1 + </summary> + </member> + <member name="F:Newtonsoft.Json.Utilities.ConvertUtils.IEEE754.MultExp64Power10By16"> + <summary> + Exponents for both powers of 10^16 and 0.1^16 + </summary> + </member> + <member name="F:Newtonsoft.Json.Utilities.ConvertUtils.IEEE754.MultVal64Power10By16"> + <summary> + Normalized powers of 10^16 + </summary> + </member> + <member name="F:Newtonsoft.Json.Utilities.ConvertUtils.IEEE754.MultVal64Power10By16Inv"> + <summary> + Normalized powers of 0.1^16 + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.ConvertUtils.IEEE754.PackDouble(System.Boolean,System.UInt64,System.Int32)"> + <summary> + Packs <paramref name="val"/>*10^<paramref name="scale"/> as 64-bit floating point value according to IEEE 754 standard + </summary> + <param name="negative">Sign</param> + <param name="val">Mantissa</param> + <param name="scale">Exponent</param> + <remarks> + Adoption of native function NumberToDouble() from coreclr sources, + see https://github.com/dotnet/coreclr/blob/master/src/classlibnative/bcltype/number.cpp#L451 + </remarks> + </member> + <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodWithResult(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Collections.Generic.IEnumerable{System.Linq.Expressions.Expression},Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback,Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)"> + <summary> + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodReturnLast(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Collections.Generic.IEnumerable{System.Linq.Expressions.Expression},Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)"> + <summary> + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodNoResult(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression[],Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)"> + <summary> + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.GetRestrictions"> + <summary> + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.EnumUtils.GetNamesAndValues``1"> + <summary> + Gets a dictionary of the names and values of an <see cref="T:System.Enum"/> type. + </summary> + <returns></returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.EnumUtils.GetNamesAndValues``1(System.Type)"> + <summary> + Gets a dictionary of the names and values of an Enum type. + </summary> + <param name="enumType">The enum type to get names and values for.</param> + <returns></returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.GetCollectionItemType(System.Type)"> + <summary> + Gets the type of the typed collection's items. + </summary> + <param name="type">The type.</param> + <returns>The type of the typed collection's items.</returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.GetMemberUnderlyingType(System.Reflection.MemberInfo)"> + <summary> + Gets the member's underlying type. + </summary> + <param name="member">The member.</param> + <returns>The underlying type of the member.</returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.IsIndexedProperty(System.Reflection.MemberInfo)"> + <summary> + Determines whether the member is an indexed property. + </summary> + <param name="member">The member.</param> + <returns> + <c>true</c> if the member is an indexed property; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.IsIndexedProperty(System.Reflection.PropertyInfo)"> + <summary> + Determines whether the property is an indexed property. + </summary> + <param name="property">The property.</param> + <returns> + <c>true</c> if the property is an indexed property; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.GetMemberValue(System.Reflection.MemberInfo,System.Object)"> + <summary> + Gets the member's value on the object. + </summary> + <param name="member">The member.</param> + <param name="target">The target object.</param> + <returns>The member's value on the object.</returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.SetMemberValue(System.Reflection.MemberInfo,System.Object,System.Object)"> + <summary> + Sets the member's value on the target object. + </summary> + <param name="member">The member.</param> + <param name="target">The target.</param> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.CanReadMemberValue(System.Reflection.MemberInfo,System.Boolean)"> + <summary> + Determines whether the specified MemberInfo can be read. + </summary> + <param name="member">The MemberInfo to determine whether can be read.</param> + /// <param name="nonPublic">if set to <c>true</c> then allow the member to be gotten non-publicly.</param> + <returns> + <c>true</c> if the specified MemberInfo can be read; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.CanSetMemberValue(System.Reflection.MemberInfo,System.Boolean,System.Boolean)"> + <summary> + Determines whether the specified MemberInfo can be set. + </summary> + <param name="member">The MemberInfo to determine whether can be set.</param> + <param name="nonPublic">if set to <c>true</c> then allow the member to be set non-publicly.</param> + <param name="canSetReadOnly">if set to <c>true</c> then allow the member to be set if read-only.</param> + <returns> + <c>true</c> if the specified MemberInfo can be set; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Utilities.StringBuffer"> + <summary> + Builds a string. Unlike <see cref="T:System.Text.StringBuilder"/> this class lets you reuse its internal buffer. + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.StringUtils.IsWhiteSpace(System.String)"> + <summary> + Determines whether the string is all white space. Empty string will return <c>false</c>. + </summary> + <param name="s">The string to test whether it is all white space.</param> + <returns> + <c>true</c> if the string is all white space; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.WriteState"> + <summary> + Specifies the state of the <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Error"> + <summary> + An exception has been thrown, which has left the <see cref="T:Newtonsoft.Json.JsonWriter"/> in an invalid state. + You may call the <see cref="M:Newtonsoft.Json.JsonWriter.Close"/> method to put the <see cref="T:Newtonsoft.Json.JsonWriter"/> in the <c>Closed</c> state. + Any other <see cref="T:Newtonsoft.Json.JsonWriter"/> method calls result in an <see cref="T:System.InvalidOperationException"/> being thrown. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Closed"> + <summary> + The <see cref="M:Newtonsoft.Json.JsonWriter.Close"/> method has been called. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Object"> + <summary> + An object is being written. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Array"> + <summary> + An array is being written. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Constructor"> + <summary> + A constructor is being written. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Property"> + <summary> + A property is being written. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Start"> + <summary> + A <see cref="T:Newtonsoft.Json.JsonWriter"/> write method has not been called. + </summary> + </member> + </members> +</doc> diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/DLL/log4net.dll b/DataCapture/iWare_SCADA_DataCapture_Test/DLL/log4net.dll new file mode 100644 index 0000000..47cd9ad --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/DLL/log4net.dll Binary files differ diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/Test_iWare_SCADA_DataCapture_Test.sln b/DataCapture/iWare_SCADA_DataCapture_Test/Test_iWare_SCADA_DataCapture_Test.sln new file mode 100644 index 0000000..c71b667 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/Test_iWare_SCADA_DataCapture_Test.sln @@ -0,0 +1,42 @@ +锘� +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32929.385 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWare_SCADA_Model", "iWare_SCADA_Model\iWare_SCADA_Model.csproj", "{91C185DE-15AB-44AE-B585-53799FC51BE0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWare_SCADA_BusinessLogical", "iWare_SCADA_BusinessLogical\iWare_SCADA_BusinessLogical.csproj", "{32708F19-FE1A-48F5-B373-8E1C776F216C}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{9BB6FA0E-C431-4F4F-8EC7-BC62383F412D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWare_SCADA_DataCapture_Test", "iWare_SCADA_DataCapture_Test\iWare_SCADA_DataCapture_Test.csproj", "{E07C6E80-A875-482C-9427-BA5703DFF7EB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {91C185DE-15AB-44AE-B585-53799FC51BE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91C185DE-15AB-44AE-B585-53799FC51BE0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91C185DE-15AB-44AE-B585-53799FC51BE0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91C185DE-15AB-44AE-B585-53799FC51BE0}.Release|Any CPU.Build.0 = Release|Any CPU + {32708F19-FE1A-48F5-B373-8E1C776F216C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {32708F19-FE1A-48F5-B373-8E1C776F216C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {32708F19-FE1A-48F5-B373-8E1C776F216C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {32708F19-FE1A-48F5-B373-8E1C776F216C}.Release|Any CPU.Build.0 = Release|Any CPU + {E07C6E80-A875-482C-9427-BA5703DFF7EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E07C6E80-A875-482C-9427-BA5703DFF7EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E07C6E80-A875-482C-9427-BA5703DFF7EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E07C6E80-A875-482C-9427-BA5703DFF7EB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {E07C6E80-A875-482C-9427-BA5703DFF7EB} = {9BB6FA0E-C431-4F4F-8EC7-BC62383F412D} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {71AEA756-11BA-4085-8E3F-7DAA18D3F7DB} + EndGlobalSection +EndGlobal diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/App.config b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/App.config new file mode 100644 index 0000000..6d1f855 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/App.config @@ -0,0 +1,20 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<configuration> + <configSections> + <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> + <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> + </configSections> + <entityFramework> + <providers> + <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> + </providers> + </entityFramework> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/CommonManager.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/CommonManager.cs new file mode 100644 index 0000000..92ac51d --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/CommonManager.cs @@ -0,0 +1,161 @@ +锘縰sing iTextSharp.text.pdf; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static log4net.Appender.RollingFileAppender; + +namespace iWare_SCADA_BusinessLogical.BLL +{ + public class CommonManager + { + public static readonly CommonManager Instance = new CommonManager(); + /// <summary> + /// 瑙f瀽宸ヤ欢鍙蜂簩缁寸爜 + /// </summary> + /// <param name="log"></param> + /// <returns></returns> + public WorkPieceLog GetWorkPieceID(WorkPieceLog log,LogType type) + { + try + { + if(log==null|| log.WorkPieceID.Trim().Length!=22) + { + Log4NetHelper.WriteErrorLog(type, $"瑙f瀽宸ヤ欢鍙穥CheckNULLForString(log.WorkPieceID)} {log.Id}浜岀淮鐮佹椂鍑洪敊锛屼簩缁寸爜鏍煎紡涓嶅"); + return log; + } + log.WorkPieceIDTo1 = log.WorkPieceID.Substring(0, 2); + log.WorkPieceIDTo2 = log.WorkPieceID.Substring(2, 4); + log.WorkPieceIDTo3 = log.WorkPieceID.Substring(6, 6); + log.WorkPieceIDTo4 = log.WorkPieceID.Substring(12, 2); + log.WorkPieceIDTo5 = log.WorkPieceID.Substring(14, 4); + log.WorkPieceIDTo6 = log.WorkPieceID.Substring(18, 2); + log.WorkPieceIDTo7 = log.WorkPieceID.Substring(20, 2); + + } + catch(Exception ex) + { + Log4NetHelper.WriteErrorLog(type, $"瑙f瀽宸ヤ欢鍙穥CheckNULLForString(log.WorkPieceID)} {log.Id}浜岀淮鐮佹椂寮傚父锛�", ex); + } + return log; + } + public string CheckNULLForString(string str) + { + return string.IsNullOrEmpty(str) ? "" : str; + } + public string CheackPath(string path, int type, int time) + { + var directory = Path.GetDirectoryName(path); + if (!Directory.Exists(directory)) + { + Directory.CreateDirectory(directory); + } + if (!File.Exists(path)) + { + File.Create(path).Close(); + } + + string content = ""; + // 鍚屾鏉ユ簮鏁版嵁 + using (StreamReader reader = new StreamReader(path)) + { + content = reader.ReadToEnd(); + + Console.WriteLine("璇诲彇鐨勫唴瀹规槸锛�" + content); + if (content == null || content == "") + { + switch (type) + { + case 1: content = DateTimeHelper.GetDateTime().AddYears(time).ToString(); break; + case 2: content = DateTimeHelper.GetDateTime().AddMonths(time).ToString(); break; + case 3: content = DateTimeHelper.GetDateTime().AddDays(time).ToString(); break; + case 4: content = DateTimeHelper.GetDateTime().AddHours(time).ToString(); break; + case 5: content = DateTimeHelper.GetDateTime().AddMinutes(time).ToString(); break; + case 6: content = DateTimeHelper.GetDateTime().AddSeconds(time).ToString(); break; + default: + content = DateTimeHelper.GetDateTime().ToString(); break; + } + //content = DateTimeHelper.GetDateTime().AddMinutes(-10).ToString(); + } + + } + return content; + } + /// <summary> + /// 瑙f瀽pdf鏂囦欢 + /// </summary> + /// <param name="filePath"></param> + /// <param name="getPdfValue"></param> + /// <returns></returns> + public static List<string> ReadPdfConntent(string filePath, string getPdfValue) + { + List<string> lst = new List<string>(); + try + { + + string pdffilename = filePath; + PdfReader pdfreader = new PdfReader(pdffilename); + int numberOfPages = pdfreader.NumberOfPages; + + //for (int i = 1; i <= numberOfPages; ++i) + //{ + // lst.Add(iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(pdfreader,i)); + // text.AppendLine(); + //} + + string text = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(pdfreader, 1); + + string[] words = text.Split('\n'); + + foreach (var item in words) + { + string value = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(item)); + + if (value.Contains(getPdfValue)) + { + string[] splitValue = value.Split(':'); + lst.Add(splitValue[1].Trim()); + } + } + + pdfreader.Close(); + return lst; + } + catch (Exception ex) + { + throw ex; + } + } + + public static DateTime? GetOP60Time(string datetime) + { + + try + { + string regex = @"^(\d{1,2})\.(\d{1,2})\.(\d{4})\/(\d{1,2}):(\d{1,2}):(\d{1,2})"; + var macth = RegexExtension.Match(datetime, regex, 20000); + if (macth.Success) + { + string date = $"{macth.Groups[3].Value}/{macth.Groups[2].Value}/{macth.Groups[1].Value} {macth.Groups[4].Value}:{macth.Groups[5].Value}:{macth.Groups[6].Value}"; + + DateTime Time; + if (DateTime.TryParseExact(date, "yyyy/MM/dd HH:mm:ss", CultureInfo.CurrentCulture, DateTimeStyles.None, out Time)) + { + return Time; + } + + } + return null; + } + catch (Exception ex) + { + return null; + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/DataCaptureColumnDictManager.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/DataCaptureColumnDictManager.cs new file mode 100644 index 0000000..4ecddef --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/DataCaptureColumnDictManager.cs @@ -0,0 +1,70 @@ +锘縰sing iWare_SCADA_BusinessLogical.DLA.Dao; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + public class DataCaptureColumnDictManager + { + ///// <summary> + ///// 鑾峰彇 璋冨害绯荤粺鍚姩鐩稿叧 + ///// </summary> + ///// <param name="edm"></param> + ///// <returns></returns> + //public static IList<DataCaptureColumnDict> GetCCSystem(DbModel edm) + //{ + // return edm.DataCaptureColumnDictList.Where(x => x.EquipmentID == "1").ToList();//.FirstOrDefault(); + //} + /// <summary> + /// 鑾峰彇 璋冨害绯荤粺鍚姩鐩稿叧 + /// </summary> + /// <param name="edm"></param> + /// <returns></returns> + public static List<EquipmentBaseInfo> GetEquipmentBaseInfo() + { + using (DbModel db = new DbModel()) + { + // + //var a = db.EquipmentBaseInfos.Find(1);//涓婚敭涓�1鐨� + var b = db.EquipmentBaseInfo.Where(o=>o.EquipmentId=="1").ToList(); + + + var query = db.EquipmentBaseInfo.Where(s => s.EquipmentId == "1").ToList();//杩斿洖IQueryable 璇存槑鏄欢杩熸煡璇� + + //鏌ヨ鎵�鏈� + var query2 = db.EquipmentBaseInfo.ToList();//杩欎釜涓嶆槸寤惰繜鏌ヨ + //var query3 = db.DataCaptureConfigs.ToList();//杩欎釜涓嶆槸寤惰繜鏌ヨ + + return b; + + + //var ccSystem = DataCaptureColumnDictManager.GetEquipmentBaseInfo(edm); + //if (ccSystem == null) + //{ + // MessageBox.Show("璇疯仈绯荤鐞嗗憳缁存姢绯荤粺璋冨害鐩稿叧鐨勬暟鎹�!"); + // return; + //}; + } + //return edm.EquipmentBaseInfos.Find; + } + /// <summary> + /// 鍒嗛〉鏌ヨ + /// </summary> + /// <param name="pageIndex"></param> + /// <param name="pageSize"></param> + public static void pageselect(int pageIndex,int pageSize) + { + using (DbModel db = new DbModel()) + { + var query3 = db.EquipmentBaseInfo.Skip((pageIndex - 1) * pageSize).Take(pageSize); + } + //CommonDao<EquipmentBaseInfo, EquipmentBaseInfo> CommonDao=new CommonDao<EquipmentBaseInfo, EquipmentBaseInfo>(); + + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/DataCaptureConfigManager.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/DataCaptureConfigManager.cs new file mode 100644 index 0000000..0d2fa81 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/DataCaptureConfigManager.cs @@ -0,0 +1,107 @@ +锘縰sing iWare_SCADA_Model; +using iWare_SCADA_Model.TableModelSC; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical.BLL +{ + public class DataCaptureConfigManager + { + public static List<DataCaptureConfig> GetDataCaptureConfigs() + { + using (DbModel db = new DbModel()) + { + //鏌ヨ鎵�鏈夋湭鍒犻櫎鏁版嵁 + var query = db.DataCaptureConfig.Where(o=>o.IsDeleted==false).ToList();//杩欎釜涓嶆槸寤惰繜鏌ヨ + return query; + } + } + + public static List<DataCaptureColumnConfig> GetDataCaptureColumnConfig() + { + using (DbModel db = new DbModel()) + { + //鏌ヨ鎵�鏈� + var query = db.DataCaptureColumnConfig.Where(o=>1==1).ToList();//杩欎釜涓嶆槸寤惰繜鏌ヨ + + return query; + + + //var ccSystem = DataCaptureColumnDictManager.GetEquipmentBaseInfo(edm); + //if (ccSystem == null) + //{ + // MessageBox.Show("璇疯仈绯荤鐞嗗憳缁存姢绯荤粺璋冨害鐩稿叧鐨勬暟鎹�!"); + // return; + //}; + } + } + public static List<AlarmLog> getdate() + { + using (SCModel db = new SCModel()) + { + List<AlarmLog> query = db.AlarmLog.ToList(); + return query; + } + } + + public static void InsertDataCaptureConfig(DataCaptureConfig info) + { + using (DbModel db = new DbModel()) + { + db.DataCaptureConfig.Add(info); + db.SaveChanges(); + } + } + public static void UpdateDataCaptureConfig(DataCaptureConfig info,out string message) + { + using (DbModel db = new DbModel()) + { + message = ""; + var model = db.DataCaptureConfig.Where(o => o.Id == info.Id).FirstOrDefault(); + if(model!=null && model.Id > 0) + { + var num=db.DataCaptureConfig.Where(o => o.DataCapturePointCode == info.DataCapturePointCode && o.Id != model.Id).Count(); + if(num>0) + { + message = $"鏀堕泦鐐逛唬鐮亄info.DataCapturePointCode}宸插瓨鍦紝涓嶈兘閲嶅锛岃纭鍚庡啀娆′慨鏀癸紒"; + return; + } + model.EquipmentID = info.EquipmentID; + model.WorkingProcedure = info.WorkingProcedure; + model.DataCapturePointCode = info.DataCapturePointCode; + model.DataCapturePointCname = info.DataCapturePointCname; + model.DataCaptureType = info.DataCaptureType; + model.DataCapturePLCType = info.DataCapturePLCType; + model.PLCIP = info.PLCIP; + model.PLCPort = info.PLCPort; + model.DbNumber = info.DbNumber; + model.Offset = info.Offset; + model.DataCaptureColumnType = info.DataCaptureColumnType; + db.SaveChanges(); + } + else + { + message = "褰撳墠淇敼椤逛笉瀛樺湪锛岃鍒锋柊鍚庡啀娆′慨鏀癸紒"; + return; + } + } + } + + public static int DeleteDataCaptureConfig(DataCaptureConfig info) + { + using (DbModel db = new DbModel()) + { + var config = db.DataCaptureConfig.FirstOrDefault(m => m.Id == info.Id); + if (config != null) + { + db.DataCaptureConfig.Remove(config); + } + return db.SaveChanges(); + } + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/SystemValue.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/SystemValue.cs new file mode 100644 index 0000000..57528cd --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/SystemValue.cs @@ -0,0 +1,2466 @@ +锘� +using iWare_SCADA_Model; +using iWare_SCADA_Model.MiddleModel; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// 绯荤粺鍙橀噺 + /// </summary> + public class SystemValue + { + /// <summary> + /// OP20鐨勫綋鍓嶆娴嬮潰鍊� + /// </summary> + public static string OP20_Side_Value = ""; + + #region PLC閾炬帴 + + public static object lockPlcService = new object(); + private static Dictionary<string, PLCService> plcServiceList = new Dictionary<string, PLCService>(); + + public static PLCService GetPLCService(DataCaptureConfig dataCaptureConfig) + { + PLCService plcService = null; + lock (lockPlcService) + { + if (plcServiceList.ContainsKey(dataCaptureConfig.PLCIP)) + { + plcService = plcServiceList[dataCaptureConfig.PLCIP]; + } + else + { + plcService = PLCManger.GetSinglePLCService(dataCaptureConfig); + plcServiceList.Add(dataCaptureConfig.PLCIP, plcService); + } + } + return plcService; + + } + + public static void PLCServiceReconnect(PLCService plcService) + { + if(plcService==null) + { + return; + } + plcService.Close(); + plcService.OpenService(); + + } + #endregion + /// <summary> + /// 绯荤粺鍚姩鐨凣UID + /// </summary> + public static string SystemStartGuid = string.Empty; + + /// <summary> + /// 妯″紡鏄惁鍚姩 + /// </summary> + public static bool isStartedModel = false; + + /// <summary> + /// 寤惰繜绾跨▼鎵ц鐨勬椂闂达紙姣锛� + /// </summary> + public static int DelayExcuteNumber = 2000; + + + /// <summary> + /// PLC鍦板潃鍒嗛殧绗� 锛岀敤浜庡垎闅� DB鍦板潃鍜屽亸绉婚噺鐨� + /// </summary> + public static char PLCDBADDRESS_SEPARATE = '|'; + + + public static List<ThreadStatusMonitor> MainList=new List<ThreadStatusMonitor>(); + + private static object lockMainList = new object(); + public static async void UpdateMainList(ThreadStatusMonitor threadinfo) + { + await Task.Run(() => { + lock (lockMainList) + { + var info = MainList.Where(o => o.Threadcode == threadinfo.Threadcode).FirstOrDefault(); + if(info == null) + { + MainList.Add(threadinfo); + } + else + { + DateTime time = DateTime.Now; + info.Remarks = threadinfo.Remarks; + info.Threadendtime = time;//姣忔閮芥洿鏂� + info.Threadlastmodifytime = threadinfo.Threadlastmodifytime>DateTime.MinValue? threadinfo.Threadlastmodifytime: info.Threadlastmodifytime;//濡傛灉鏈変紶鍙傚垯鏇存柊 + info.ThreadId = threadinfo.ThreadId; + info.ThreadFrequency = threadinfo.ThreadFrequency; + info.UpdatedTime = time; + info.UpdatedUserName = threadinfo.Threadcode; + if (info.Threadstatue == 1) + { + info.Threadlastmodifytime = time;//鏈�鏂拌窇鍒版暟鎹� + } + } + } + }); + } + + + #region OP05宸ュ簭 + + public static object lock5QRcodeList = new object(); + private static Dictionary<string, DateTime> _qRcodeList = new Dictionary<string, DateTime>(); + /// <summary> + /// OP05璇诲彇鐨勪簩缁寸爜鍒楄〃 //娉ㄦ剰锛屼娇鐢ㄤ腑add 鍜岃祴鍊奸兘闇�瑕佹坊鍔犻攣 lock5QRcodeList + /// </summary> + public static Dictionary<string, DateTime> QRcodeList + { + get { return _qRcodeList; } + set + { + _qRcodeList = value; + } + } + + private static object lockOP0501Runing = new object(); + private static object lockOP0502Runing = new object(); + private static object lockOP0503Runing = new object(); + private static object lockOP0504Runing = new object(); + private static object lockOP0506Runing = new object(); + private static object lockOP0507Runing = new object(); + private static bool _isAllowRuning_OP0501 = false; + private static bool _isAllowRuning_OP0502 = false; + private static bool _isAllowRuning_OP0503 = false; + private static bool _isAllowRuning_OP0504 = false; + private static bool _isAllowRuning_OP0506 = false; + private static bool _isAllowRuning_OP0507 = false; + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP05宸ュ簭鎵撶爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP0501 + { + get { return _isAllowRuning_OP0501; } + set { + lock (lockOP0501Runing) + { + _isAllowRuning_OP0501 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP05宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP0502 + { + get { return _isAllowRuning_OP0502; } + set + { + lock (lockOP0502Runing) + { + _isAllowRuning_OP0502 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP05宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP0503 + { + get { return _isAllowRuning_OP0503; } + set + { + lock (lockOP0503Runing) + { + _isAllowRuning_OP0503 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP05宸ュ簭瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP0504 + { + get { return _isAllowRuning_OP0504; } + set + { + lock (lockOP0504Runing) + { + _isAllowRuning_OP0504 = value; + } + } + } + + + private static object lockOP0501Alert = new object(); + private static object lockOP0502Alert = new object(); + private static object lockOP0503Alert = new object(); + private static object lockOP0504Alert = new object(); + private static object lockOP0506Alert = new object(); + private static object lockOP0507Alert = new object(); + private static string _lbl_Alert_OP0501 = string.Empty; + private static string _lbl_Alert_OP0502 = string.Empty; + private static string _lbl_Alert_OP0503 = string.Empty; + private static string _lbl_Alert_OP0504 = string.Empty; + private static string _lbl_Alert_OP0506 = string.Empty; + private static string _lbl_Alert_OP0507 = string.Empty; + /// <summary> + /// 鐩戞帶OP05宸ュ簭鎵撶爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP0501 + { + get { return _lbl_Alert_OP0501; } + set + { + lock (lockOP0501Alert) + { + _lbl_Alert_OP0501 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP05宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP0502 + { + get { return _lbl_Alert_OP0502; } + set + { + lock (lockOP0502Alert) + { + _lbl_Alert_OP0502 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP05宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP0503 + { + get { return _lbl_Alert_OP0503; } + set + { + lock (lockOP0503Alert) + { + _lbl_Alert_OP0503 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP05宸ュ簭瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP0504 + { + get { return _lbl_Alert_OP0504; } + set + { + lock (lockOP0504Alert) + { + _lbl_Alert_OP0504 = value; + } + } + } + public static string lbl_Alert_OP0506 + { + get { return _lbl_Alert_OP0506; } + set + { + lock (lockOP0506Alert) + { + _lbl_Alert_OP0506 = value; + } + } + } + public static string lbl_Alert_OP0507 + { + get { return _lbl_Alert_OP0507; } + set + { + lock (lockOP0507Alert) + { + _lbl_Alert_OP0507 = value; + } + } + } + + + private static object lockOP0501Value = new object(); + private static object lockOP0502Value = new object(); + private static object lockOP0503Value = new object(); + private static object lockOP0504Value = new object(); + private static object lockOP0506Value = new object(); + private static object lockOP0507Value = new object(); + private static string _value_OP0501 = string.Empty; + private static string _value_OP0502 = string.Empty; + private static string _value_OP0503 = string.Empty; + private static string _value_OP0504 = string.Empty; + private static string _value_OP0506 = string.Empty; + private static string _value_OP0507 = string.Empty; + + /// <summary> + /// OP05宸ュ簭鎵撶爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP0501 + { + get { return _value_OP0501; } + set + { + lock (lockOP0501Value) + { + _value_OP0501 = value; + } + } + } + /// <summary> + /// OP05宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP0502 + { + get { return _value_OP0502; } + set + { + lock (lockOP0502Value) + { + _value_OP0502 = value; + } + } + } + /// <summary> + /// OP05宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP0503 + { + get { return _value_OP0503; } + set + { + lock (lockOP0503Value) + { + _value_OP0503 = value; + } + } + } + /// <summary> + /// OP05宸ュ簭瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP0504 + { + get { return _value_OP0504; } + set + { + lock (lockOP0504Value) + { + _value_OP0504 = value; + } + } + } + public static string value_OP0506 + { + get { return _value_OP0506; } + set + { + lock (lockOP0506Value) + { + _value_OP0506 = value; + } + } + } + public static string value_OP0507 + { + get { return _value_OP0507; } + set + { + lock (lockOP0507Value) + { + _value_OP0507 = value; + } + } + } + #endregion + + + #region OP10宸ュ簭 + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1001 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭娴嬭瘯瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1002 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1003 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1004 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1005 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭鍛婅鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1006 = false; + public static bool isAllowRuning_OP1007 = false; + + + /// <summary> + /// 鐩戞帶OP10宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + private static string _lbl_Alert_OP1001 = string.Empty; + /// <summary> + /// 鐩戞帶OP10宸ュ簭娴嬭瘯瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + private static string _lbl_Alert_OP1002 = string.Empty; + /// <summary> + /// 鐩戞帶OP10宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + private static string _lbl_Alert_OP1003 = string.Empty; + /// <summary> + /// 鐩戞帶OP10宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + private static string _lbl_Alert_OP1004 = string.Empty; + /// <summary> + /// 鐩戞帶OP10宸ュ簭瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + private static string _lbl_Alert_OP1005 = string.Empty; + /// <summary> + /// 鐩戞帶OP10宸ュ簭鍛婅淇℃伅 + /// </summary> + private static string _lbl_Alert_OP1006 = string.Empty; + private static string _lbl_Alert_OP1007 = string.Empty; + + + /// <summary> + /// OP10宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP1001 = string.Empty; + /// <summary> + /// OP10宸ュ簭娴嬭瘯瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP1002 = string.Empty; + /// <summary> + /// OP10宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP1003 = string.Empty; + /// <summary> + /// OP10宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP1004 = string.Empty; + /// <summary> + /// OP10宸ュ簭瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP1005 = string.Empty; + /// <summary> + /// OP10宸ュ簭鍛婅鏍囪鍊� + /// </summary> + public static string value_OP1006 = string.Empty; + public static string value_OP1007 = string.Empty; + + private static object lockOP1001Alert = new object(); + private static object lockOP1002Alert = new object(); + private static object lockOP1003Alert = new object(); + private static object lockOP1004Alert = new object(); + private static object lockOP1005Alert = new object(); + private static object lockOP1006Alert = new object(); + private static object lockOP1007Alert = new object(); + + + public static string lbl_Alert_OP1001 + { + get { return _lbl_Alert_OP1001; } + set + { + lock (lockOP1001Alert) + { + _lbl_Alert_OP1001 = value; + } + } + } + public static string lbl_Alert_OP1002 + { + get { return _lbl_Alert_OP1002; } + set + { + lock (lockOP1002Alert) + { + _lbl_Alert_OP1002 = value; + } + } + } + public static string lbl_Alert_OP1003 + { + get { return _lbl_Alert_OP1003; } + set + { + lock (lockOP1003Alert) + { + _lbl_Alert_OP1003 = value; + } + } + } + public static string lbl_Alert_OP1004 + { + get { return _lbl_Alert_OP1004; } + set + { + lock (lockOP1004Alert) + { + _lbl_Alert_OP1004 = value; + } + } + } + public static string lbl_Alert_OP1005 + { + get { return _lbl_Alert_OP1005; } + set + { + lock (lockOP1005Alert) + { + _lbl_Alert_OP1005 = value; + } + } + } + public static string lbl_Alert_OP1006 + { + get { return _lbl_Alert_OP1006; } + set + { + lock (lockOP1006Alert) + { + _lbl_Alert_OP1006 = value; + } + } + } + public static string lbl_Alert_OP1007 + { + get { return _lbl_Alert_OP1007; } + set + { + lock (lockOP1007Alert) + { + _lbl_Alert_OP1007 = value; + } + } + } + #endregion + + #region OP20宸ュ簭 + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2001 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭娴嬭瘯瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2002 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2003 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2004 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2005 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭鍛婅鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2006 = false; + + + /// <summary> + /// 鐩戞帶OP20宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string _lbl_Alert_OP2001 = string.Empty; + /// <summary> + /// 鐩戞帶OP20宸ュ簭娴嬭瘯瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string _lbl_Alert_OP2002 = string.Empty; + /// <summary> + /// 鐩戞帶OP20宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string _lbl_Alert_OP2003 = string.Empty; + /// <summary> + /// 鐩戞帶OP20宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string _lbl_Alert_OP2004 = string.Empty; + /// <summary> + /// 鐩戞帶OP20宸ュ簭瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string _lbl_Alert_OP2005 = string.Empty; + /// <summary> + /// 鐩戞帶OP20宸ュ簭鍛婅淇℃伅 + /// </summary> + public static string _lbl_Alert_OP2006 = string.Empty; + + + /// <summary> + /// OP20宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP2001 = string.Empty; + /// <summary> + /// OP20宸ュ簭娴嬭瘯瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP2002 = string.Empty; + /// <summary> + /// OP20宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP2003 = string.Empty; + /// <summary> + /// OP20宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP2004 = string.Empty; + /// <summary> + /// OP20宸ュ簭瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP2005 = string.Empty; + /// <summary> + /// OP20宸ュ簭鍛婅鏍囪鍊� + /// </summary> + public static string value_OP2006 = string.Empty; + #endregion + + + #region OP30宸ュ簭 + + private static object lockOP3001Runing = new object(); + private static object lockOP3002Runing = new object(); + private static object lockOP3003Runing = new object(); + private static object lockOP3004Runing = new object(); + private static bool _isAllowRuning_OP3001 = false; + private static bool _isAllowRuning_OP3002 = false; + private static bool _isAllowRuning_OP3003 = false; + private static bool _isAllowRuning_OP3004 = false; + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3001 + { + get { return _isAllowRuning_OP3001; } + set + { + lock (lockOP3001Runing) + { + _isAllowRuning_OP3001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭娴嬮噺瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3002 + { + get { return _isAllowRuning_OP3002; } + set + { + lock (lockOP3002Runing) + { + _isAllowRuning_OP3002 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3003 + { + get { return _isAllowRuning_OP3003; } + set + { + lock (lockOP3003Runing) + { + _isAllowRuning_OP3003 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3004 + { + get { return _isAllowRuning_OP3004; } + set + { + lock (lockOP3004Runing) + { + _isAllowRuning_OP3004 = value; + } + } + } + + + private static object lockOP3001Alert = new object(); + private static object lockOP3002Alert = new object(); + private static object lockOP3003Alert = new object(); + private static object lockOP3004Alert = new object(); + private static string _lbl_Alert_OP3001 = string.Empty; + private static string _lbl_Alert_OP3002 = string.Empty; + private static string _lbl_Alert_OP3003 = string.Empty; + private static string _lbl_Alert_OP3004 = string.Empty; + /// <summary> + /// 鐩戞帶OP30宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3001 + { + get { return _lbl_Alert_OP3001; } + set + { + lock (lockOP3001Alert) + { + _lbl_Alert_OP3001 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP30宸ュ簭娴嬮噺瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3002 + { + get { return _lbl_Alert_OP3002; } + set + { + lock (lockOP3002Alert) + { + _lbl_Alert_OP3002 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP30宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3003 + { + get { return _lbl_Alert_OP3003; } + set + { + lock (lockOP3003Alert) + { + _lbl_Alert_OP3003 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3004 + { + get { return _lbl_Alert_OP3004; } + set + { + lock (lockOP3004Alert) + { + _lbl_Alert_OP3004 = value; + } + } + } + + + private static object lockOP3001Value = new object(); + private static object lockOP3002Value = new object(); + private static object lockOP3003Value = new object(); + private static object lockOP3004Value = new object(); + private static string _value_OP3001 = string.Empty; + private static string _value_OP3002 = string.Empty; + private static string _value_OP3003 = string.Empty; + private static string _value_OP3004 = string.Empty; + + /// <summary> + /// OP30宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP3001 + { + get { return _value_OP3001; } + set + { + lock (lockOP3001Value) + { + _value_OP3001 = value; + } + } + } + /// <summary> + /// OP30宸ュ簭娴嬮噺瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP3002 + { + get { return _value_OP3002; } + set + { + lock (lockOP3002Value) + { + _value_OP3002 = value; + } + } + } + /// <summary> + /// OP30宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3003 + { + get { return _value_OP3003; } + set + { + lock (lockOP3003Value) + { + _value_OP3003 = value; + } + } + } + /// <summary> + /// OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3004 + { + get { return _value_OP3004; } + set + { + lock (lockOP3004Value) + { + _value_OP3004 = value; + } + } + } + + + + private static object lockOP3005Runing = new object(); + private static bool _isAllowRuning_OP3005 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3005 + { + get { return _isAllowRuning_OP3005; } + set + { + lock (lockOP3005Runing) + { + _isAllowRuning_OP3005 = value; + } + } + } + + private static object lockOP3005Alert = new object(); + private static string _lbl_Alert_OP3005 = string.Empty; + /// <summary> + /// 鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3005 + { + get { return _lbl_Alert_OP3005; } + set + { + lock (lockOP3005Alert) + { + _lbl_Alert_OP3005 = value; + } + } + } + + private static string _value_OP3005 = string.Empty; + private static object lockOP3005Value = new object(); + /// <summary> + /// OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3005 + { + get { return _value_OP3005; } + set + { + lock (lockOP3005Value) + { + _value_OP3005 = value; + } + } + } + + + + + private static object lockOP3006Runing = new object(); + private static bool _isAllowRuning_OP3006 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3006 + { + get { return _isAllowRuning_OP3006; } + set + { + lock (lockOP3006Runing) + { + _isAllowRuning_OP3006 = value; + } + } + } + + private static object lockOP3006Alert = new object(); + private static string _lbl_Alert_OP3006 = string.Empty; + /// <summary> + /// 鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3006 + { + get { return _lbl_Alert_OP3006; } + set + { + lock (lockOP3006Alert) + { + _lbl_Alert_OP3006 = value; + } + } + } + + private static string _value_OP3006 = string.Empty; + private static object lockOP3006Value = new object(); + /// <summary> + /// OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3006 + { + get { return _value_OP3006; } + set + { + lock (lockOP3006Value) + { + _value_OP3006 = value; + } + } + } + + + + private static object lockOP3007Runing = new object(); + private static bool _isAllowRuning_OP3007 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3007 + { + get { return _isAllowRuning_OP3007; } + set + { + lock (lockOP3007Runing) + { + _isAllowRuning_OP3007 = value; + } + } + } + + private static object lockOP3007Alert = new object(); + private static string _lbl_Alert_OP3007 = string.Empty; + /// <summary> + /// 鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3007 + { + get { return _lbl_Alert_OP3007; } + set + { + lock (lockOP3007Alert) + { + _lbl_Alert_OP3007 = value; + } + } + } + + private static string _value_OP3007 = string.Empty; + private static object lockOP3007Value = new object(); + /// <summary> + /// OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3007 + { + get { return _value_OP3007; } + set + { + lock (lockOP3007Value) + { + _value_OP3007 = value; + } + } + } + #endregion + + + #region OP35宸ュ簭 + + private static object lockOP3501Runing = new object(); + private static object lockOP3502Runing = new object(); + private static object lockOP3503Runing = new object(); + private static object lockOP3504Runing = new object(); + private static bool _isAllowRuning_OP3501 = false; + private static bool _isAllowRuning_OP3502 = false; + private static bool _isAllowRuning_OP3503 = false; + private static bool _isAllowRuning_OP3504 = false; + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3501 + { + get { return _isAllowRuning_OP3501; } + set + { + lock (lockOP3501Runing) + { + _isAllowRuning_OP3501 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭娴嬮噺瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3502 + { + get { return _isAllowRuning_OP3502; } + set + { + lock (lockOP3502Runing) + { + _isAllowRuning_OP3502 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3503 + { + get { return _isAllowRuning_OP3503; } + set + { + lock (lockOP3503Runing) + { + _isAllowRuning_OP3503 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3504 + { + get { return _isAllowRuning_OP3504; } + set + { + lock (lockOP3504Runing) + { + _isAllowRuning_OP3504 = value; + } + } + } + + private static object lockOP3501Alert = new object(); + private static object lockOP3502Alert = new object(); + private static object lockOP3503Alert = new object(); + private static object lockOP3504Alert = new object(); + private static string _lbl_Alert_OP3501 = string.Empty; + private static string _lbl_Alert_OP3502 = string.Empty; + private static string _lbl_Alert_OP3503 = string.Empty; + private static string _lbl_Alert_OP3504 = string.Empty; + /// <summary> + /// 鐩戞帶OP35宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3501 + { + get { return _lbl_Alert_OP3501; } + set + { + lock (lockOP3501Alert) + { + _lbl_Alert_OP3501 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP35宸ュ簭娴嬮噺瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3502 + { + get { return _lbl_Alert_OP3502; } + set + { + lock (lockOP3502Alert) + { + _lbl_Alert_OP3502 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP35宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3503 + { + get { return _lbl_Alert_OP3503; } + set + { + lock (lockOP3503Alert) + { + _lbl_Alert_OP3503 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3504 + { + get { return _lbl_Alert_OP3504; } + set + { + lock (lockOP3504Alert) + { + _lbl_Alert_OP3504 = value; + } + } + } + + + private static object lockOP3501Value = new object(); + private static object lockOP3502Value = new object(); + private static object lockOP3503Value = new object(); + private static object lockOP3504Value = new object(); + private static string _value_OP3501 = string.Empty; + private static string _value_OP3502 = string.Empty; + private static string _value_OP3503 = string.Empty; + private static string _value_OP3504 = string.Empty; + + /// <summary> + /// OP35宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP3501 + { + get { return _value_OP3501; } + set + { + lock (lockOP3501Value) + { + _value_OP3501 = value; + } + } + } + /// <summary> + /// OP35宸ュ簭娴嬮噺瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP3502 + { + get { return _value_OP3502; } + set + { + lock (lockOP3502Value) + { + _value_OP3502 = value; + } + } + } + /// <summary> + /// OP35宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3503 + { + get { return _value_OP3503; } + set + { + lock (lockOP3503Value) + { + _value_OP3503 = value; + } + } + } + /// <summary> + /// OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3504 + { + get { return _value_OP3504; } + set + { + lock (lockOP3504Value) + { + _value_OP3504 = value; + } + } + } + + + + private static object lockOP3505Runing = new object(); + private static bool _isAllowRuning_OP3505 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3505 + { + get { return _isAllowRuning_OP3505; } + set + { + lock (lockOP3505Runing) + { + _isAllowRuning_OP3505 = value; + } + } + } + + private static object lockOP3505Alert = new object(); + private static string _lbl_Alert_OP3505 = string.Empty; + /// <summary> + /// 鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3505 + { + get { return _lbl_Alert_OP3505; } + set + { + lock (lockOP3505Alert) + { + _lbl_Alert_OP3505 = value; + } + } + } + + private static string _value_OP3505 = string.Empty; + private static object lockOP3505Value = new object(); + /// <summary> + /// OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3505 + { + get { return _value_OP3505; } + set + { + lock (lockOP3505Value) + { + _value_OP3505 = value; + } + } + } + + + + + private static object lockOP3506Runing = new object(); + private static bool _isAllowRuning_OP3506 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3506 + { + get { return _isAllowRuning_OP3506; } + set + { + lock (lockOP3506Runing) + { + _isAllowRuning_OP3506 = value; + } + } + } + + private static object lockOP3506Alert = new object(); + private static string _lbl_Alert_OP3506 = string.Empty; + /// <summary> + /// 鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3506 + { + get { return _lbl_Alert_OP3506; } + set + { + lock (lockOP3506Alert) + { + _lbl_Alert_OP3506 = value; + } + } + } + + private static string _value_OP3506 = string.Empty; + private static object lockOP3506Value = new object(); + /// <summary> + /// OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3506 + { + get { return _value_OP3506; } + set + { + lock (lockOP3506Value) + { + _value_OP3506 = value; + } + } + } + + + + private static object lockOP3507Runing = new object(); + private static bool _isAllowRuning_OP3507 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3507 + { + get { return _isAllowRuning_OP3507; } + set + { + lock (lockOP3507Runing) + { + _isAllowRuning_OP3507 = value; + } + } + } + + private static object lockOP3507Alert = new object(); + private static string _lbl_Alert_OP3507 = string.Empty; + /// <summary> + /// 鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3507 + { + get { return _lbl_Alert_OP3507; } + set + { + lock (lockOP3507Alert) + { + _lbl_Alert_OP3507 = value; + } + } + } + + private static string _value_OP3507 = string.Empty; + private static object lockOP3507Value = new object(); + /// <summary> + /// OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3507 + { + get { return _value_OP3507; } + set + { + lock (lockOP3507Value) + { + _value_OP3507 = value; + } + } + } + #endregion + + + #region OP70宸ュ簭 + + private static object lockOP7001Runing = new object(); + private static object lockOP7002Runing = new object(); + private static object lockOP7003Runing = new object(); + private static object lockOP7004Runing = new object(); + private static bool _isAllowRuning_OP7001 = false; + private static bool _isAllowRuning_OP7002 = false; + private static bool _isAllowRuning_OP7003 = false; + private static bool _isAllowRuning_OP7004 = false; + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7001 + { + get { return _isAllowRuning_OP7001; } + set + { + lock (lockOP7001Runing) + { + _isAllowRuning_OP7001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭娴嬮噺瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7002 + { + get { return _isAllowRuning_OP7002; } + set + { + lock (lockOP7002Runing) + { + _isAllowRuning_OP7002 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7003 + { + get { return _isAllowRuning_OP7003; } + set + { + lock (lockOP7003Runing) + { + _isAllowRuning_OP7003 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7004 + { + get { return _isAllowRuning_OP7004; } + set + { + lock (lockOP7004Runing) + { + _isAllowRuning_OP7004 = value; + } + } + } + + + private static object lockOP7001Alert = new object(); + private static object lockOP7002Alert = new object(); + private static object lockOP7003Alert = new object(); + private static object lockOP7004Alert = new object(); + private static string _lbl_Alert_OP7001 = string.Empty; + private static string _lbl_Alert_OP7002 = string.Empty; + private static string _lbl_Alert_OP7003 = string.Empty; + private static string _lbl_Alert_OP7004 = string.Empty; + /// <summary> + /// 鐩戞帶OP70宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7001 + { + get { return _lbl_Alert_OP7001; } + set + { + lock (lockOP7001Alert) + { + _lbl_Alert_OP7001 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP70宸ュ簭娴嬮噺瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7002 + { + get { return _lbl_Alert_OP7002; } + set + { + lock (lockOP7002Alert) + { + _lbl_Alert_OP7002 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP70宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7003 + { + get { return _lbl_Alert_OP7003; } + set + { + lock (lockOP7003Alert) + { + _lbl_Alert_OP7003 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7004 + { + get { return _lbl_Alert_OP7004; } + set + { + lock (lockOP7004Alert) + { + _lbl_Alert_OP7004 = value; + } + } + } + + + private static object lockOP7001Value = new object(); + private static object lockOP7002Value = new object(); + private static object lockOP7003Value = new object(); + private static object lockOP7004Value = new object(); + private static string _value_OP7001 = string.Empty; + private static string _value_OP7002 = string.Empty; + private static string _value_OP7003 = string.Empty; + private static string _value_OP7004 = string.Empty; + + /// <summary> + /// OP70宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP7001 + { + get { return _value_OP7001; } + set + { + lock (lockOP7001Value) + { + _value_OP7001 = value; + } + } + } + /// <summary> + /// OP70宸ュ簭娴嬮噺瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP7002 + { + get { return _value_OP7002; } + set + { + lock (lockOP7002Value) + { + _value_OP7002 = value; + } + } + } + /// <summary> + /// OP70宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP7003 + { + get { return _value_OP7003; } + set + { + lock (lockOP7003Value) + { + _value_OP7003 = value; + } + } + } + /// <summary> + /// OP70宸ュ簭璇荤爜锛堝氨鏄疧P70宸ュ簭娴嬮噺瀹屾垚鍚庝細鎵撳嵃涓�涓柊浜岀淮鐮侊紝缁戝畾鍘熷伐浠跺彿锛� + /// </summary> + public static string value_OP7004 + { + get { return _value_OP7004; } + set + { + lock (lockOP7004Value) + { + _value_OP7004 = value; + } + } + } + + + + private static object lockOP7005Runing = new object(); + private static bool _isAllowRuning_OP7005 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7005 + { + get { return _isAllowRuning_OP7005; } + set + { + lock (lockOP7005Runing) + { + _isAllowRuning_OP7005 = value; + } + } + } + + private static object lockOP7005Alert = new object(); + private static string _lbl_Alert_OP7005 = string.Empty; + /// <summary> + /// 鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7005 + { + get { return _lbl_Alert_OP7005; } + set + { + lock (lockOP7005Alert) + { + _lbl_Alert_OP7005 = value; + } + } + } + + private static string _value_OP7005 = string.Empty; + private static object lockOP7005Value = new object(); + /// <summary> + /// OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP7005 + { + get { return _value_OP7005; } + set + { + lock (lockOP7005Value) + { + _value_OP7005 = value; + } + } + } + + + + + private static object lockOP7006Runing = new object(); + private static bool _isAllowRuning_OP7006 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7006 + { + get { return _isAllowRuning_OP7006; } + set + { + lock (lockOP7006Runing) + { + _isAllowRuning_OP7006 = value; + } + } + } + + private static object lockOP7006Alert = new object(); + private static string _lbl_Alert_OP7006 = string.Empty; + /// <summary> + /// 鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7006 + { + get { return _lbl_Alert_OP7006; } + set + { + lock (lockOP7006Alert) + { + _lbl_Alert_OP7006 = value; + } + } + } + + private static string _value_OP7006 = string.Empty; + private static object lockOP7006Value = new object(); + /// <summary> + /// OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP7006 + { + get { return _value_OP7006; } + set + { + lock (lockOP7006Value) + { + _value_OP7006 = value; + } + } + } + + + + private static object lockOP7007Runing = new object(); + private static bool _isAllowRuning_OP7007 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7007 + { + get { return _isAllowRuning_OP7007; } + set + { + lock (lockOP7007Runing) + { + _isAllowRuning_OP7007 = value; + } + } + } + + private static object lockOP7007Alert = new object(); + private static string _lbl_Alert_OP7007 = string.Empty; + /// <summary> + /// 鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7007 + { + get { return _lbl_Alert_OP7007; } + set + { + lock (lockOP7007Alert) + { + _lbl_Alert_OP7007 = value; + } + } + } + + private static string _value_OP7007 = string.Empty; + private static object lockOP7007Value = new object(); + /// <summary> + /// OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP7007 + { + get { return _value_OP7007; } + set + { + lock (lockOP7007Value) + { + _value_OP7007 = value; + } + } + } + #endregion + #region OP80宸ュ簭 + + private static object lockOP8001Runing = new object(); + private static object lockOP8002Runing = new object(); + private static object lockOP8003Runing = new object(); + private static object lockOP8004Runing = new object(); + private static bool _isAllowRuning_OP8001 = false; + private static bool _isAllowRuning_OP8002 = false; + private static bool _isAllowRuning_OP8003 = false; + private static bool _isAllowRuning_OP8004 = false; + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8001 + { + get { return _isAllowRuning_OP8001; } + set + { + lock (lockOP8001Runing) + { + _isAllowRuning_OP8001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭娴嬮噺瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8002 + { + get { return _isAllowRuning_OP8002; } + set + { + lock (lockOP8002Runing) + { + _isAllowRuning_OP8002 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8003 + { + get { return _isAllowRuning_OP8003; } + set + { + lock (lockOP8003Runing) + { + _isAllowRuning_OP8003 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8004 + { + get { return _isAllowRuning_OP8004; } + set + { + lock (lockOP8004Runing) + { + _isAllowRuning_OP8004 = value; + } + } + } + + + private static object lockOP8001Alert = new object(); + private static object lockOP8002Alert = new object(); + private static object lockOP8003Alert = new object(); + private static object lockOP8004Alert = new object(); + private static string _lbl_Alert_OP8001 = string.Empty; + private static string _lbl_Alert_OP8002 = string.Empty; + private static string _lbl_Alert_OP8003 = string.Empty; + private static string _lbl_Alert_OP8004 = string.Empty; + /// <summary> + /// 鐩戞帶OP80宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8001 + { + get { return _lbl_Alert_OP8001; } + set + { + lock (lockOP8001Alert) + { + _lbl_Alert_OP8001 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP80宸ュ簭娴嬮噺瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8002 + { + get { return _lbl_Alert_OP8002; } + set + { + lock (lockOP8002Alert) + { + _lbl_Alert_OP8002 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP80宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8003 + { + get { return _lbl_Alert_OP8003; } + set + { + lock (lockOP8003Alert) + { + _lbl_Alert_OP8003 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8004 + { + get { return _lbl_Alert_OP8004; } + set + { + lock (lockOP8004Alert) + { + _lbl_Alert_OP8004 = value; + } + } + } + + + private static object lockOP8001Value = new object(); + private static object lockOP8002Value = new object(); + private static object lockOP8003Value = new object(); + private static object lockOP8004Value = new object(); + private static string _value_OP8001 = string.Empty; + private static string _value_OP8002 = string.Empty; + private static string _value_OP8003 = string.Empty; + private static string _value_OP8004 = string.Empty; + + /// <summary> + /// OP80宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP8001 + { + get { return _value_OP8001; } + set + { + lock (lockOP8001Value) + { + _value_OP8001 = value; + } + } + } + /// <summary> + /// OP80宸ュ簭娴嬮噺瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP8002 + { + get { return _value_OP8002; } + set + { + lock (lockOP8002Value) + { + _value_OP8002 = value; + } + } + } + /// <summary> + /// OP80宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP8003 + { + get { return _value_OP8003; } + set + { + lock (lockOP8003Value) + { + _value_OP8003 = value; + } + } + } + /// <summary> + /// OP80宸ュ簭璇荤爜锛堝氨鏄疧P80宸ュ簭娴嬮噺瀹屾垚鍚庝細鎵撳嵃涓�涓柊浜岀淮鐮侊紝缁戝畾鍘熷伐浠跺彿锛� + /// </summary> + public static string value_OP8004 + { + get { return _value_OP8004; } + set + { + lock (lockOP8004Value) + { + _value_OP8004 = value; + } + } + } + + + + private static object lockOP8005Runing = new object(); + private static bool _isAllowRuning_OP8005 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8005 + { + get { return _isAllowRuning_OP8005; } + set + { + lock (lockOP8005Runing) + { + _isAllowRuning_OP8005 = value; + } + } + } + + private static object lockOP8005Alert = new object(); + private static string _lbl_Alert_OP8005 = string.Empty; + /// <summary> + /// 鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8005 + { + get { return _lbl_Alert_OP8005; } + set + { + lock (lockOP8005Alert) + { + _lbl_Alert_OP8005 = value; + } + } + } + + private static string _value_OP8005 = string.Empty; + private static object lockOP8005Value = new object(); + /// <summary> + /// OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP8005 + { + get { return _value_OP8005; } + set + { + lock (lockOP8005Value) + { + _value_OP8005 = value; + } + } + } + + + + + private static object lockOP8006Runing = new object(); + private static bool _isAllowRuning_OP8006 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8006 + { + get { return _isAllowRuning_OP8006; } + set + { + lock (lockOP8006Runing) + { + _isAllowRuning_OP8006 = value; + } + } + } + + private static object lockOP8006Alert = new object(); + private static string _lbl_Alert_OP8006 = string.Empty; + /// <summary> + /// 鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8006 + { + get { return _lbl_Alert_OP8006; } + set + { + lock (lockOP8006Alert) + { + _lbl_Alert_OP8006 = value; + } + } + } + + private static string _value_OP8006 = string.Empty; + private static object lockOP8006Value = new object(); + /// <summary> + /// OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP8006 + { + get { return _value_OP8006; } + set + { + lock (lockOP8006Value) + { + _value_OP8006 = value; + } + } + } + + + + private static object lockOP8007Runing = new object(); + private static bool _isAllowRuning_OP8007 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8007 + { + get { return _isAllowRuning_OP8007; } + set + { + lock (lockOP8007Runing) + { + _isAllowRuning_OP8007 = value; + } + } + } + + private static object lockOP8007Alert = new object(); + private static string _lbl_Alert_OP8007 = string.Empty; + /// <summary> + /// 鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8007 + { + get { return _lbl_Alert_OP8007; } + set + { + lock (lockOP8007Alert) + { + _lbl_Alert_OP8007 = value; + } + } + } + + private static string _value_OP8007 = string.Empty; + private static object lockOP8007Value = new object(); + /// <summary> + /// OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP8007 + { + get { return _value_OP8007; } + set + { + lock (lockOP8007Value) + { + _value_OP8007 = value; + } + } + } + #endregion + + #region HMI + + private static object lockHMIBeartBeatMonitorRuning = new object(); + private static bool _isAllowRuning_HMIBeartBeatMonitor = false; + private static object lockHMIBeartBeatMonitorAlert = new object(); + private static string _lbl_Alert_HMIBeartBeatMonitor = string.Empty; + + /// <summary> + /// 鐩戞帶HMI蹇冭烦淇℃伅 + /// </summary> + public static bool isAllowRuning_HMIBeartBeatMonitor + { + get { return _isAllowRuning_HMIBeartBeatMonitor; } + set + { + lock (lockHMIBeartBeatMonitorRuning) + { + _isAllowRuning_HMIBeartBeatMonitor = value; + } + } + } + /// <summary> + /// 鐩戞帶HMI蹇冭烦淇℃伅鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIBeartBeatMonitor + { + get { return _lbl_Alert_HMIBeartBeatMonitor; } + set + { + lock (lockHMIBeartBeatMonitorAlert) + { + _lbl_Alert_HMIBeartBeatMonitor = value; + } + } + } + + private static object lockHMIOP104001Runing = new object(); + private static object lockHMIOP2001Runing = new object(); + private static object lockHMIOP303501Runing = new object(); + private static object lockHMIOP5001Runing = new object(); + private static object lockHMIOP6001Runing = new object(); + private static object lockHMIOP104002Runing = new object(); + private static object lockHMIOP2002Runing = new object(); + private static object lockHMIOP303502Runing = new object(); + private static object lockHMIOP5002Runing = new object(); + private static object lockHMIOP6002Runing = new object(); + private static bool _isAllowRuning_HMIOP104001 = false; + private static bool _isAllowRuning_HMIOP2001 = false; + private static bool _isAllowRuning_HMIOP303501 = false; + private static bool _isAllowRuning_HMIOP5001 = false; + private static bool _isAllowRuning_HMIOP6001 = false; + private static bool _isAllowRuning_HMIOP104002 = false; + private static bool _isAllowRuning_HMIOP2002 = false; + private static bool _isAllowRuning_HMIOP303502 = false; + private static bool _isAllowRuning_HMIOP5002 = false; + private static bool _isAllowRuning_HMIOP6002 = false; + private static object lockHMIOP104001Alert = new object(); + private static object lockHMIOP2001Alert = new object(); + private static object lockHMIOP303501Alert = new object(); + private static object lockHMIOP5001Alert = new object(); + private static object lockHMIOP6001Alert = new object(); + private static object lockHMIOP104002Alert = new object(); + private static object lockHMIOP2002Alert = new object(); + private static object lockHMIOP303502Alert = new object(); + private static object lockHMIOP5002Alert = new object(); + private static object lockHMIOP6002Alert = new object(); + private static string _lbl_Alert_HMIOP104001 = string.Empty; + private static string _lbl_Alert_HMIOP2001 = string.Empty; + private static string _lbl_Alert_HMIOP303501 = string.Empty; + private static string _lbl_Alert_HMIOP5001 = string.Empty; + private static string _lbl_Alert_HMIOP6001 = string.Empty; + private static string _lbl_Alert_HMIOP104002 = string.Empty; + private static string _lbl_Alert_HMIOP2002 = string.Empty; + private static string _lbl_Alert_HMIOP303502 = string.Empty; + private static string _lbl_Alert_HMIOP5002 = string.Empty; + private static string _lbl_Alert_HMIOP6002 = string.Empty; + + #region 鐩戞帶璇诲彇绾跨▼ + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP104001璇诲彇浜岀淮鐮佺嚎绋� + /// </summary> + public static bool isAllowRuning_HMIOP104001 + { + get { return _isAllowRuning_HMIOP104001; } + set + { + lock (lockHMIOP104001Runing) + { + _isAllowRuning_HMIOP104001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP2001璇诲彇浜岀淮鐮佺嚎绋� + /// </summary> + public static bool isAllowRuning_HMIOP2001 + { + get { return _isAllowRuning_HMIOP2001; } + set + { + lock (lockHMIOP2001Runing) + { + _isAllowRuning_HMIOP2001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP303501璇诲彇浜岀淮鐮佺嚎绋� + /// </summary> + public static bool isAllowRuning_HMIOP303501 + { + get { return _isAllowRuning_HMIOP303501; } + set + { + lock (lockHMIOP303501Runing) + { + _isAllowRuning_HMIOP303501 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP5001璇诲彇浜岀淮鐮佺嚎绋� + /// </summary> + public static bool isAllowRuning_HMIOP5001 + { + get { return _isAllowRuning_HMIOP5001; } + set + { + lock (lockHMIOP5001Runing) + { + _isAllowRuning_HMIOP5001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP6001璇诲彇浜岀淮鐮佺嚎绋� + /// </summary> + public static bool isAllowRuning_HMIOP6001 + { + get { return _isAllowRuning_HMIOP6001; } + set + { + lock (lockHMIOP6001Runing) + { + _isAllowRuning_HMIOP6001 = value; + } + } + } + #endregion + + #region 鐩戞帶鍐欏叆绾跨▼ + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP104002鍐欏叆璐ㄩ噺鏁版嵁绾跨▼ + /// </summary> + public static bool isAllowRuning_HMIOP104002 + { + get { return _isAllowRuning_HMIOP104002; } + set + { + lock (lockHMIOP104002Runing) + { + _isAllowRuning_HMIOP104002 = value; + } + } + } + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP2002鍐欏叆璐ㄩ噺鏁版嵁绾跨▼ + /// </summary> + public static bool isAllowRuning_HMIOP2002 + { + get { return _isAllowRuning_HMIOP2002; } + set + { + lock (lockHMIOP2002Runing) + { + _isAllowRuning_HMIOP2002 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP303502鍐欏叆璐ㄩ噺鏁版嵁绾跨▼ + /// </summary> + public static bool isAllowRuning_HMIOP303502 + { + get { return _isAllowRuning_HMIOP303502; } + set + { + lock (lockHMIOP303502Runing) + { + _isAllowRuning_HMIOP303502 = value; + } + } + } + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP5002鍐欏叆璐ㄩ噺鏁版嵁绾跨▼ + /// </summary> + public static bool isAllowRuning_HMIOP5002 + { + get { return _isAllowRuning_HMIOP5002; } + set + { + lock (lockHMIOP5002Runing) + { + _isAllowRuning_HMIOP5002 = value; + } + } + } + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP6002鏇存柊璐ㄩ噺鏁版嵁绾跨▼ + /// </summary> + public static bool isAllowRuning_HMIOP6002 + { + get { return _isAllowRuning_HMIOP6002; } + set + { + lock (lockHMIOP6002Runing) + { + _isAllowRuning_HMIOP6002 = value; + } + } + } + #endregion + + #region 鐩戞帶璇诲彇绾跨▼浜岀淮鐮佺殑璀﹀憡淇℃伅 + /// <summary> + /// 鐩戞帶HMIOP104001璇诲彇浜岀淮鐮佺殑璀﹀憡娑堟伅 + /// </summary> + public static string lbl_Alert_HMIOP104001 + { + get { return _lbl_Alert_HMIOP104001; } + set + { + lock (lockHMIOP104001Alert) + { + _lbl_Alert_HMIOP104001 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP2001璇诲彇浜岀淮鐮佺殑璀﹀憡娑堟伅 + /// </summary> + public static string lbl_Alert_HMIOP2001 + { + get { return _lbl_Alert_HMIOP2001; } + set + { + lock (lockHMIOP2001Alert) + { + _lbl_Alert_HMIOP2001 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP303501璇诲彇浜岀淮鐮佺殑璀﹀憡娑堟伅 + /// </summary> + public static string lbl_Alert_HMIOP303501 + { + get { return _lbl_Alert_HMIOP303501; } + set + { + lock (lockHMIOP303501Alert) + { + _lbl_Alert_HMIOP303501 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP5001璇诲彇浜岀淮鐮佺殑璀﹀憡娑堟伅 + /// </summary> + public static string lbl_Alert_HMIOP5001 + { + get { return _lbl_Alert_HMIOP5001; } + set + { + lock (lockHMIOP5001Alert) + { + _lbl_Alert_HMIOP5001 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP6001璇诲彇浜岀淮鐮佺殑璀﹀憡娑堟伅 + /// </summary> + public static string lbl_Alert_HMIOP6001 + { + get { return _lbl_Alert_HMIOP6001; } + set + { + lock (lockHMIOP6001Alert) + { + _lbl_Alert_HMIOP6001 = value; + } + } + } + #endregion + + #region 鐩戞帶鍐欏叆绾跨▼浜岀淮鐮佺殑璀﹀憡淇℃伅 + /// <summary> + /// 鐩戞帶HMIOP104002鍐欏叆璐ㄩ噺鏁版嵁鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIOP104002 + { + get { return _lbl_Alert_HMIOP104002; } + set + { + lock (lockHMIOP104002Alert) + { + _lbl_Alert_HMIOP104002 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP2002鍐欏叆璐ㄩ噺鏁版嵁鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIOP2002 + { + get { return _lbl_Alert_HMIOP2002; } + set + { + lock (lockHMIOP2002Alert) + { + _lbl_Alert_HMIOP2002 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP303502鍐欏叆璐ㄩ噺鏁版嵁鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIOP303502 + { + get { return _lbl_Alert_HMIOP303502; } + set + { + lock (lockHMIOP303502Alert) + { + _lbl_Alert_HMIOP303502 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP5002鏇存柊璐ㄩ噺鏁版嵁鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIOP5002 + { + get { return _lbl_Alert_HMIOP5002; } + set + { + lock (lockHMIOP5002Alert) + { + _lbl_Alert_HMIOP5002 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP6002鏇存柊璐ㄩ噺鏁版嵁鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIOP6002 + { + get { return _lbl_Alert_HMIOP6002; } + set + { + lock (lockHMIOP6002Alert) + { + _lbl_Alert_HMIOP6002 = value; + } + } + } + #endregion + #endregion + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs new file mode 100644 index 0000000..5ccf128 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs @@ -0,0 +1,2322 @@ +锘縰sing iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using iWare_SCADA_Model.MiddleModel; +using iWare_SCADA_Model.TableModel; +using log4net; +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Diagnostics; +//using System.Data.Entity.Infrastructure; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Web.UI.WebControls; +using System.Windows.Forms; +using static System.Windows.Forms.AxHost; + +namespace iWare_SCADA_BusinessLogical.BLL +{ + public class WorkPieceInfoManager + { + public static WorkPieceInfo GetWorkPieceInfo(string WorkPieceID) + { + using (DbModel db = new DbModel()) + { + //鏌ヨ鎵�鏈� + var query = db.WorkPieceInfo.Where(o => o.WorkPieceID == WorkPieceID).FirstOrDefault(); + return query; + } + } + + + public static long InsertWorkPieceInfo(WorkPieceInfo workPiece) + { + using (DbModel db = new DbModel()) + { + db.WorkPieceInfo.Add(workPiece); + db.SaveChanges(); + return workPiece.Id; + } + } + + public static WorkPieceLogMiddle GetAddWorkPieceLog(WorkPieceLogMiddle loginfo) + { + loginfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + return loginfo; + } + + /// <summary> + /// 缁橶orkPieceLog涓婚敭绛夊叕鍏辩殑鐨勫睘鎬ц祴鍊� + /// </summary> + /// <param name="loginfo"></param> + /// <returns></returns> + public static WorkPieceLog GetAddWorkPieceLog(WorkPieceLog loginfo) + { + loginfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + return loginfo; + } + public static WorkPieceLog GetAddWorkPieceLog1(WorkPieceLogMiddle loginfo) + { + loginfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + return loginfo; + } + /// <summary> + /// 閫氳繃WorkPieceInfo 缁橶orkPieceInfoLog 灞炴�ц祴鍊� + /// </summary> + /// <param name="wpinfo"></param> + /// <returns></returns> + public static WorkPieceInfoLog GetAddWorkPieceInfoLog(WorkPieceInfo wpinfo) + { + WorkPieceInfoLog infolog = EntityPropHelper.Mapper<WorkPieceInfoLog, WorkPieceInfo>(wpinfo); + infolog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + infolog.WorkPieceInfoID = wpinfo.Id; + infolog.LogAddTime = DateTime.Now; + return infolog; + } + /// <summary> + /// 缁橯ualityDataInfo涓婚敭绛夊叕鍏辩殑鐨勫睘鎬ц祴鍊� + /// </summary> + /// <param name="loginfo"></param> + /// <returns></returns> + public static QualityDataInfo GetAddQualityDataInfo(QualityDataInfo qdinfo) + { + qdinfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + return qdinfo; + } + /// <summary> + /// 閫氳繃QualityDataInfo 缁橯ualityDataInfoLog 灞炴�ц祴鍊� + /// </summary> + /// <param name="wpinfo"></param> + /// <returns></returns> + public static QualityDataInfoLog GetAddQualityDataInfoLog(QualityDataInfo qdinfo) + { + QualityDataInfoLog infolog = EntityPropHelper.Mapper<QualityDataInfoLog, QualityDataInfo>(qdinfo); + infolog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + return infolog; + } + public static void test() + { + using (DbModel db = new DbModel()) + { + //WorkPieceLogMiddle a = new WorkPieceLogMiddle(); + //a.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + //a.WorkPieceID="test01"+ new Random().Next(4).ToString(); + //a.QualityType = QualityType.SPC.ToString(); + + //if(a.QualityType.Equals(QualityType.SPC.ToString())) + //{ + // a.Remarks = "SPC"; + //} + //else + //{ + // a.Remarks = "AUTO"; + //} + + //WorkPieceLog b = new WorkPieceLog(); + //b.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + //b.WorkPieceID = "testxxx" + new Random().Next(0,1000).ToString(); + //b.QualityType = QualityType.SPC.ToString(); + //b.Remarks = "SPC insert into"; + //b.QualityState = 2; + //b.QualityStateUpdateMode = "heheh"; + //db.WorkPieceLog.Add(b); + + + //db.SaveChanges(); + + } + + } + /// <summary> + /// 鏍规嵁璁惧id鏇存柊鍒�鍏峰鍛戒俊鎭紙鐩墠璁惧畾姣忕敓浜т竴涓伐浠讹紝鎵�鏈夊垁鍏峰鍛介兘浼氬噺1锛� + /// </summary> + /// <param name="db"></param> + /// <param name="loginfo"></param> + public static void UpdateKnifeToolLift(DbModel db, WorkPieceLog loginfo) + { + try + { + var info = db.KnifeToolEquipmentInfo.Where(o => o.EquipmentID.Equals(loginfo.EquipmentID)).ToList(); + foreach (var item in info) + { + item.CurrentLife++; + item.UpdatedTime = DateTime.Now; + } + + } + catch (Exception ex) + { + loginfo.Remarks = (loginfo.Remarks ?? "") + $"{loginfo.WorkPieceID ?? "绌�"}鍒�鍏峰鍛芥洿鏂版暟鎹紓甯竰ex.Message}"; + + } + } + + /// <summary> + /// 璇诲彇浜岀淮鐮佹椂閫昏緫 + /// 鏍¢獙宸ヤ欢鏄惁璺冲簭锛岃川閲忔槸鍚﹀悎鏍� + /// </summary> + public static void ReadQRcode(WorkPieceLog loginfo, LogType type, PLCService plcService, int? IsFeedback) + {//姝ゅ鍚屾椂鎻掑叆浜哤orkPieceLog锛學orkPieceInfoLog琛紝骞舵柊澧炴垨淇敼WorkPieceInfo琛� + using (DbModel db = new DbModel()) + { + try + { + bool isAddWorkPieceInfo = false; + if (loginfo.WorkPieceID.Length == 22) + { + WorkPieceInfo info = new WorkPieceInfo(); + info = db.WorkPieceInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault(); + if (info == null || info.WorkPieceID.Length < 1) + {//鎻掑叆WorkPieceInfo琛� + loginfo = CommonManager.Instance.GetWorkPieceID(loginfo, type); + info = EntityPropHelper.Mapper<WorkPieceInfo, WorkPieceLog>(loginfo); + //EntityPropHelper<WorkPieceLog, WorkPieceInfo>.CopyProp(loginfo, info, loginfo.GetWorkPieceInfoDict()); + if (!loginfo.WorkingProcedure.Equals("OP05")) + {//褰撳伐浠朵簩缁寸爜绗竴娆″嚭鐜扮殑宸ュ簭涓嶆槸OP05锛屽垯璁剧疆涓哄彲鐤戠姸鎬� + info.QualityState = (int)QualityState.Suspected; + info.QualityErrorInfo = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{loginfo.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒"; + info.Remarks = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{loginfo.WorkingProcedure}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒"; + } + else + { + info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� + info.Remarks = "OP05鏂板宸ヤ欢淇℃伅"; + } + info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime(); + info.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80"; + info.CreatedUserName = loginfo.MonitoringPoint; + info.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + info = ParseQRCode(info); + isAddWorkPieceInfo = true; + } + else + { + if (info.WorkingProcedureCurrent.Equals("OP05")) + { + loginfo.Remarks = (loginfo.Remarks ?? "") + $"璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"} OP05宸ュ簭閲嶅璇诲彇浜�"; + return; + } + } + info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime();// + info.WorkingProcedureEndTime = null; + info.WorkPieceState = (int)WorkPieceState.WIP; + info.EquipmentID = loginfo.EquipmentID; + info.QualityStateUpdateUser = loginfo.UpdatedUserName; + info.QualityStateUpdateTime = loginfo.UpdatedTime.Value.LocalDateTime; + info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); + info.UpdatedUserName = loginfo.MonitoringPoint; + info.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + info.WorkPieceCurrentPosition = loginfo.WorkingProcedure; + info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(loginfo.WorkingProcedure) / 2; + info.WorkingProcedureCurrent = loginfo.WorkingProcedure; + info.Remarks = info.Remarks ?? "" + $"{info.WorkingProcedureCurrent}宸ヤ欢涓婄嚎"; + + var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID && !o.OperationType.Equals("SPC") && (o.EndTime == null || o.EndTime <= DateTime.MinValue)).OrderByDescending(o => o.StartTime).FirstOrDefault(); + if (pro != null && pro.WorkPieceID.Length > 1) + { + pro.EndTime = DateTimeHelper.GetDateTime(); + pro.UpdatedUserName = loginfo.MonitoringPoint; + pro.UpdatedTime = DateTimeHelper.GetDateTime(); + pro.Remarks = (pro.Remarks ?? "") + "鍙堜竴娆′笂绾匡紝鏇存柊缁撴潫鏃堕棿"; + } + //姣忔鎵弿涓婄嚎閮芥彃鍏ヨ拷婧〃 + WorkPieceProcess process = new WorkPieceProcess(); + process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info); + process.StartTime = DateTimeHelper.GetDateTime(); + process.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK; + process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + process.CreatedUserName = loginfo.MonitoringPoint; + process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + process.UpdatedUserName = loginfo.MonitoringPoint; + process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + process.OperationType = OperationType.鐢熶骇.ToString(); + process.Remarks = ""; + if (loginfo.WorkingProcedure.Equals("OP05")) + { + process.EndTime = process.StartTime; + } + db.WorkPieceProcess.Add(process); + + //db.Database.AutoTransactionsEnabled = false;// 鍚屼竴涓猄aveChanges榛樿浜嬪姟锛� 鍏抽棴榛樿浜嬪姟锛�... 濂藉儚涓嶈兘鐢ㄥ晩锛屽悗闈㈠啀鐮旂┒鍚� + if (isAddWorkPieceInfo) + { + db.WorkPieceInfo.Add(info); + } + else + {//涓嶇‘瀹歩nfo鏄洿鎺ヤ細淇敼杩樻槸闇�瑕佸啀娆℃煡璇紝寰呮祴璇� + //info.Remarks = "淇敼锛屽叿浣撲慨鏀归�昏緫寰呭畾"; + } + + #region 鍒ゆ柇鏄惁璺冲簭,鎴栬川閲忎笉绗﹀悎 鐒跺悗鍙嶉PLC + if (IsFeedback.HasValue && IsFeedback.Value == (int)FeedbackMode.FeedbackPLC) + { + bool checkQualityInfoCompleteFlag = false; + bool plcFlag = true;//鍙嶉缁橮LC鐨勬爣璁� + string message = ""; + checkQualityInfoCompleteFlag = WorkPieceInfoManager.CheckQualityInfoComplete(info, loginfo, type); + + if (!checkQualityInfoCompleteFlag || info.QualityState != (int)QualityState.OK) + { + plcFlag = false; + message = !checkQualityInfoCompleteFlag ? "璺冲簭锛�" : ""; + message += info.QualityState != (int)QualityState.OK ? "璐ㄩ噺涓嶇鍚�" : ""; + } + ////鍙嶉缁橮LC锛岋紙鍐欏叆鐐瑰緟瀹氾級 + //MessageModel fr = null; + //fr = plcService.WriteValuePoint("", "", plcFlag, PLCManger.GetTypeForString("bool")); + //if (fr.result) + //{ + // Log4NetHelper.WriteInfoLog(type, $" 宸ヤ欢{info.WorkPieceID} {loginfo.WorkingProcedure}宸ュ簭鍙嶉缁橮LC 鎴愬姛锛� 鍑虹幇 {message}"); + //} + //else + //{ + // Log4NetHelper.WriteErrorLog(type, $" 宸ヤ欢{info.WorkPieceID} {loginfo.WorkingProcedure}宸ュ簭鍙嶉缁橮LC 澶辫触锛� 鍑虹幇 {message} 锛屽け璐ュ師鍥狅細{fr.resMsg}"); + //} + + //#region 鍙嶉PLC + + //bool checkQualityInfoCompleteFlag = false; + //bool plcFlag = true;//鍙嶉缁橮LC鐨勬爣璁� + //string message = ""; + //checkQualityInfoCompleteFlag = WorkPieceInfoManager.CheckQualityInfoComplete(info, wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + + //if (!checkQualityInfoCompleteFlag || info.QualityState != (int)QualityState.OK) + //{ + // plcFlag = false; + // message = !checkQualityInfoCompleteFlag ? "璺冲簭锛�" : ""; + //message += info.QualityState != (int)QualityState.OK ? "璐ㄩ噺涓嶇鍚�" : ""; + //} + ////鍙嶉缁橮LC锛岋紙鍐欏叆鐐瑰緟瀹氾級 + //MessageModel fr = null; + //fr = plcService.WriteValuePoint("", "", plcFlag, PLCManger.GetTypeForString("bool")); + //if (fr.result) + //{ + // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" 宸ヤ欢{wplog.WorkPieceID} {WorkingProcedure}宸ュ簭鍙嶉缁橮LC 鎴愬姛锛� 鍑虹幇 {message}"); + //} + //else + //{ + // Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" 宸ヤ欢{wplog.WorkPieceID} {WorkingProcedure}宸ュ簭鍙嶉缁橮LC 澶辫触锛� 鍑虹幇 {message} 锛屽け璐ュ師鍥狅細{fr.resMsg}"); + //} + //#endregion + } + else + {//璇荤爜瀹屾垚鑻ュ伐浠惰川閲忎笉绗﹀悎鎴栧彂鐢熻烦搴忥紝涓嶇敤绠¤澶囨槸鍚︽妸宸ヤ欢鏀捐繃鍘伙紝鏁伴噰绯荤粺閮戒笉鍙樻洿褰撳墠宸ュ簭锛屽弽棣堣澶嘝LC宸ヤ欢涓嶇鍚堬紝 + //鑻ュ伐搴忓悗缁敹闆嗙偣鏀跺埌鐩稿叧宸ヤ欢淇℃伅鍐嶅彉鏇村綋鍓嶅伐搴忥紝 浣嗚川閲忎俊鎭笉鍙� + + info.WorkingProcedureCurrent = loginfo.WorkingProcedure; + } + #endregion + + #region 鏇存柊璁惧瀹炴椂琛� + + bool isAddEquipmentCurrentMonitor = false; + EquipmentCurrentMonitor equinfo = new EquipmentCurrentMonitor(); + equinfo = db.EquipmentCurrentMonitor.Where(o => o.EquipmentID == loginfo.EquipmentID).FirstOrDefault(); + if (equinfo == null || equinfo.Id < 1) + {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� + Log4NetHelper.WriteErrorLog(type, $"璁惧{loginfo.EquipmentID} 鍛婅鐩戞帶{loginfo.WorkingProcedure} 娌℃湁鑾峰彇鍒拌澶囩洃鎺т俊鎭紝鐜版柊澧�"); + equinfo = EntityPropHelper.Mapper<EquipmentCurrentMonitor, WorkPieceLog>(loginfo); + equinfo.OnlineTime = DateTime.Now; + isAddEquipmentCurrentMonitor = true; + } + else + {//鏇存柊宸ヤ欢 + equinfo.WorkPieceID = loginfo.WorkPieceID; + equinfo.UpdatedUserName = loginfo.MonitoringPoint; + equinfo.UpdatedTime = DateTime.Now; + equinfo.OnlineTime = DateTime.Now; + } + if (isAddEquipmentCurrentMonitor) + { + equinfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + db.EquipmentCurrentMonitor.Add(equinfo); + } + #endregion + //db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo)); + db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(info)); + //UpdateKnifeToolLift(db, loginfo);//鏇存柊鍒�鍏峰鍛戒俊鎭� + } + else + { + loginfo.Remarks = (loginfo.Remarks ?? "") + $"涓婄嚎瀹屾垚璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"}寮傚父"; + Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}涓婄嚎鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{loginfo.WorkPieceID ?? "绌�"}]鏃跺紓甯革細"); + + } + } + catch (Exception e) + { + loginfo.Remarks = (loginfo.Remarks ?? "") + $"璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"}鏇存柊鏁版嵁寮傚父{e.Message}"; + } + finally + { + loginfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + db.WorkPieceLog.Add(loginfo); + db.SaveChanges(); + + } + + } + } + public static WorkPieceLogMiddle QualityDataHand(WorkPieceLogMiddle loginfo, List<EquipmentQualityConfig> qcofig) + { + try + { + switch (loginfo.WorkingProcedure) + { + case "OP10": + var cof = qcofig.Where(o => o.ParamColName.Equals("QualityOP10To1")).FirstOrDefault(); + if (cof != null && cof.Id > 0) + { + double oldvalue = 0; + double StandardValue = 0; + var flag1 = double.TryParse(loginfo.QualityOP10To1, out oldvalue); + var flag2 = double.TryParse(cof.StandardValue, out StandardValue); + if (!flag1 || !flag2) + { + return loginfo; + } + loginfo.QualityOP10To1 = ((StandardValue + oldvalue * 1.0 / cof.DecimalPlaces).ToString()); + //+(string.IsNullOrEmpty(cof.Unit) ? "" : cof.Unit) + } + break; + case "OP40": + var cofOP40 = qcofig.Where(o => o.ParamColName.Equals("QualityOP40To1")).FirstOrDefault(); + if (cofOP40 != null && cofOP40.Id > 0) + { + double oldvalue = 0; + double StandardValue = 0; + var flag1 = double.TryParse(loginfo.QualityOP40To1, out oldvalue); + var flag2 = double.TryParse(cofOP40.StandardValue, out StandardValue); + if (!flag1 || !flag2) + { + return loginfo; + } + loginfo.QualityOP40To1 = ((StandardValue + oldvalue * 1.0 / cofOP40.DecimalPlaces).ToString()); + //+(string.IsNullOrEmpty(cofOP40.Unit) ? "" : cofOP40.Unit) + } + break; + case "OP20": + var cofOP20 = qcofig.Where(o => o.ParamColName.Equals("QualityOP20To1")).FirstOrDefault(); + if (cofOP20 != null && cofOP20.Id > 0) + { + double oldvalue = 0; + double StandardValue = 0; + var flag1 = double.TryParse(loginfo.QualityOP20To1, out oldvalue); + var flag2 = double.TryParse(cofOP20.StandardValue, out StandardValue); + if (!flag1 || !flag2) + { + return loginfo; + } + loginfo.QualityOP20To1 = ((StandardValue + oldvalue * 1.0 / cofOP20.DecimalPlaces).ToString()); + } + break; + case "OP60": + var cofOP60to1 = qcofig.Where(o => o.ParamColName.Equals("QualityOP60To1")).FirstOrDefault(); + if (cofOP60to1 != null && cofOP60to1.Id > 0) + { + double oldvalue = 0; + double StandardValue = 0; + var flag1 = double.TryParse(loginfo.QualityOP60To1, out oldvalue); + var flag2 = double.TryParse(cofOP60to1.StandardValue, out StandardValue); + if (!flag1 || !flag2) + { + return loginfo; + } + loginfo.QualityOP60To1 = ((StandardValue + oldvalue * 1.0 / cofOP60to1.DecimalPlaces).ToString()); + } + var cofOP60to2 = qcofig.Where(o => o.ParamColName.Equals("QualityOP60To2")).FirstOrDefault(); + if (cofOP60to2 != null && cofOP60to2.Id > 0) + { + double oldvalue = 0; + double StandardValue = 0; + var flag1 = double.TryParse(loginfo.QualityOP60To2, out oldvalue); + var flag2 = double.TryParse(cofOP60to2.StandardValue, out StandardValue); + if (!flag1 || !flag2) + { + return loginfo; + } + loginfo.QualityOP60To2 = ((StandardValue + oldvalue * 1.0 / (10 * cofOP60to2.DecimalPlaces)).ToString() + (string.IsNullOrEmpty(cofOP60to2.Unit) ? "" : cofOP60to2.Unit)); + } + break; + default: + break; + + } + } + catch (Exception ex) + { + + } + return loginfo; + } + + /// <summary> + /// 璐ㄩ噺妫�娴嬪畬鎴� + /// </summary> + /// <param name="logMiddle"></param> + /// <param name="type"></param> + public static void QualityInfoComplete(WorkPieceLogMiddle logMiddle, LogType type) + { + //姝ゅ鍚屾椂鎻掑叆浜哤orkPieceLog锛學orkPieceInfoLog琛紝骞舵柊澧炴垨淇敼WorkPieceInfo琛� + //鎻掑叆璐ㄩ噺鐩稿叧琛≦ualityDataInfo + + using (DbModel db = new DbModel()) + { + + bool isAddWorkPieceInfo = false; + WorkPieceLog loginfo2 = new WorkPieceLog(); + loginfo2 = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLogMiddle>(logMiddle); + try + { + + if (logMiddle.WorkPieceID.Length == 22) + {//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯� + WorkPieceInfo pieceInfo = new WorkPieceInfo(); + pieceInfo = db.WorkPieceInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault(); + if (pieceInfo == null || pieceInfo.WorkPieceID.Length < 1) + {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� + if (logMiddle.MonitoringPoint.Equals("OP1002") || logMiddle.MonitoringPoint.Equals("OP1003") || logMiddle.MonitoringPoint.Contains("OP2002")) + {//OP10 娌℃湁涓婄嚎鎵爜鏋紝绾﹀畾鐢ㄦ祴閲忓畬鎴愪俊鍙峰綋涓婄嚎鏍囪 + pieceInfo = EntityPropHelper.Mapper<WorkPieceInfo, WorkPieceLogMiddle>(logMiddle); + //EntityPropHelper<WorkPieceLog, WorkPieceInfo>.CopyProp(loginfo, info, loginfo.GetWorkPieceInfoDict()); + if (!logMiddle.WorkingProcedure.Equals("OP05")) + {//褰撳伐浠朵簩缁寸爜绗竴娆″嚭鐜扮殑宸ュ簭涓嶆槸OP05锛屽垯璁剧疆涓哄彲鐤戠姸鎬� + pieceInfo.QualityState = (int)QualityState.Suspected; + pieceInfo.QualityErrorInfo = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒"; + pieceInfo.Remarks = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.WorkingProcedure}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒"; + } + else + { + pieceInfo.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� + pieceInfo.Remarks = "OP05鏂板宸ヤ欢淇℃伅"; + } + pieceInfo.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime(); + pieceInfo.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80"; + pieceInfo.CreatedUserName = logMiddle.MonitoringPoint; + pieceInfo.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + pieceInfo.WorkingProcedureStartTime = DateTimeHelper.GetDateTime();// + pieceInfo.WorkingProcedureEndTime = null; + pieceInfo = ParseQRCode(pieceInfo); + isAddWorkPieceInfo = true; + + + } + else + { + loginfo2.Remarks = loginfo2.Remarks ?? "" + $"|宸ヤ欢{logMiddle.WorkPieceID} 璐ㄩ噺妫�娴嬪畬鎴愬伐搴弡logMiddle.MonitoringPoint} 娌℃湁鑾峰彇鍒板伐浠朵俊鎭笉鍋氭洿鏂�"; + Log4NetHelper.WriteErrorLog(type, $"宸ヤ欢{logMiddle.WorkPieceID} 璐ㄩ噺妫�娴嬪畬鎴愬伐搴弡logMiddle.MonitoringPoint} 娌℃湁鑾峰彇鍒板伐浠朵俊鎭笉鍋氭洿鏂�"); + return; + } + } + if (logMiddle.MonitoringPoint.Equals("OP1002") || logMiddle.MonitoringPoint.Equals("OP1003") || logMiddle.MonitoringPoint.Contains("OP2002")) + {// OP10 娌℃湁涓婄嚎鎵爜鏋紝绾﹀畾鐢ㄦ祴閲忓畬鎴愪俊鍙峰綋涓婄嚎鏍囪锛屾墍浠ヤ笂绾块渶瑕佷慨鏀圭殑瀛楁鏀捐繖閲� + + if (logMiddle.WorkingProcedure.Equals("OP10")) + { + var WorkingProcedure = (logMiddle.MonitoringPoint.Equals("OP1002") ? "OP10" : "OP40"); + loginfo2.WorkingProcedure = WorkingProcedure;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂 + logMiddle.WorkingProcedure = WorkingProcedure;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂 + } + pieceInfo.WorkPieceCurrentPosition = logMiddle.WorkingProcedure; + pieceInfo.WorkPieceCurrentPositionOrder = pieceInfo.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) / 2; + pieceInfo.WorkingProcedureCurrent = logMiddle.WorkingProcedure; + pieceInfo.WorkingProcedureStartTime = DateTimeHelper.GetDateTime(); + + #region 鏇存柊璁惧瀹炴椂琛� + + bool isAddEquipmentCurrentMonitor = false; + EquipmentCurrentMonitor equinfo = new EquipmentCurrentMonitor(); + equinfo = db.EquipmentCurrentMonitor.Where(o => o.EquipmentID == logMiddle.EquipmentID).FirstOrDefault(); + if (equinfo == null || equinfo.Id < 1) + {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� + Log4NetHelper.WriteErrorLog(type, $"璁惧{logMiddle.EquipmentID} 鍛婅鐩戞帶{logMiddle.WorkingProcedure} 娌℃湁鑾峰彇鍒拌澶囩洃鎺т俊鎭紝鐜版柊澧�"); + equinfo = EntityPropHelper.Mapper<EquipmentCurrentMonitor, WorkPieceLog>(logMiddle); + equinfo.OnlineTime = DateTime.Now; + isAddEquipmentCurrentMonitor = true; + } + else + {//鏇存柊宸ヤ欢 + equinfo.WorkPieceID = logMiddle.WorkPieceID; + equinfo.UpdatedUserName = logMiddle.MonitoringPoint; + equinfo.UpdatedTime = DateTime.Now; + equinfo.OnlineTime = DateTime.Now; + } + if (isAddEquipmentCurrentMonitor) + { + equinfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + db.EquipmentCurrentMonitor.Add(equinfo); + } + #endregion + //UpdateKnifeToolLift(db, loginfo);//鏇存柊鍒�鍏峰鍛戒俊鎭� + } + pieceInfo.WorkPieceState = (int)WorkPieceState.WIP;//鎺ㄥ嚭鍚庡拰SPC鎶芥鍚� 璐ㄩ噺褰曞叆鏃剁姸鎬佷慨鏀瑰洖鍦ㄥ埗鍝� + pieceInfo.EquipmentID = logMiddle.EquipmentID; + pieceInfo.QualityStateUpdateUser = logMiddle.UpdatedUserName; + pieceInfo.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime; + pieceInfo.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); + pieceInfo.Remarks = pieceInfo.Remarks ?? "" + $"{logMiddle.WorkingProcedure}璐ㄩ噺妫�娴嬪畬鎴愪慨鏀�"; + pieceInfo.UpdatedUserName = logMiddle.MonitoringPoint; + pieceInfo.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + if (!(pieceInfo.WorkingProcedureStartTime.HasValue && pieceInfo.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) + {//宸ュ簭寮�濮嬫椂闂存病鏈夊垯璧嬪�� + pieceInfo.WorkingProcedureStartTime = DateTimeHelper.GetDateTime(); + } + pieceInfo.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); + //璧嬪�间笉鍚堟牸鍘熷洜 + SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo); + + + if (!pieceInfo.QualityState.Equals(((int)QualityState.OK).ToString())) + { + pieceInfo.QualityErrorInfo = $"{logMiddle.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍納pieceInfo.QualityState}"; + } + else + { + pieceInfo.QualityErrorInfo = ""; + } + logMiddle.QualityState = pieceInfo.QualityState; + if (isAddWorkPieceInfo) + { + db.WorkPieceInfo.Add(pieceInfo); + } + + #region 鏍规嵁鏍囧噯鍊兼洿鏂版渶鏂拌川閲忔暟鎹紙OP10/OP40/OP20/OP60锛� + var qcofig = db.EquipmentQualityConfig.Where(o => o.WorkingProcedure.Equals(logMiddle.WorkingProcedure) && o.ParamType != 1 && o.IsDeleted == false).ToList(); + if (qcofig.Count > 0) + { + QualityDataHand(logMiddle, qcofig); + } + #endregion + + + var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault(); + if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1) + {//鎻掑叆QualityDataInfo琛� + qualityData = EntityPropHelper.Mapper<QualityDataInfo, WorkPieceLog>(logMiddle); + db.QualityDataInfo.Add(GetAddQualityDataInfo(qualityData)); + } + //淇敼QualityDataInfo琛� //閲嶅鏀跺埌璐ㄩ噺淇℃伅锛屼細瑕嗙洊涔嬪墠鐨� + EntityPropHelper<WorkPieceLogMiddle, QualityDataInfo>.CopyProp(logMiddle, qualityData, GetQualityDataInfoUpdate(logMiddle, logMiddle.WorkingProcedure, logMiddle.MonitoringPoint));//鎸囧畾淇敼瀛楁 + + qualityData.QualityStateUpdateUser = pieceInfo.UpdatedUserName; + qualityData.QualityReceiveTime = pieceInfo.UpdatedTime.Value.LocalDateTime; + qualityData.QualityStateUpdateMode = pieceInfo.QualityStateUpdateMode; + if (logMiddle.WorkingProcedure.Equals("OP10")) + { + qualityData.OP10QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP10QualityReceiveTime = DateTimeHelper.GetDateTime(); + } + else if (logMiddle.WorkingProcedure.Equals("OP20")) + { + //Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}璐ㄩ噺淇℃伅銆恵loginfo.QualityStateStr ?? "绌�"}銆�" + + // $"銆恵(loginfo.QualityState.HasValue? loginfo.QualityState.Value:999)}銆戙�恵(info.QualityState.HasValue ? info.QualityState.Value : 888)}銆� 璇诲彇宸ヤ欢鐮佹暟鎹甗{loginfo.WorkPieceID ?? "绌�"}]"); + qualityData.OP20QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP20QualityReceiveTime = DateTimeHelper.GetDateTime(); + qualityData.OP20QualityFilePath = logMiddle.OP20QualityFilePath; + } + else if (logMiddle.WorkingProcedure.Equals("OP30")) + { + switch (logMiddle.MonitoringPoint) + { + case "OP3002CH3": + qualityData.OP30QualityFilePathCH3 = logMiddle.OP30QualityFilePathCH3; + qualityData.OP30QualityStateCH3 = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP30QualityReceiveTimeCH3 = DateTimeHelper.GetDateTime(); + + if (qualityData.OP30QualityStateCH3 == ((int)QualityState.NG).ToString()) + { + logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶�; + logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶�.ToString(); + //璧嬪�间笉鍚堟牸鍘熷洜 + SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo); + } + + break; + case "OP3002CH4": + qualityData.OP30QualityFilePathCH4 = logMiddle.OP30QualityFilePathCH4; + qualityData.OP30QualityStateCH4 = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP30QualityReceiveTimeCH4 = DateTimeHelper.GetDateTime(); + + if (qualityData.OP30QualityStateCH4 == ((int)QualityState.NG).ToString()) + { + logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ; + logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ.ToString(); + //璧嬪�间笉鍚堟牸鍘熷洜 + SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo); + } + + break; + case "OP3002CH5": + qualityData.OP30QualityFilePathCH5 = logMiddle.OP30QualityFilePathCH5; + qualityData.OP30QualityStateCH5 = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP30QualityReceiveTimeCH5 = DateTimeHelper.GetDateTime(); + + if (qualityData.OP30QualityStateCH5 == ((int)QualityState.NG).ToString()) + { + logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ; + logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ.ToString(); + //璧嬪�间笉鍚堟牸鍘熷洜 + SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo); + } + + break; + case "OP3002CH6": + qualityData.OP30QualityFilePathCH6 = logMiddle.OP30QualityFilePathCH6; + qualityData.OP30QualityStateCH6 = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP30QualityReceiveTimeCH6 = DateTimeHelper.GetDateTime(); + + if (qualityData.OP30QualityStateCH6 == ((int)QualityState.NG).ToString()) + { + logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ; + logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ.ToString(); + //璧嬪�间笉鍚堟牸鍘熷洜 + SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo); + } + + break; + default: + break; + } + //qualityData.OP30QualityState = loginfo.QualityState.HasValue ? loginfo.QualityState.Value.ToString() : "3"; + //qualityData.OP30QualityReceiveTime = DateTimeHelper.GetDateTime(); + } + else if (logMiddle.WorkingProcedure.Equals("OP35")) + { + qualityData.OP35QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP35QualityReceiveTime = DateTimeHelper.GetDateTime(); + } + else if (logMiddle.WorkingProcedure.Equals("OP40")) + { + qualityData.OP40QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP40QualityReceiveTime = DateTimeHelper.GetDateTime(); + } + else if (logMiddle.WorkingProcedure.Equals("OP60")) + { + qualityData.OP60QualityFilePath = logMiddle.OP60QualityFilePath; + qualityData.OP60QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP60QualityReceiveTime = DateTimeHelper.GetDateTime(); + } + else if (logMiddle.WorkingProcedure.Equals("OP80")) + { + qualityData.OP80QualityFilePath = logMiddle.OP80QualityFilePath; + qualityData.OP80QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP80QualityReceiveTime = DateTimeHelper.GetDateTime(); + } + + var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID && o.WorkingProcedureCurrent == pieceInfo.WorkingProcedureCurrent && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); + if (pro == null || pro.WorkPieceID.Length < 1 || logMiddle.MonitoringPoint.Equals("OP1002") || logMiddle.MonitoringPoint.Equals("OP1003") || logMiddle.MonitoringPoint.Contains("OP2002")) + {// OP10 娌℃湁涓婄嚎鎵爜鏋紝绾﹀畾鐢ㄦ祴閲忓畬鎴愪俊鍙峰綋涓婄嚎鏍囪锛屾墍浠ヤ笂绾块渶瑕佷慨鏀圭殑瀛楁鏀捐繖閲� + //涓婄嚎鏄瘡娆¢兘鎻掑叆 + + WorkPieceProcess process = new WorkPieceProcess(); + process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(pieceInfo); + process.StartTime = DateTimeHelper.GetDateTime(); + process.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : (int)QualityState.OK; + //璁板綍璐ㄩ噺涓嶅悎鏍煎師鍥� 銆怑ditby shaocx,2024-06-26銆� + //璧嬪�间笉鍚堟牸鍘熷洜 + SetQualityNoOk_WorkPieceProcess(logMiddle, ref process); + + process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + process.CreatedUserName = logMiddle.MonitoringPoint; + process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + process.UpdatedUserName = logMiddle.MonitoringPoint; + process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + process.OperationType = OperationType.鐢熶骇.ToString(); + process.QualityDataInfoID = qualityData.Id; + process.Remarks = ""; + db.WorkPieceProcess.Add(process); + } + else + {//鍏朵粬鐨勯兘鍙槸淇敼 + pro.QualityDataInfoID = qualityData.Id; + pro.UpdatedUserName = logMiddle.MonitoringPoint; + pro.UpdatedTime = DateTimeHelper.GetDateTime(); + pro.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : 9; + //璧嬪�间笉鍚堟牸鍘熷洜 + SetQualityNoOk_WorkPieceProcess(logMiddle, ref pro); + + //TODO:鍒ゆ柇濡傛灉鏄�60宸ュ簭锛岄偅涔堝氨瑕佹洿鏂皃ro琛ㄧ殑鍒涘缓浜轰负loginfo.MonitoringPoint 銆怑ditby shaocx,2024-06-05銆� + if (logMiddle.WorkingProcedure == "OP60") + { + pro.CreatedUserName = logMiddle.MonitoringPoint; + + } + } + + if (logMiddle.QualityType != null && logMiddle.QualityType.Equals(QualityType.SPC.ToString())) + {//SPC鍙嶉锛� + if (logMiddle.QualityState != (int)QualityState.OK) + { + //褰撴煇鍒板伐搴忔娴嬪埌涓嶅悎鏍煎伐浠舵椂锛屼粠璇ュ伐浠跺姞宸ュ畬鎴愭椂鍒诲墠鎸囧畾鏃堕棿璧疯嚦鎶ユ涓嶅悎鏍兼椂闂存锛岀郴缁熷皢璇ュ伐浠剁殑鏈�鍚庡姞宸ュ伐搴忓湪璇ユ椂闂存鍐呭姞宸ョ殑鎵�鏈夊伐浠躲�佹鍦ㄥ姞宸ョ殑宸ヤ欢銆佽宸ュ簭鍏ュ彛澶勭殑绗竴涓伐浠跺叏閮ㄦ爣璁颁负鐤戜技鐘舵�侊紝鐢变汉宸ュ妫�宸ヤ欢骞朵慨鏀圭姸鎬侊紝骞舵敮鎸佹壒閲忓彉鏇淬�� + //绛斿锛氬湪绾挎祴閲忎笉闇�瑕佽蛋杩欎釜娴佺▼锛屽彧鏈塖PC鎶芥鎵嶉渶瑕侊紝闇�瑕佹妸杩欐椂闂存鐨勫伐浠跺叏閮ㄧ疆涓虹枒浼硷紝鍝�曟槸宸插畬鎴愬伐浠� + //鏃堕棿娈佃捣濮嬫椂闂达細鎶芥宸ヤ欢鐢熶骇鏃堕棿鍓嶄竴SPC鎶芥鏃堕棿 + //鏃堕棿娈电粨鏉熸椂闂达細鎶芥宸ヤ欢璐ㄩ噺缁撴灉鍑虹幇鍚庣殑鏃堕棿 + //鎶芥宸ヤ欢宸ュ簭鎵弿鏋鍏ュ彛澶勭殑绗竴涓伐浠� 涔熸妸璐ㄩ噺鐘舵�佺疆涓虹枒浼� + //锛堟瘡涓�宸ュ簭SPC鎶芥鏄缃殑鍥哄畾鐨勶紝姣斿200鎶�4锛岀姸鎬佺疆涓虹枒浼兼椂鑻ュ伐浠惰繕鍦ㄨ澶囧唴锛屼細缁х画鐢熶骇瀹屾瘯鍚庢帓鍑猴級 + //鐩墠杩欏潡閫昏緫鏀惧埌浜� WebAPI涓簡 + + } + + } + db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(pieceInfo)); + db.QualityDataInfoLog.Add(GetAddQualityDataInfoLog(qualityData));//鎻掑叆鏃ュ織 + } + else + { + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺妫�娴嬪畬鎴愯鍙栦簩缁寸爜{logMiddle.WorkPieceID ?? "绌�"}寮傚父"; + Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細"); + + } + } + catch (Exception ex) + { + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺妫�娴嬪畬鎴恵logMiddle.WorkPieceID ?? "绌�"}鏇存柊鏁版嵁寮傚父{ex.Message}++{ex.StackTrace}"; + Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細"); + } + finally + { + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿logMiddle.QualityStateStr ?? "绌�"}"; + db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo2));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛� + db.SaveChanges(); + } + } + } + /// <summary> + /// 宸ヤ欢鎺ㄥ嚭NOOK + /// </summary> + /// <param name="loginfo"></param> + /// <param name="type"></param> + public static void WorkPiecePushOff(WorkPieceLogMiddle loginfo, LogType type) + { + using (DbModel db = new DbModel()) + { + WorkPieceLog loginfo2 = new WorkPieceLog(); + loginfo2 = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLogMiddle>(loginfo); + try + { + if (loginfo.WorkPieceID != null && loginfo.WorkPieceID.Trim('\0').Length == 22) + { + WorkPieceInfo info = new WorkPieceInfo(); + info = db.WorkPieceInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault(); + if (info == null || info.WorkPieceID.Length < 1) + {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� + Log4NetHelper.WriteErrorLog(type, $"宸ヤ欢{loginfo.WorkPieceID} 宸ヤ欢鎺ㄥ嚭宸ュ簭{loginfo.WorkingProcedure} 娌℃湁鑾峰彇鍒板伐浠朵俊鎭笉鍋氭洿鏂�"); + return; + } + else + {//鏇存柊琛╓orkPieceInfo + if (loginfo.WorkingProcedure.Equals("OP10")) + { + info.WorkPieceCurrentPosition = info.WorkingProcedureCurrent + "NOOK"; + //var WorkingProcedure = (loginfo.MonitoringPoint.Equals("OP1002") ? "OP10" : "OP40"); + loginfo2.WorkingProcedure = info.WorkingProcedureCurrent;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂 + loginfo.WorkingProcedure = info.WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂 + } + else + { + info.WorkingProcedureCurrent = loginfo.WorkingProcedure; + info.WorkPieceCurrentPosition = loginfo.WorkingProcedure + "NOOK"; + } + info.WorkPieceState = (int)WorkPieceState.NOOKPush; + info.UpdatedUserName = loginfo.MonitoringPoint; + info.UpdatedTime = DateTime.Now; + info.Remarks = "宸ヤ欢NOOK鎺ㄥ嚭"; + if (!(info.WorkingProcedureStartTime.HasValue && info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) + { + info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime(); + } + info.WorkingProcedureEndTime = DateTimeHelper.GetDateTime(); + info.WorkingProcedureCompleted = info.WorkingProcedureCompleted + loginfo.WorkingProcedure;//宸插畬鎴愬伐搴� + info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(loginfo.WorkingProcedure) / 2; + } + if (loginfo.WorkingProcedure.Equals("OP35")) + {//涓轰簡瑙e喅OP35鐨勯噰闆嗗埌鐨勮川閲忎俊鎭槸OK杩楴OOK鐨勬儏鍐碉紝OP35 NOOK鏃舵洿鏂拌川閲忎俊鎭� + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"OP35NOOK鍘熻川閲忎俊鎭瘂(info.QualityState.HasValue ? info.QualityState.Value.ToString() : "绌�")}"; + info.QualityState = (int)QualityState.NG; + if (!info.QualityState.Equals(((int)QualityState.OK).ToString())) + { + info.QualityErrorInfo = $"{loginfo.WorkingProcedure}宸ュ簭璐ㄩ噺NOOK閲囬泦鏁版嵁涓嶅悎鏍納info.QualityState}"; + } + else + { + info.QualityErrorInfo = ""; + } + loginfo.QualityState = info.QualityState; + + var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault(); + if (qualityData != null) + { + qualityData.OP35QualityState = loginfo.QualityState.HasValue ? loginfo.QualityState.Value.ToString() : "3"; + qualityData.OP35QualityReceiveTime = DateTimeHelper.GetDateTime(); + db.QualityDataInfoLog.Add(GetAddQualityDataInfoLog(qualityData)); + } + } + //鏇存柊涓婁竴宸ュ簭鐨勭粨鏉熸椂闂� + var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID && o.WorkingProcedureCurrent == loginfo.WorkingProcedure && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); + if (pro != null && pro.WorkPieceID.Length > 0) + { + pro.EndTime = DateTimeHelper.GetDateTime(); + pro.Remarks = (pro.Remarks ?? "") + "NOOK缁撴潫"; + pro.UpdatedUserName = loginfo.MonitoringPoint; + pro.UpdatedTime = DateTimeHelper.GetDateTime(); + } + + db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(info)); + + } + else + { + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"宸ヤ欢NOOK鎺ㄥ嚭璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"}寮傚父"; + Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}宸ヤ欢NOOK鎺ㄥ嚭璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{loginfo.WorkPieceID ?? "绌�"}]鏃跺紓甯革細"); + } + } + catch (Exception e) + { + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"}鏇存柊鏁版嵁寮傚父{e.Message}"; + } + + + db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo2));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛� + db.SaveChanges(); + } + + } + /// <summary> + /// 宸ヤ欢SPC鎶芥鎺ㄥ嚭 + /// </summary> + /// <param name="loginfo"></param> + /// <param name="type"></param> + public static void WorkPieceSPCPushOff(WorkPieceLogMiddle loginfo, LogType type) + { + + using (DbModel db = new DbModel()) + { + WorkPieceLog loginfo2 = new WorkPieceLog(); + loginfo2 = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLogMiddle>(loginfo); + try + { + if ((loginfo.WorkPieceID != null && loginfo.WorkPieceID.Trim('\0').Length == 22) + //|| !((loginfo.WorkingProcedure.Equals("OP10") || loginfo.WorkingProcedure.Equals("OP40")) && loginfo.Remarks.Length > 0) + ) + { + WorkPieceInfo info = new WorkPieceInfo(); + info = db.WorkPieceInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault(); + if (info == null || info.WorkPieceID.Length < 1) + {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� + loginfo2.Remarks = $"宸ヤ欢{loginfo.WorkPieceID} 宸ヤ欢SPC鎺ㄥ嚭宸ュ簭{loginfo.WorkingProcedure} 娌℃湁鑾峰彇鍒板伐浠朵俊鎭笉鍋氭洿鏂�"; + Log4NetHelper.WriteErrorLog(type, $"宸ヤ欢{loginfo.WorkPieceID} 宸ヤ欢SPC鎺ㄥ嚭宸ュ簭{loginfo.WorkingProcedure} 娌℃湁鑾峰彇鍒板伐浠朵俊鎭笉鍋氭洿鏂�"); + return; + } + else + {//鏇存柊琛╓orkPieceInfo + if (loginfo.WorkingProcedure.Equals("OP10")) + { + info.WorkPieceCurrentPosition = info.WorkingProcedureCurrent + "SPC"; + //var WorkingProcedure = (loginfo.MonitoringPoint.Equals("OP1002") ? "OP10" : "OP40"); + loginfo2.WorkingProcedure = info.WorkingProcedureCurrent;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂 + loginfo.WorkingProcedure = info.WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂 + } + else + { + info.WorkingProcedureCurrent = loginfo.WorkingProcedure; + info.WorkPieceCurrentPosition = loginfo.WorkingProcedure + "SPC"; + } + info.WorkPieceState = (int)WorkPieceState.SPCPush; + info.UpdatedUserName = loginfo.MonitoringPoint; + info.UpdatedTime = DateTime.Now; + info.WorkingProcedureEndTime = DateTimeHelper.GetDateTime(); + if (!(info.WorkingProcedureStartTime.HasValue && info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) + { + info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime(); + } + + + info.WorkingProcedureCompleted = info.WorkingProcedureCompleted + loginfo.WorkingProcedure;//宸插畬鎴愬伐搴� + info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(loginfo.WorkingProcedure) / 2; + } + info.Remarks = "宸ヤ欢SPC鎶芥鎺ㄥ嚭"; + + //鏇存柊涓婁竴宸ュ簭鐨勭粨鏉熸椂闂� + var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID && o.WorkingProcedureCurrent == loginfo.WorkingProcedure && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); + if (pro != null && pro.WorkPieceID.Length > 0) + { + pro.EndTime = DateTimeHelper.GetDateTime(); + pro.Remarks = (pro.Remarks ?? "") + "SPC鎶芥缁撴潫"; + pro.UpdatedUserName = loginfo.MonitoringPoint; + pro.UpdatedTime = DateTimeHelper.GetDateTime(); + } + //姣忔SPC 閮芥彃鍏ヨ拷婧〃 + WorkPieceProcess process = new WorkPieceProcess(); + process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info); + process.StartTime = DateTimeHelper.GetDateTime(); + process.OperationType = OperationType.SPC.ToString(); + process.QualityState = (int)QualityState.Suspected; + process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + process.CreatedUserName = loginfo.MonitoringPoint; + process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + process.UpdatedUserName = loginfo.MonitoringPoint; + process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + process.Remarks = "宸ヤ欢SPC鎶芥鎺ㄥ嚭"; + db.WorkPieceProcess.Add(process); + + + db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(info)); + } + else + { + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"宸ヤ欢SPC鎶芥鎺ㄥ嚭璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"}寮傚父"; + Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}宸ヤ欢SPC鎶芥鎺ㄥ嚭璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{loginfo.WorkPieceID ?? "绌�"}]鏃跺紓甯革細"); + } + } + catch (Exception e) + { + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"}鏇存柊鏁版嵁寮傚父{e.Message}"; + } + finally + { + db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo2));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛� + db.SaveChanges(); + } + + } + } + /// <summary> + /// 宸ュ簭瀹屾垚 + /// </summary> + /// <param name="logMiddle"></param> + /// <param name="type"></param> + public static void WorkingProcedureComplete(WorkPieceLogMiddle logMiddle, LogType type) + { + + using (DbModel db = new DbModel()) + { + if (logMiddle.WorkingProcedure.Equals("OP70")) + { + logMiddle.QualityState = (int)QualityState.OK; //濡傛灉鏄疧P70锛屽垯榛樿鏄悎鏍� 銆怑ditby shaocx,2024-06-25銆� + } + + WorkPieceLog loginfo2 = new WorkPieceLog(); + loginfo2 = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLogMiddle>(logMiddle); + + try + { + if (logMiddle.WorkPieceID != null && logMiddle.WorkPieceID.Trim('\0').Length == 22) + { + + bool isAddWorkPieceInfo = false; + WorkPieceInfo info = new WorkPieceInfo(); + info = db.WorkPieceInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault(); + if (info == null || info.WorkPieceID.Length < 1) + {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� 锛堜负浜嗘祴璇曞厛鍏堟柊澧烇級 + Log4NetHelper.WriteErrorLog(type, $"宸ヤ欢{logMiddle.WorkPieceID} 宸ヤ欢鎺ㄥ嚭宸ュ簭{logMiddle.WorkingProcedure} 娌℃湁鑾峰彇鍒板伐浠朵俊鎭笉鍋氭洿鏂�"); + //db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛� + //db.SaveChanges(); + + loginfo2 = CommonManager.Instance.GetWorkPieceID(logMiddle, type); + info = EntityPropHelper.Mapper<WorkPieceInfo, WorkPieceLog>(logMiddle); + //EntityPropHelper<WorkPieceLog, WorkPieceInfo>.CopyProp(loginfo, info, loginfo.GetWorkPieceInfoDict()); + if (!logMiddle.WorkingProcedure.Equals("OP05")) + {//褰撳伐浠朵簩缁寸爜绗竴娆″嚭鐜扮殑宸ュ簭涓嶆槸OP05锛屽垯璁剧疆涓哄彲鐤戠姸鎬� + info.QualityState = (int)QualityState.Suspected; + info.QualityErrorInfo = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒"; + info.Remarks = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒"; + } + else + { + info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� + info.Remarks = "OP05鏂板宸ヤ欢淇℃伅"; + } + info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();//WorkPieceInitOnlineTime + info.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80"; + info.CreatedUserName = logMiddle.MonitoringPoint; + info.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + info.WorkingProcedureCurrent = logMiddle.WorkingProcedure; + info.WorkingProcedureEndTime = null; + info = ParseQRCode(info); + isAddWorkPieceInfo = true; + } + if (logMiddle.WorkingProcedure.Equals("OP10")) + { + //var WorkingProcedure = (loginfo.MonitoringPoint.Equals("OP1002") ? "OP10" : "OP40"); + loginfo2.WorkingProcedure = info.WorkingProcedureCurrent;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂 + logMiddle.WorkingProcedure = info.WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂 + } + info.UpdatedUserName = logMiddle.MonitoringPoint; + info.UpdatedTime = DateTimeHelper.GetDateTime(); + info.WorkingProcedureCompleted = info.WorkingProcedureCompleted + logMiddle.WorkingProcedure;//宸插畬鎴愬伐搴� + if (!(info.WorkingProcedureStartTime.HasValue && info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) + {//鑻ヤ竴鐩存病鏈夊伐搴忓紑濮嬫椂闂达紝鍒欒祴鍊煎綋鍓嶆椂闂� + info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime(); + } + info.WorkingProcedureEndTime = DateTimeHelper.GetDateTime(); + info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) / 2; + info.Remarks = $"{logMiddle.WorkingProcedure}宸ュ簭瀹屾垚"; + long op80id = 0; + if (logMiddle.WorkingProcedure.Equals("OP80")) + { + info.WorkPieceState = (int)WorkPieceState.FinishedProducts; + info.WorkPieceLastOfflineTime = DateTimeHelper.GetDateTime(); + info.WorkPieceCurrentPosition = "OP80"; + info.CompleteTime = DateTimeHelper.GetDateTime(); + info.OP80NewCode = logMiddle.OP80NewCode; + + //璐ㄦ鏁版嵁鏀逛负 鑾峰彇鏂囦欢鍚庝慨鏀� 銆怑ditby shaocx,2024-06-15銆� + /* + info.QualityState = (int)((loginfo.QualityStateStr.Equals("OK") || loginfo.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); + loginfo.QualityState = info.QualityState; + info.QualityStateUpdateUser = loginfo.UpdatedUserName; + info.QualityStateUpdateTime = loginfo.UpdatedTime.Value.LocalDateTime; + info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); + //*/ + + var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault(); + if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1) + {//鎻掑叆QualityDataInfo琛� + qualityData = EntityPropHelper.Mapper<QualityDataInfo, WorkPieceLog>(logMiddle); + db.QualityDataInfo.Add(GetAddQualityDataInfo(qualityData)); + } + //淇敼QualityDataInfo琛� //閲嶅鏀跺埌璐ㄩ噺淇℃伅锛屼細瑕嗙洊涔嬪墠鐨� + EntityPropHelper<WorkPieceLogMiddle, QualityDataInfo>.CopyProp(logMiddle, qualityData, GetQualityDataInfoUpdate(logMiddle, logMiddle.WorkingProcedure, logMiddle.MonitoringPoint));//鎸囧畾淇敼瀛楁 + + //璐ㄦ鏁版嵁鏀逛负 鑾峰彇鏂囦欢鍚庝慨鏀� 銆怑ditby shaocx,2024-06-15銆� + /* + qualityData.QualityStateUpdateUser = info.UpdatedUserName; + qualityData.QualityReceiveTime = info.UpdatedTime.Value.LocalDateTime; + qualityData.QualityStateUpdateMode = info.QualityStateUpdateMode; + qualityData.OP80QualityState = loginfo.QualityState.HasValue ? loginfo.QualityState.Value.ToString() : "3"; + qualityData.OP80QualityReceiveTime = DateTimeHelper.GetDateTime(); + qualityData.OP80QualityFilePath = loginfo.OP80QualityFilePath; + op80id = qualityData.Id; + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿loginfo.QualityStateStr ?? "绌�"}"; + if (!info.QualityState.Equals(((int)QualityState.OK).ToString())) + { + info.QualityErrorInfo = $"{loginfo.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�"; + } + else + { + info.QualityErrorInfo = ""; + } + //*/ + } + else if (logMiddle.WorkingProcedure.Equals("OP30")) + { + + info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); + logMiddle.QualityState = info.QualityState; + info.QualityStateUpdateUser = logMiddle.UpdatedUserName; + info.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime; + info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); + + var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault(); + if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1) + {//鎻掑叆QualityDataInfo琛� + qualityData = EntityPropHelper.Mapper<QualityDataInfo, WorkPieceLog>(logMiddle); + db.QualityDataInfo.Add(GetAddQualityDataInfo(qualityData)); + } + qualityData.QualityStateUpdateUser = info.UpdatedUserName; + qualityData.QualityReceiveTime = info.UpdatedTime.Value.LocalDateTime; + qualityData.QualityStateUpdateMode = info.QualityStateUpdateMode; + qualityData.OP30QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP30QualityReceiveTime = DateTimeHelper.GetDateTime(); + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿logMiddle.QualityStateStr ?? "绌�"}"; + if (!info.QualityState.Equals(((int)QualityState.OK).ToString())) + { + info.QualityErrorInfo = $"{logMiddle.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�"; + } + else + { + info.QualityErrorInfo = ""; + } + } + else + { + info.WorkPieceState = (int)WorkPieceState.WIP; + if (info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) + 4 <= info.WorkingProcedurePlan.Length) + { + info.WorkPieceCurrentPosition = info.WorkingProcedurePlan.Substring(info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure), 8); + } + } + + var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID && o.WorkingProcedureCurrent == info.WorkingProcedureCurrent && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); + if (pro == null || pro.WorkPieceID.Length < 1) + { + WorkPieceProcess process = new WorkPieceProcess(); + process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info); + process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + process.StartTime = DateTimeHelper.GetDateTime(); + process.EndTime = DateTimeHelper.GetDateTime(); + if (logMiddle.WorkingProcedure.Equals("OP80")) + {//OP80鐨勮川閲忔暟鎹槸鍚庢潵鑾峰彇鏂囦欢鎼炵殑 + } + else + { + process.QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value : (int)QualityState.OK; + } + process.CreatedUserName = logMiddle.MonitoringPoint; + process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + process.UpdatedUserName = logMiddle.MonitoringPoint; + process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + process.OperationType = OperationType.鐢熶骇.ToString(); + process.Remarks = ""; + if (logMiddle.WorkingProcedure.Equals("OP80")) + { + process.GetQcDataFlag = logMiddle.GetQcDataFlag;//璧嬪�兼爣璁� [Editby shaocx,2024-06-15] + } + if (op80id > 0) + { + process.QualityDataInfoID = op80id; + } + db.WorkPieceProcess.Add(process); + } + else + { + if (op80id > 0) + { + pro.QualityDataInfoID = op80id; + } + pro.EndTime = DateTimeHelper.GetDateTime(); + pro.UpdatedUserName = logMiddle.MonitoringPoint; + pro.UpdatedTime = DateTimeHelper.GetDateTime(); + if (logMiddle.WorkingProcedure.Equals("OP80")) + { + if (pro.GetQcDataFlag != 0) + { + pro.GetQcDataFlag = logMiddle.GetQcDataFlag;//璧嬪�兼爣璁� [Editby shaocx,2024-06-15] + } + } + } + + + if (isAddWorkPieceInfo) + { + db.WorkPieceInfo.Add(info); + } + db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(info)); + } + else + { + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"涓嬬嚎瀹屾垚璇诲彇浜岀淮鐮亄logMiddle.WorkPieceID ?? "绌�"}寮傚父"; + Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭涓嬬嚎 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細"); + + } + } + catch (Exception e) + { + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璇诲彇浜岀淮鐮亄logMiddle.WorkPieceID ?? "绌�"}鏇存柊鏁版嵁寮傚父{e.Message}"; + } + db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo2));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛� + db.SaveChanges(); + } + } + public static void AlertMonitor(WorkPieceLog loginfo, LogType type) + { + + } + /// <summary> + /// 璁惧鍛婅鐩戞帶锛堟竻娲楁恫锛屽垏鍓婃恫锛屽垁鍏峰憡璀︾瓑锛� + /// </summary> + /// <param name="loginfo"></param> + /// <param name="type"></param> + public static void AlertMonitor(LogType type) + { + using (DbModel db = new DbModel()) + { + bool isAddAlert = false; + try + { + + var equipmentlist = db.EquipmentBaseInfo.Where(o => o.IsDeleted == false).ToList(); + var alertlist = db.v_get_equipment_alert.Where(o => o.IsDeleted == false).ToList(); + var knifetoolbase = db.KnifeToolBaseInfo.Where(o => o.IsDeleted == false).ToList(); + var knifetoolinfo = db.KnifeToolEquipmentInfo.Where(o => o.IsDeleted == false).ToList(); + //var knifelist = db.KnifeToolEquipmentInfo.GroupJoin(db.KnifeToolBaseInfo.Where(o => o.IsDeleted == false).ToList(), a => a.EquipmentID, b => b.EquipmentID, (a, b) => new { a,b}) + //.SelectMany(ab => ab.b.DefaultIfEmpty(), (ab, b) => new { ab.a, b.KnifeToolChangeAlertThreshold,b.KnifeToolLife }) + //.Where(o => o.a.IsDeleted == false) + //.ToList(); + foreach (var item in equipmentlist) + { + try + { + var alert = alertlist.Where(o => o.EquipmentId.Equals(item.EquipmentId)).FirstOrDefault(); + if (alert == null || alert.Id < 1) + { + alert = EntityPropHelper.Mapper<v_get_equipment_alert, EquipmentBaseInfo>(item); + isAddAlert = true; + } + //if(item.WorkingProcedure.Equals("OP70")) + { + if (item.Detergentchangetime.HasValue) + { + if (item.Detergentchangetime.Value.AddDays(item.DetergentChangeAlertThreshold).Date <= DateTime.Now.Date) + {//op70娓呮礂娑插憡璀� + alert.IsAlertDetergent = true; + alert.Detergentchangetime = item.Detergentchangetime; + alert.DetergentChangeAlertThreshold = item.DetergentChangeAlertThreshold; + alert.DetergentChangeCycle = item.DetergentChangeCycle; + alert.DetergentDesc = $"璁惧銆恵item.EquipmentName}銆戞竻娲楁恫鏈�鏂版洿鎹㈡椂闂翠负銆恵item.Detergentchangetime.Value}銆戯紝宸茶揪鍒板憡璀﹂槇鍊硷紝璇锋敞鎰忥紒"; + } + else + { + alert.IsAlertDetergent = false; + alert.DetergentDesc = ""; + } + } + else + { + + alert.IsAlertDetergent = false; + alert.DetergentDesc = ""; + } + } + //if (!item.WorkingProcedure.Equals("OP05")&& !item.WorkingProcedure.Equals("OP30") && !item.WorkingProcedure.Equals("OP70") && !item.WorkingProcedure.Equals("OP80")) + { + if (item.CuttingFluidChangeTime.HasValue) + { + if (item.CuttingFluidChangeTime.Value.AddDays(item.CuttingFluidChangeAlertThreshold).Date <= DateTime.Now.Date) + {//鍒囧墛娑插憡璀� + alert.IsAlertCuttingFluid = true; + alert.CuttingFluidChangeTime = item.CuttingFluidChangeTime; + alert.CuttingFluidChangeAlertThreshold = item.CuttingFluidChangeAlertThreshold; + alert.CuttingFluidDesc = $"璁惧銆恵item.EquipmentName}銆戝垏鍓婃恫鏈�鏂版洿鎹㈡椂闂翠负銆恵item.CuttingFluidChangeTime.Value}銆戯紝宸茶揪鍒板憡璀﹂槇鍊硷紝璇锋敞鎰忥紒"; + } + else + { + alert.IsAlertCuttingFluid = false; + alert.CuttingFluidDesc = ""; + } + } + else + { + alert.IsAlertCuttingFluid = false; + alert.CuttingFluidDesc = ""; + } + } + bool flag = false; + string desc = $"璁惧銆恵item.EquipmentName}銆�"; + foreach (var knife in knifetoolinfo.Where(o => o.EquipmentID.Equals(item.EquipmentId))) + { + var list = knifetoolbase.Where(o => o.KnifeToolID.Equals(knife.KnifeToolID)).FirstOrDefault(); + if (list != null) + { + if ((knife.CurrentLife + list.KnifeToolChangeAlertThreshold) >= list.KnifeToolLife) + {//鍒�鍏峰憡璀� + flag = true; + alert.IsAlertKnifeTool = true; + alert.KnifeToolChangeAlertThreshold = list.KnifeToolChangeAlertThreshold; + desc += $"\r\n宸ヤ綅銆恵knife.Station}銆戜笂鍒�鍏枫�恵knife.KnifeToolID}銆戣鍒掑鍛姐�恵list.KnifeToolLife}銆戞锛屽綋鍓嶅凡浣跨敤瀵垮懡銆恵knife.CurrentLife}銆戞锛屽凡杈惧埌鍛婅闃堝�硷紝璇锋敞鎰忥紒"; + } + } + } + if (!flag) + {//娌℃湁鍒�鍏峰憡璀� + alert.IsAlertKnifeTool = false; + alert.KnifeToolDesc = ""; + } + else + { + alert.IsAlertKnifeTool = true; + alert.KnifeToolDesc = desc; + } + + EquipmentCurrentMonitor info = new EquipmentCurrentMonitor(); + info = db.EquipmentCurrentMonitor.Where(o => o.EquipmentID == item.EquipmentId).FirstOrDefault(); + if (info == null || info.Id < 1) + {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� + Log4NetHelper.WriteErrorLog(type, $"璁惧{item.EquipmentId} 璁$畻鍛婅{item.WorkingProcedure} 娌℃湁鑾峰彇鍒拌澶囩洃鎺т俊鎭紒"); + } + else + { + if (string.IsNullOrEmpty(info.Alertmsg)) + { + alert.IsAlert = false; + alert.AlertDesc = ""; + } + else + { + alert.IsAlert = true; + alert.AlertDesc = info.Alertmsg; + } + } + if (isAddAlert) + { + db.v_get_equipment_alert.Add(alert); + } + } + catch (Exception ex) + { + + Log4NetHelper.WriteErrorLog(type, $" {item.EquipmentName}璁惧璁$畻鍛婅鏃跺紓甯革細"); + } + } + } + catch (Exception e) + { + Log4NetHelper.WriteErrorLog(type, $" 璁惧鍛婅鐩戞帶锛堟竻娲楁恫锛屽垏鍓婃恫锛屽垁鍏峰憡璀︾瓑锛� 璁$畻鏃跺紓甯革細{e.Message} {e.StackTrace}"); + } + + + + //db.WorkPieceLog.Add(loginfo2);//鎻掑叆璁惧閲囬泦鏃ュ織琛� + db.SaveChanges(); + } + } + + /// <summary> + /// 璁惧鐩戞帶 + /// </summary> + /// <param name="loginfo"></param> + /// <param name="type"></param> + public static void EquipmentMonitor(WorkPieceLogMiddle loginfo, LogType type) + { + + using (DbModel db = new DbModel()) + { + var loginfo2 = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLogMiddle>(loginfo); + try + { + bool isAddEquipmentCurrentMonitor = false; + EquipmentCurrentMonitor info = new EquipmentCurrentMonitor(); + info = db.EquipmentCurrentMonitor.Where(o => o.EquipmentID == loginfo.EquipmentID).FirstOrDefault(); + if (info == null || info.Id < 1) + {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� + Log4NetHelper.WriteErrorLog(type, $"璁惧{loginfo.EquipmentID} 鍛婅鐩戞帶{loginfo.MonitoringPoint} 娌℃湁鑾峰彇鍒拌澶囩洃鎺т俊鎭紝鐜版柊澧�"); + info = EntityPropHelper.Mapper<EquipmentCurrentMonitor, WorkPieceLogMiddle>(loginfo); + isAddEquipmentCurrentMonitor = true; + } + //鏈�鏂拌澶囩姸鎬� + string State = ""; + //OP20,OP30,OP35,OP50,OP60绛夌瓑閮戒笉鍖哄垎鍛婅鍜宮essage锛屼絾code閮戒笉浼氶噸澶嶏紝鎵�浠ユ湰澶勫氨涓嶉渶瑕佸垽鏂憡璀︾被鍨嬩簡 + var codelist = db.EquipmentFailureCode.Where(o => o.WorkingProcedure.Equals(loginfo.WorkingProcedure)).ToList(); + + #region 鏁呴殰浠g爜澶勭悊 + List<long> Failueslist = new List<long>(); + Failueslist.Add(loginfo.FailureType1); + Failueslist.Add(loginfo.FailureType2); + Failueslist.Add(loginfo.FailureType3); + Failueslist.Add(loginfo.FailureType4); + Failueslist.Add(loginfo.FailureType5); + Failueslist.Add(loginfo.FailureType6); + Failueslist.Add(loginfo.FailureType7); + Failueslist.Add(loginfo.FailureType8); + Failueslist.Add(loginfo.FailureType9); + Failueslist.Add(loginfo.FailureType10); + Failueslist.Add(loginfo.FailureType11); + Failueslist.Add(loginfo.FailureType12); + Failueslist.Add(loginfo.FailureType13); + Failueslist.Add(loginfo.FailureType14); + Failueslist.Add(loginfo.FailureType15); + Failueslist.Add(loginfo.FailureType16); + Failueslist.Add(loginfo.FailureType17); + Failueslist.Add(loginfo.FailureType18); + Failueslist.Add(loginfo.FailureType19); + Failueslist.Add(loginfo.FailureType20); + Failueslist.RemoveAll(o => o == 0); + string faultall = ""; + string faultmsg = ""; + int i = 1; + foreach (var failues in Failueslist) + { + faultall += (failues + "\r\n"); + EquipmentFailureCode codeinfo = codelist.Where(o => o.Code == failues.ToString()).FirstOrDefault(); + if (codeinfo != null && codeinfo.Code.Length > 0) + { + faultmsg += (i.ToString() + "." + (codeinfo.CodeDesc ?? codeinfo.Code) + "\r\n"); + } + else + { + faultmsg += (i.ToString() + "." + failues.ToString() + "\r\n"); + } + i++; + } + //var faultall = string.Join("\r\n", Failueslist.OrderBy(o=>o)); + #endregion + #region 鍛婅浠g爜澶勭悊 + + List<long> Alertlist = new List<long>(); + Alertlist.Add(loginfo.FailureMessage1); + Alertlist.Add(loginfo.FailureMessage2); + Alertlist.Add(loginfo.FailureMessage3); + Alertlist.Add(loginfo.FailureMessage4); + Alertlist.Add(loginfo.FailureMessage5); + Alertlist.Add(loginfo.FailureMessage6); + Alertlist.Add(loginfo.FailureMessage7); + Alertlist.Add(loginfo.FailureMessage8); + Alertlist.Add(loginfo.FailureMessage9); + Alertlist.Add(loginfo.FailureMessage10); + Alertlist.Add(loginfo.FailureMessage11); + Alertlist.Add(loginfo.FailureMessage12); + Alertlist.Add(loginfo.FailureMessage13); + Alertlist.Add(loginfo.FailureMessage14); + Alertlist.Add(loginfo.FailureMessage15); + Alertlist.Add(loginfo.FailureMessage16); + Alertlist.Add(loginfo.FailureMessage17); + Alertlist.Add(loginfo.FailureMessage18); + Alertlist.Add(loginfo.FailureMessage19); + Alertlist.Add(loginfo.FailureMessage20); + Alertlist.RemoveAll(o => o == 0); + string alertall = ""; + string warnmsg = ""; + i = 1; + foreach (var alert in Alertlist) + { + alertall += (alert + "\r\n"); + var codeinfo = codelist.Where(o => o.Code == alert.ToString()).FirstOrDefault(); + if (codeinfo != null && codeinfo.Code.Length > 0) + { + warnmsg += (i.ToString() + "." + (codeinfo.CodeDesc ?? codeinfo.Code) + "\r\n"); + } + else + { + warnmsg += (i.ToString() + "." + alert.ToString() + "\r\n"); + } + i++; + } + #endregion + //var alertall = string.Join("\r\n", Alertlist.OrderBy(o=>o)); + + + EquipmentWorkingLog infolog = new EquipmentWorkingLog(); + infolog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + infolog.LogAddTime = DateTimeHelper.GetDateTime(); + infolog.WorkPieceLogID = loginfo2.Id; + infolog.EquipmentID = info.EquipmentID; + bool isAddEquipmentWorkingLog = false; + + bool isStatechange = false; + + #region 璁惧鐘舵�佸鐞� + + //鏁呴殰銆嬭鍛娿�嬪叾浠� + if (loginfo.IsCloseAlert) + {//鏁呴殰 + info.AlertTime = info.AlertTime ?? DateTime.Now; + info.FailureType = ""; + info.WarnType = ""; + info.Alertmsg = faultmsg;//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + info.FailureType = faultall; + State = ((int)EnumEquipmentCurrentStateDisplay.鏁呴殰).ToString(); + + + //infolog.FailureStartTime = DateTimeHelper.GetDateTime(); + //infolog.FailureType = faultall; + //infolog.FailureMsg = faultmsg; + if (loginfo.IsMessage) + { + info.WarnTime = info.WarnTime ?? DateTime.Now; + info.Warnmsg = warnmsg;//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + info.WarnType = alertall; + } + } + //else if (loginfo.IsMessage) + //{//璀﹀憡 + // info.AlertTime = null; + // info.Alertmsg = "";//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + // info.FailureType = ""; + + // info.WarnTime = info.WarnTime ?? DateTime.Now; + // info.Warnmsg = warnmsg;//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + // info.WarnType = alertall; + + // //infolog.WarnStartTime = DateTimeHelper.GetDateTime(); + // //infolog.WarnType = alertall; + // //infolog.Warnmsg = warnmsg; + // State = ((int)EnumEquipmentCurrentStateDisplay.璀﹀憡).ToString(); + //} + else + {//鍛婅缁撴潫锛岃幏鍙栨湁鍛婅鐨勬暟鎹紝鐒跺悗鍏抽棴浠� + info.AlertTime = null; + info.Alertmsg = "";//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + info.FailureType = ""; + info.WarnType = ""; + info.WarnTime = null; + info.Warnmsg = ""; + if (loginfo.IsMessage) + {//璀﹀憡浼氳鐩栦笅闈㈢殑鐘舵�侊紝鍏堜笉鐢ㄨ鍛婁簡 + info.WarnTime = info.WarnTime ?? DateTime.Now; + info.Warnmsg = warnmsg;//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + info.WarnType = alertall; + } + if (info.EquipmentCurrentState == null || (!info.EquipmentCurrentState.Equals(((int)EnumEquipmentCurrentStateDisplay.绂荤嚎).ToString()))) + {//濡傛灉璁惧鐘舵�佷负绂荤嚎锛屽垯姝ゅ涓嶉渶瑕佸垽鏂换浣曚俊鎭� + if (loginfo.IsNormalProduction && !loginfo.LackMaterial && !loginfo.FullMaterial) + {//鑷姩杩愯鐘舵��+涓嶇己鏂�+涓嶅牭鏂� + State = ((int)EnumEquipmentCurrentStateDisplay.鐢熶骇).ToString(); + } + else if (loginfo.IsNormalProduction && loginfo.FullMaterial) + {//鑷姩杩愯鐘舵��+涓嬫枡閬撴弧鏂� = 瀹屾垚 锛堝氨鏄湁鐢熶骇鍑烘潵浣嗘病鏈夊嚭璁惧锛� + State = ((int)EnumEquipmentCurrentStateDisplay.瀹屾垚).ToString(); + } + //else if (loginfo.IsNormalProduction && loginfo.LackMaterial) + //{//鍏朵粬鐘舵�佸叏绠楀緟鏈� + // State = ((int)EnumEquipmentCurrentStateDisplay.寰呮満).ToString(); + //} + else + {//鍏朵粬鐘舵�佸叏绠楀緟鏈� + State = ((int)EnumEquipmentCurrentStateDisplay.寰呮満).ToString(); + } + } + } + if (!string.IsNullOrEmpty(State) && State != info.EquipmentCurrentState) + {//鍙湁鐘舵�佸嚭鐜板彉鍖栨墠鍙樻洿,鐘舵�佸彉鏇达紝鑲畾鏈夋柊鐨勪竴鏉℃暟鎹� + + //鐘舵�佸彉鏇达紝鑾峰彇鏃х姸鎬佺殑淇℃伅锛岃嫢鏈夊垯鏇存柊(鍑嗙‘鐨勮锛屽彧瑕佹病鏈夌粨鏉熸椂闂寸殑璁惧鐘舵�侀兘闇�瑕佹洿鏂扮粨鏉熸椂闂达紝浠ヤ究浜庢彃鍏ユ柊鐨勬暟鎹�) + var equlogState = db.EquipmentWorkingLog.Where(o => o.EquipmentID == loginfo.EquipmentID + && o.EquipmentStateStartTime != null && o.EquipmentStateStartTime != DateTime.MinValue && (o.EquipmentStateEndTime == null || o.EquipmentStateEndTime == DateTime.MinValue) + //&& o.EquipmentState== info.EquipmentCurrentState + ) + .OrderByDescending(o => o.EquipmentStateStartTime).FirstOrDefault(); + + if (equlogState != null) + { + equlogState.MonitoringPoint = loginfo.MonitoringPoint; + equlogState.EquipmentStateEndTime = DateTimeHelper.GetDateTime(); + } + + info.UpdatedUserName = loginfo.MonitoringPoint; + info.UpdatedTime = DateTime.Now; + info.EquipmentCurrentState = State; + + //鐘舵�佸彉鏇达紝闇�瑕佹洿鏂板師鏉ョ殑锛岃偗瀹氫細鎻掑叆鏂扮殑 + infolog.EquipmentState = State; + infolog.EquipmentStateStartTime = DateTimeHelper.GetDateTime(); + infolog.WorkingProcedure = loginfo.WorkingProcedure; + infolog.MonitoringPoint = loginfo.MonitoringPoint; + infolog.Remarks = "鍛婅淇℃伅鍑虹幇鍙樻洿3"; + infolog.UpdateDesc = (infolog.UpdateDesc ?? "") + $"璁惧鐘舵�佸彉鏇翠负{((EnumEquipmentCurrentStateDisplay)int.Parse(State)).ToString()}\r\n"; + isAddEquipmentWorkingLog = true; + isStatechange = true; + } + #endregion + + //1.鏈夋晠闅滃垯鏄晠闅滅姸鎬侊紝 鏈夋晠闅滀俊鎭�+鍛婅淇℃伅 + //2.娌℃湁鏁呴殰鏈夊憡璀﹀垯鏄憡璀︾姸鎬侊紝鏈夊憡璀︿俊鎭� + //3.鍗虫病鏁呴殰锛屼篃娌″憡璀︼紝鍒欐槸鍏朵粬鐘舵�� + + //鏌ユ壘鏄惁鏈夋湭缁撴潫鐨勬晠闅� + var equlogFailure = db.EquipmentWorkingLog.Where(o => o.EquipmentID == loginfo.EquipmentID + && o.FailureStartTime != null && o.FailureStartTime != DateTime.MinValue && (o.FailureEndTime == null || o.FailureEndTime == DateTime.MinValue)) + .OrderByDescending(o => o.FailureStartTime).FirstOrDefault(); + if (loginfo.IsCloseAlert) + {//鏈夋晠闅滄爣蹇椾綅锛岃澶囩姸鎬佽嫢鏈夊彉鏇村垯鑲畾鏈夋柊澧烇紝姝ゅ鐩存帴鏇存柊鍗冲彲 + //鏈夋晠闅滄爣蹇椾綅锛岃澶囩姸鎬佽嫢娌℃湁鏇存柊锛屾湁鏁呴殰锛屼篃涓嶄細鎻掑叆鏂扮殑锛堟湁鏁呴殰璁惧鐘舵�佸彉鏇磋偗瀹氭槸鍙樻垚鏁呴殰锛� + infolog.FailureStartTime = DateTimeHelper.GetDateTime(); + infolog.FailureType = faultall; + infolog.FailureMsg = faultmsg; + infolog.WorkingProcedure = loginfo.WorkingProcedure; + infolog.MonitoringPoint = loginfo.MonitoringPoint; + infolog.Remarks = "鏁呴殰淇℃伅鍑虹幇鍙樻洿1"; + infolog.UpdateDesc = (infolog.UpdateDesc ?? "") + "鏁呴殰淇℃伅鍙樻洿\r\n"; + } + else + { + if (equlogFailure != null) + {//鏁呴殰鍏抽棴鐨� + equlogFailure.MonitoringPoint = loginfo.MonitoringPoint; + equlogFailure.FailureEndTime = DateTimeHelper.GetDateTime(); + } + } + + //鏌ユ壘鏄惁鏈夋湭缁撴潫鐨勫憡璀� + var equlogalert = db.EquipmentWorkingLog.Where(o => o.EquipmentID == loginfo.EquipmentID + && o.WarnStartTime != null && o.WarnStartTime != DateTime.MinValue && (o.WarnEndTime == null || o.WarnEndTime == DateTime.MinValue)) + .OrderByDescending(o => o.WarnStartTime).FirstOrDefault(); + if (loginfo.IsMessage) + {//鑻ユ湁鍛婅锛屽鏋滄湁璁惧鐘舵�佸彉鏇达紝鑲畾鎻掑叆锛屾澶勫彧淇敼鍗冲彲 + //鑻ユ湁鍛婅锛屽鏋滆澶囩姸鎬佹病鏈夊彉鏇达紝鏈夊憡璀︼紝涔熶笉鎻掑叆鏂扮殑锛堥棶棰橈細褰撶姸鎬佹病鏈夋洿鏀癸紝濡備竴鐩存槸鏁呴殰锛屼絾鍛婅淇℃伅鏈夊彉鍖栵紝鎬庝箞鍔� ps锛氭澶勫厛涓嶇锛� + infolog.WarnStartTime = DateTimeHelper.GetDateTime(); + infolog.WarnType = alertall; + infolog.Warnmsg = warnmsg; + infolog.WorkingProcedure = loginfo.WorkingProcedure; + infolog.MonitoringPoint = loginfo.MonitoringPoint; + infolog.Remarks = "鍛婅淇℃伅鍑虹幇鍙樻洿2"; + infolog.UpdateDesc = (infolog.UpdateDesc ?? "") + "鍛婅淇℃伅鍙樻洿\r\n"; + } + else + { + if (equlogalert != null) + {//鏁呴殰鍏抽棴鐨� + equlogalert.MonitoringPoint = loginfo.MonitoringPoint; + equlogalert.WarnEndTime = DateTimeHelper.GetDateTime(); + } + } + #region 鍘熸潵鐨勪唬鐮侊紝浠ュ悗鍒犳帀 + + //EquipmentWorkingLog infolog =new EquipmentWorkingLog(); + //infolog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + //infolog.LogAddTime = DateTimeHelper.GetDateTime(); + //infolog.WorkPieceLogID = loginfo2.Id; + //infolog.EquipmentID = info.EquipmentID; + //bool isAddEquipmentWorkingLog = false; + //if (loginfo.ischeckAlertStatus) + //{//鍛婅鐘舵�佸彂鐢熷彉鏇� + // //璇存槑鏄竴涓柊鍛婅锛岄渶瑕佹洿鏂拌澶囩洃鎺ц〃 + // //鏌ユ壘鏈粨鏉熺殑鍛婅 + // var equlog = db.EquipmentWorkingLog.Where(o => o.EquipmentID == loginfo.EquipmentID + // && o.FailureStartTime != null && o.FailureStartTime != DateTime.MinValue) + // .OrderByDescending(o=>o.FailureStartTime).FirstOrDefault(); + // if (loginfo.IsCloseAlert) + // { + // if (equlog == null|| (equlog.FailureEndTime!=null&& equlog.FailureEndTime > DateTime.MinValue)) + // { + // info.AlertTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + // infolog.FailureStartTime = DateTimeHelper.GetDateTime(); + // infolog.FailureType = faultall; + // infolog.FailureMsg = faultmsg; + // infolog.WorkingProcedure = loginfo.WorkingProcedure; + // infolog.MonitoringPoint = loginfo.MonitoringPoint; + // infolog.Remarks = "鏁呴殰淇℃伅鍑虹幇鍙樻洿1"; + // infolog.UpdateDesc = (infolog.UpdateDesc??"")+"鏁呴殰淇℃伅鍙樻洿\r\n"; + // isAddEquipmentWorkingLog =true; + // } + // } + // else + // { + // if (equlog != null && (equlog.FailureEndTime == null || equlog.FailureEndTime <= DateTime.MinValue)) + // {//鍛婅鍏抽棴鐨勶紝鑻ユ病鏈夊憡璀︿俊鎭紝涓嶇敤绠� + // equlog.MonitoringPoint = loginfo.MonitoringPoint; + // equlog.FailureEndTime = DateTimeHelper.GetDateTime(); + // } + + // } + //} + //if (loginfo.ischeckMessageStatus) + //{//鍛婅鐘舵�佸彂鐢熷彉鏇� + // //璇存槑鏄竴涓柊鍛婅锛岄渶瑕佹洿鏂拌澶囩洃鎺ц〃 + // //鏌ユ壘鏈粨鏉熺殑鍛婅 + // var equlog = db.EquipmentWorkingLog.Where(o => o.EquipmentID == loginfo.EquipmentID + // && o.WarnStartTime != null && o.WarnStartTime != DateTime.MinValue).OrderByDescending(o => o.WarnStartTime).FirstOrDefault(); + // if (loginfo.IsMessage) + // { + // if (equlog == null || (equlog.WarnEndTime != null && equlog.WarnEndTime > DateTime.MinValue)) + // { + // info.WarnTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + // infolog.WarnStartTime = DateTimeHelper.GetDateTime(); + // infolog.WarnType = alertall; + // infolog.Warnmsg = warnmsg; + // infolog.WorkingProcedure = loginfo.WorkingProcedure; + // infolog.MonitoringPoint = loginfo.MonitoringPoint; + // infolog.Remarks = "鍛婅淇℃伅鍑虹幇鍙樻洿2"; + // infolog.UpdateDesc = (infolog.UpdateDesc ?? "") + "鍛婅淇℃伅鍙樻洿\r\n"; + // isAddEquipmentWorkingLog = true; + // } + // } + // else + // { + // if (equlog != null && (equlog.WarnEndTime == null || equlog.WarnEndTime <= DateTime.MinValue)) + // {//鍛婅鍏抽棴鐨勶紝鑻ユ病鏈夊憡璀︿俊鎭紝涓嶇敤绠� + // equlog.MonitoringPoint = loginfo.MonitoringPoint; + // equlog.WarnEndTime = DateTimeHelper.GetDateTime(); + // } + + // } + //} + ////鏁呴殰銆嬭鍛娿�嬪叾浠� + //if (loginfo.IsCloseAlert) + //{//鏁呴殰 + // info.AlertTime = info.AlertTime??DateTime.Now; + // info.FailureType = ""; + // info.WarnType = ""; + // info.Alertmsg = faultmsg;//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + // info.FailureType = faultall; + // State = ((int)EnumEquipmentCurrentStateDisplay.鏁呴殰).ToString(); + + + // infolog.FailureStartTime = DateTimeHelper.GetDateTime(); + // infolog.FailureType = faultall; + // infolog.FailureMsg = faultmsg; + // if (loginfo.IsMessage) + // { + // info.WarnTime = info.WarnTime ?? DateTime.Now; + // info.Warnmsg = warnmsg;//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + // info.WarnType = alertall; + // } + //} + //else if(loginfo.IsMessage) + //{//璀﹀憡 + // info.AlertTime = null; + // info.Alertmsg = "";//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + // info.FailureType = ""; + + // info.WarnTime = info.WarnTime ?? DateTime.Now; + // info.Warnmsg = warnmsg;//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + // info.WarnType = alertall; + + // infolog.WarnStartTime = DateTimeHelper.GetDateTime(); + // infolog.WarnType = alertall; + // infolog.Warnmsg = warnmsg; + // State = ((int)EnumEquipmentCurrentStateDisplay.璀﹀憡).ToString(); + //} + //else + //{//鍛婅缁撴潫锛岃幏鍙栨湁鍛婅鐨勬暟鎹紝鐒跺悗鍏抽棴浠� + // info.AlertTime = null; + // info.Alertmsg = "";//杩欎釜闇�瑕佷唬鐮佸搴斿瓧鍏哥淮鎶や俊鎭墠鐭ラ亾 + // info.FailureType = ""; + // info.WarnType = ""; + // info.WarnTime = null; + // info.Warnmsg = ""; + // if (loginfo.IsNormalProduction&& loginfo.LackMaterial) + // { + // State = ((int)EnumEquipmentCurrentStateDisplay.寰呮満).ToString(); + // } + // else if(loginfo.IsNormalProduction && !loginfo.LackMaterial) + // { + // State = ((int)EnumEquipmentCurrentStateDisplay.鐢熶骇).ToString(); + // } + // else if(loginfo.IsNormalProduction && loginfo.FullMaterial) + // {//姝e父鐢熶骇+涓嬫枡閬撴弧鏂� = 瀹屾垚 锛堝氨鏄湁鐢熶骇鍑烘潵浣嗘病鏈夊嚭璁惧锛� + // State = ((int)EnumEquipmentCurrentStateDisplay.瀹屾垚).ToString(); + // } + // else + // {//鐞嗚涓婁笉鍙兘璧板埌杩欙紝鍙槸閬垮厤绌哄�� + // State = ((int)EnumEquipmentCurrentStateDisplay.寰呮満).ToString(); + // } + //} + //if (!string.IsNullOrEmpty(State) && State != info.EquipmentCurrentState) + //{//鍙湁鐘舵�佸嚭鐜板彉鍖栨墠鍙樻洿 + // info.UpdatedUserName = loginfo.MonitoringPoint; + // info.UpdatedTime = DateTime.Now; + // info.EquipmentCurrentState = State; + + // var equlog = db.EquipmentWorkingLog.Where(o => o.EquipmentID == loginfo.EquipmentID + // && o.EquipmentStateStartTime != null && o.EquipmentStateStartTime != DateTime.MinValue).OrderByDescending(o => o.EquipmentStateStartTime).FirstOrDefault(); + + // if (equlog != null && (equlog.EquipmentStateEndTime == null || equlog.EquipmentStateEndTime <= DateTime.MinValue)) + // { + // equlog.MonitoringPoint = loginfo.MonitoringPoint; + // equlog.EquipmentStateEndTime = DateTimeHelper.GetDateTime(); + + // } + // //鐘舵�佸彉鏇达紝闇�瑕佹洿鏂板師鏉ョ殑锛屽苟鎻掑叆鏂扮殑 + // infolog.EquipmentState = State; + // infolog.EquipmentStateStartTime = DateTimeHelper.GetDateTime(); + // infolog.WorkingProcedure = loginfo.WorkingProcedure; + // infolog.MonitoringPoint = loginfo.MonitoringPoint; + // infolog.Remarks = "鍛婅淇℃伅鍑虹幇鍙樻洿3"; + // infolog.UpdateDesc = (infolog.UpdateDesc ?? "") + $"璁惧鐘舵�佸彉鏇翠负{((EnumEquipmentCurrentStateDisplay)int.Parse(State)).ToString()}\r\n"; + // isAddEquipmentWorkingLog = true; + //} + ////info.Remarks = $"{loginfo.WorkingProcedure}宸ュ簭鍛婅"; + #endregion + if (isAddEquipmentCurrentMonitor) + { + info.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + db.EquipmentCurrentMonitor.Add(info); + } + if (isAddEquipmentWorkingLog) + { + db.EquipmentWorkingLog.Add(infolog); + } + } + catch (Exception e) + { + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"{loginfo2.MonitoringPoint}璁惧鐩戞帶鏇存柊鏁版嵁寮傚父{e.Message}.{e.StackTrace}"; + Log4NetHelper.WriteErrorLog(type, $"{loginfo2.MonitoringPoint}璁惧鐩戞帶鏇存柊鏁版嵁寮傚父{e.Message}.{e.StackTrace}"); + } + + //db.WorkPieceLog.Add(loginfo2);//鎻掑叆璁惧閲囬泦鏃ュ織琛� + db.SaveChanges(); + } + } + + + /// <summary> + /// 蹇冭烦鐩戞帶 + /// </summary> + /// <param name="loginfo"></param> + /// <param name="type"></param> + public static void EquipmentBeartBeatMonitor(WorkPieceLogMiddle loginfo, LogType type) + { + + using (DbModel db = new DbModel()) + { + bool isAddEquipmentCurrentMonitor = false; + EquipmentCurrentMonitor info = new EquipmentCurrentMonitor(); + info = db.EquipmentCurrentMonitor.Where(o => o.WorkingProcedure == loginfo.WorkingProcedure).FirstOrDefault(); + if (info == null) + {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� + Log4NetHelper.WriteErrorLog(type, $"璁惧{loginfo.EquipmentID} 鍛婅鐩戞帶{loginfo.MonitoringPoint} 娌℃湁鑾峰彇鍒拌澶囩洃鎺т俊鎭紝鐜版柊澧�"); + info = EntityPropHelper.Mapper<EquipmentCurrentMonitor, WorkPieceLogMiddle>(loginfo); + isAddEquipmentCurrentMonitor = true; + info.EquipmentCurrentState = ((int)EnumEquipmentCurrentStateDisplay.寰呮満).ToString(); + info.IsDeleted = false; + } + string state = ""; + + + EquipmentWorkingLog infolog = new EquipmentWorkingLog(); + infolog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + infolog.LogAddTime = DateTimeHelper.GetDateTime(); + infolog.WorkPieceLogID = loginfo.Id; + infolog.EquipmentID = info.EquipmentID; + bool isAddEquipmentWorkingLog = false; + + if (!loginfo.IsConnect) + {//鏈�鏂扮姸鎬佷负绂荤嚎 + state = ((int)EnumEquipmentCurrentStateDisplay.绂荤嚎).ToString(); + info.EquipmentCurrentState = state; + info.UpdatedUserName = loginfo.MonitoringPoint; + info.UpdatedTime = DateTime.Now; + info.Alertmsg = "璁惧绂荤嚎"; + info.AlertTime = DateTimeHelper.GetDateTime(); + info.FailureType = ""; + + //鑻ユ病鏈夌绾跨殑淇℃伅锛屽垯鏂板涓�鏉� + var equlog = db.EquipmentWorkingLog.Where(o => o.EquipmentID == loginfo.EquipmentID + && o.EquipmentStateStartTime != null && o.EquipmentStateStartTime != DateTime.MinValue && (o.EquipmentStateEndTime == null || o.EquipmentStateEndTime == DateTime.MinValue) + && o.EquipmentState.Equals(state) + ).OrderByDescending(o => o.EquipmentStateStartTime).FirstOrDefault(); + + if (equlog == null) + { + infolog.EquipmentState = state; + infolog.EquipmentStateStartTime = DateTimeHelper.GetDateTime(); + infolog.WorkingProcedure = loginfo.WorkingProcedure; + infolog.MonitoringPoint = loginfo.MonitoringPoint; + infolog.Remarks = "绂荤嚎"; + infolog.UpdateDesc = (infolog.UpdateDesc ?? "") + $"璁惧鐘舵�佸彉鏇翠负{((EnumEquipmentCurrentStateDisplay)int.Parse(state)).ToString()}\r\n"; + isAddEquipmentWorkingLog = true; + } + //鑻ユ湁闈炵绾跨殑鐘舵�佹暟鎹紝鍒欐洿鏂� + var equlog2 = db.EquipmentWorkingLog.Where(o => o.EquipmentID == loginfo.EquipmentID + && o.EquipmentStateStartTime != null && o.EquipmentStateStartTime != DateTime.MinValue && (o.EquipmentStateEndTime == null || o.EquipmentStateEndTime == DateTime.MinValue) + && !o.EquipmentState.Equals(state) + ).OrderByDescending(o => o.EquipmentStateStartTime).FirstOrDefault(); + if (equlog2 != null) + { + equlog2.MonitoringPoint = loginfo.MonitoringPoint; + equlog2.EquipmentStateEndTime = DateTimeHelper.GetDateTime(); + } + + } + else + {//鏈�鏂扮姸鎬佷负寮�鏈� + if (((int)EnumEquipmentCurrentStateDisplay.绂荤嚎).ToString() == info.EquipmentCurrentState) + {//鍙湁绂荤嚎鐘舵�侊紝鎵嶈兘鍙樻垚寮�鏈� + state = ((int)EnumEquipmentCurrentStateDisplay.寰呮満).ToString(); + info.EquipmentCurrentState = state; + info.UpdatedUserName = loginfo.MonitoringPoint; + info.UpdatedTime = DateTime.Now; + info.Alertmsg = ""; + info.AlertTime = null; + + //鏈夌绾跨殑鏁版嵁锛屽垯鏇存柊 + var equlog = db.EquipmentWorkingLog.Where(o => o.EquipmentID == loginfo.EquipmentID + && o.EquipmentStateStartTime != null && o.EquipmentStateStartTime != DateTime.MinValue && (o.EquipmentStateEndTime == null || o.EquipmentStateEndTime == DateTime.MinValue) + && o.EquipmentState.Equals(((int)EnumEquipmentCurrentStateDisplay.绂荤嚎).ToString()) + ).OrderByDescending(o => o.EquipmentStateStartTime).FirstOrDefault(); + if (equlog != null) + { + equlog.MonitoringPoint = loginfo.MonitoringPoint; + equlog.EquipmentStateEndTime = DateTimeHelper.GetDateTime(); + + } + //绂荤嚎鍙樺紑鏈猴紝鑲畾浼氭彃鍏ヤ竴鏉� + infolog.EquipmentState = state; + infolog.EquipmentStateStartTime = DateTimeHelper.GetDateTime(); + infolog.WorkingProcedure = loginfo.WorkingProcedure; + infolog.MonitoringPoint = loginfo.MonitoringPoint; + infolog.Remarks = "寮�鏈�"; + infolog.UpdateDesc = (infolog.UpdateDesc ?? "") + $"璁惧鐘舵�佸彉鏇翠负{((EnumEquipmentCurrentStateDisplay)int.Parse(state)).ToString()}\r\n"; + isAddEquipmentWorkingLog = true; + } + } + if (isAddEquipmentWorkingLog) + { + db.EquipmentWorkingLog.Add(infolog); + } + if (isAddEquipmentCurrentMonitor) + { + info.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + db.EquipmentCurrentMonitor.Add(info); + } + + db.SaveChanges(); + } + } + + public static void ThreadMonitor(ThreadStatusMonitorMiddle threadinfo) + { + ThreadMonitor(EntityPropHelper.Mapper<ThreadStatusMonitor, ThreadStatusMonitorMiddle>(threadinfo)); + try + { + SystemValue.UpdateMainList(threadinfo); + + } + catch (Exception ex) + { + + } + } + public static void ThreadMonitor(ThreadStatusMonitor threadinfo) + { + try + { + using (DbModel db = new DbModel()) + { + var info = db.ThreadStatusMonitor.Where(o => o.Threadcode == threadinfo.Threadcode).FirstOrDefault(); + if (info == null || info.Id == 0) + {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� + threadinfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + threadinfo.CreatedTime = DateTimeHelper.GetDateTime(); + threadinfo.CreatedUserName = threadinfo.Threadcode; + db.ThreadStatusMonitor.Add(threadinfo); + + } + else + {//鏇存柊琛╓orkPieceInfo + info.Remarks = threadinfo.Remarks; + info.ErrorMsg = threadinfo.ErrorMsg; + info.Threadendtime = DateTimeHelper.GetDateTime();//姣忔閮芥洿鏂� + info.ThreadId = threadinfo.ThreadId; + info.ThreadFrequency = threadinfo.ThreadFrequency; + info.UpdatedTime = DateTimeHelper.GetDateTime(); + info.UpdatedUserName = threadinfo.Threadcode; + info.Threadlastmodifytime = threadinfo.Threadlastmodifytime > DateTime.MinValue ? threadinfo.Threadlastmodifytime : info.Threadlastmodifytime;//濡傛灉鏈変紶鍙傚垯鏇存柊 + //if (info.Threadstatue==1) + //{ + // info.Threadlastmodifytime = DateTimeHelper.GetDateTime();//鏈�鏂拌窇鍒版暟鎹� + //} + } + db.SaveChanges(); + } + + } + catch (Exception ex) + { + + } + } + + #region 涓氬姟鏂规硶 + + /// <summary> + /// 銆愯川閲忔暟鎹洿鏂颁笓鐢ㄣ�� dict涓墠闈竴涓槸鍘熷璞★紝鍚庨潰涓�涓槸鐩爣瀵硅薄 + /// </summary> + /// <param name="WorkingProcedure"></param> + /// <returns></returns> + public static Dictionary<string, string> GetQualityDataInfoUpdate(WorkPieceLogMiddle logMiddle, string WorkingProcedure = "", string MonitoringPoint = "") + { + Dictionary<string, string> dict = new Dictionary<string, string>(); + + dict.Add("QualityState", "QualityState"); + dict.Add("EquipmentID", "EquipmentID"); + dict.Add("WorkingProcedure", "WorkingProcedure"); + dict.Add("QualityStateUpdateMode", "QualityStateUpdateMode"); + dict.Add("QualityStateUpdateUser", "QualityStateUpdateUser"); + dict.Add("OfflineTime", "OfflineTime"); + + switch (WorkingProcedure) + { + case "OP10": + dict.Add("QualityOP10To1", "QualityOP10To1"); + + dict.Add("QualityNoOk", "QualityNoOk_OP10"); + dict.Add("QualityNoOkReason", "QualityNoOkReason_OP10"); + break; + case "OP20": + dict.Add("QualityOP20To1", "QualityOP20To1"); + + dict.Add("QualityNoOk", "QualityNoOk_OP20"); + dict.Add("QualityNoOkReason", "QualityNoOkReason_OP20"); + break; + case "OP30": + dict.Add("QualityNoOk", "QualityNoOk_OP30"); + dict.Add("QualityNoOkReason", "QualityNoOkReason_OP30"); + + switch (MonitoringPoint) + { + case "OP3002CH3": + dict.Add("QualityOP30To1", "QualityOP30To1"); + break; + case "OP3002CH4": + dict.Add("QualityOP30To2", "QualityOP30To2"); + dict.Add("QualityOP30To8", "QualityOP30To8"); + break; + case "OP3002CH5": + dict.Add("QualityOP30To3", "QualityOP30To3"); + dict.Add("QualityOP30To4", "QualityOP30To4"); + dict.Add("QualityOP30To5", "QualityOP30To5"); + dict.Add("QualityOP30To9", "QualityOP30To9"); + dict.Add("QualityOP30To10", "QualityOP30To10"); + dict.Add("QualityOP30To11", "QualityOP30To11"); + break; + case "OP3002CH6": + dict.Add("QualityOP30To6", "QualityOP30To6"); + dict.Add("QualityOP30To7", "QualityOP30To7"); + break; + default: + break; + } + break; + case "OP35": + dict.Add("QualityOP35To1", "QualityOP35To1"); + dict.Add("QualityOP35To2", "QualityOP35To2"); + + dict.Add("QualityNoOk", "QualityNoOk_OP35"); + dict.Add("QualityNoOkReason", "QualityNoOkReason_OP35"); + + break; + case "OP40": + dict.Add("QualityOP40To1", "QualityOP40To1"); + + dict.Add("QualityNoOk", "QualityNoOk_OP40"); + dict.Add("QualityNoOkReason", "QualityNoOkReason_OP40"); + break; + case "OP60": + dict.Add("QualityOP60To1", "QualityOP60To1"); + dict.Add("QualityOP60To2", "QualityOP60To2"); + + dict.Add("QualityNoOk", "QualityNoOk_OP60"); + dict.Add("QualityNoOkReason", "QualityNoOkReason_OP60"); + + break; + case "OP70": + dict.Add("QualityOP70To1", "QualityOP70To1"); + dict.Add("QualityOP70To2", "QualityOP70To2"); + dict.Add("QualityOP70To3", "QualityOP70To3"); + break; + case "OP80": + //dict.Add("OP80NewCode", "OP80NewCode"); + dict.Add("QualityOP80To1", "QualityOP80To1"); + dict.Add("QualityOP80To2", "QualityOP80To2"); + dict.Add("QualityOP80To3", "QualityOP80To3"); + dict.Add("QualityOP80To4", "QualityOP80To4"); + dict.Add("QualityOP80To5", "QualityOP80To5"); + dict.Add("QualityOP80To6", "QualityOP80To6"); + dict.Add("QualityOP80To7", "QualityOP80To7"); + dict.Add("QualityOP80To8", "QualityOP80To8"); + dict.Add("QualityOP80To9", "QualityOP80To9"); + dict.Add("QualityOP80To10", "QualityOP80To10"); + + //鏂板 銆怑ditby shaocx,2024-06-16銆� + dict.Add("QualityOP80_Houdu", "QualityOP80_Houdu"); + dict.Add("QualityOP80_ZXJ", "QualityOP80_ZXJ"); + dict.Add("QualityOP80_DTKYZD", "QualityOP80_DTKYZD"); + dict.Add("QualityOP80_XTSMYD", "QualityOP80_XTSMYD"); + dict.Add("QualityOP80_XTXMYD", "QualityOP80_XTXMYD"); + dict.Add("QualityOP80_D_TKZJ", "QualityOP80_D_TKZJ"); + dict.Add("QualityOP80_D_S_X", "QualityOP80_D_S_X"); + dict.Add("QualityOP80_D_S_Y", "QualityOP80_D_S_Y"); + dict.Add("QualityOP80_D_X_X", "QualityOP80_D_X_X"); + dict.Add("QualityOP80_D_X_Y", "QualityOP80_D_X_Y"); + dict.Add("QualityOP80_X_TKZJ", "QualityOP80_X_TKZJ"); + dict.Add("QualityOP80_X_S_X", "QualityOP80_X_S_X"); + dict.Add("QualityOP80_X_S_Y", "QualityOP80_X_S_Y"); + dict.Add("QualityOP80_X_X_X", "QualityOP80_X_X_X"); + dict.Add("QualityOP80_X_X_Y", "QualityOP80_X_X_Y"); + + + dict.Add("QualityNoOk", "QualityNoOk_OP80"); + dict.Add("QualityNoOkReason", "QualityNoOkReason_OP80"); + + break; + default: + break; + } + return dict; + } + + /// <summary> + /// 銆愬伐浠舵垨宸ュ簭鏁版嵁鏁版嵁鏇存柊涓撶敤銆� dict涓墠闈竴涓槸鍘熷璞★紝鍚庨潰涓�涓槸鐩爣瀵硅薄 + /// </summary> + /// <param name="WorkingProcedure"></param> + /// <returns></returns> + public static Dictionary<string, string> GetWorkPieceInfoUpdateForQualityNoOk(WorkPieceLogMiddle loginfo) + { + Dictionary<string, string> dict = new Dictionary<string, string>(); + + //if (loginfo.QualityState != null) + //{ + // QualityState qualityState; + // bool isRight = Enum.TryParse<QualityState>(loginfo.QualityState.ToString(), out qualityState); + // if (isRight && (qualityState == QualityState.NG || qualityState == QualityState.Suspected)) + // { + + // } + //} + + dict.Add("QualityNoOk", "QualityNoOk"); + dict.Add("QualityNoOkReason", "QualityNoOkReason"); + + return dict; + } + + public static void SetQualityNoOk_WorkPieceInfo(WorkPieceLogMiddle logMiddle, ref WorkPieceInfo pieceInfo) + { + pieceInfo.QualityNoOk = logMiddle.QualityNoOk; + pieceInfo.QualityNoOkReason = logMiddle.QualityNoOkReason; + } + public static void SetQualityNoOk_WorkPieceProcess(WorkPieceLogMiddle logMiddle, ref WorkPieceProcess pieceProcess) + { + pieceProcess.QualityNoOk = logMiddle.QualityNoOk; + pieceProcess.QualityNoOkReason = logMiddle.QualityNoOkReason; + } + + + /// <summary> + /// 鍒ゆ柇鏄惁璺冲簭 + /// </summary> + /// <param name="loginfo"></param> + /// <param name="type"></param> + public static bool CheckQualityInfoComplete(WorkPieceInfo info, WorkPieceLog loginfo, LogType type) + { + //鍒ゆ柇鏄惁璺冲簭 + if (info == null || info.WorkPieceID.Length < 1) + { + Log4NetHelper.WriteErrorLog(type, $"鏍¢獙宸ヤ欢淇℃伅{loginfo.WorkPieceID}宸ュ簭鏄惁璺冲簭鏃讹紝浼犲叆宸ヤ欢淇℃伅寮傚父"); + return true;//娌″彇鍒板伐浠朵俊鎭紝涓嶅仛鍒ゆ柇鏄惁璺冲簭 + } + else + { + try + { + string wproStr = info.WorkingProcedureCurrent + loginfo.WorkingProcedure; + if (wproStr.Length != 8) + { + Log4NetHelper.WriteErrorLog(type, $"鏍¢獙宸ヤ欢{info.WorkPieceID} {loginfo.WorkingProcedure}宸ュ簭 鏄惁璺冲簭鏃讹紝宸ュ簭鎷兼帴鏈夐棶棰橀暱搴︿笉涓�8浣�:{wproStr}"); + return true;//宸ュ簭鎷兼帴鏈夐棶棰� + } + if (!ConfigHelper.GetConfigString("WorkingProcedureAllStr").Contains(wproStr)) + { + Log4NetHelper.WriteErrorLog(type, $"鏍¢獙宸ヤ欢{info.WorkPieceID} {loginfo.WorkingProcedure}宸ュ簭 鍑虹幇璺冲簭锛岃璁惧娉ㄦ剰:{wproStr}"); + return false; + } + + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(type, $"鏍¢獙宸ヤ欢{info.WorkPieceID} {loginfo.WorkingProcedure}宸ュ簭 鏄惁璺冲簭鏃跺嚭鐜板紓甯�", ex); + } + } + return true; + + //using (var trans = db.Database.BeginTransaction()) + //{ } + + //var conStr = @"server=localhost;Database=EFDBO1;User ID=sa;Password=123456;"; + //using (var connection = new SqlConnection(conStr)) + //{ + // connection.Open(); + // using (var scope = new Transactionscope()) + // { + + // //AD0.Net + // var command = connection.CreateCommand(); + // command.CommandText = "DELETE FROM T_RoleInfor"; + // command.ExecuteNonQuery(); + // //缁煎悎鎻愪氦 + // scope.complete(); + // } + //} + } + /// <summary> + /// 瑙f瀽浜岀淮鐮� + + /// </summary> + /// <param name="loginfo"></param> + /// <returns></returns> + public static WorkPieceInfo ParseQRCode(WorkPieceInfo loginfo) + { + if (string.IsNullOrEmpty(loginfo.WorkPieceID) || loginfo.WorkPieceID.Length != 22) + { + return loginfo; + } + loginfo.WorkPieceIDTo1 = loginfo.WorkPieceID.Substring(0, 2); + loginfo.WorkPieceIDTo2 = loginfo.WorkPieceID.Substring(2, 4); + loginfo.WorkPieceIDTo3 = loginfo.WorkPieceID.Substring(6, 6); + loginfo.WorkPieceIDTo4 = loginfo.WorkPieceID.Substring(12, 2); + loginfo.WorkPieceIDTo5 = loginfo.WorkPieceID.Substring(14, 4); + loginfo.WorkPieceIDTo6 = loginfo.WorkPieceID.Substring(18, 2); + loginfo.WorkPieceIDTo7 = loginfo.WorkPieceID.Substring(20, 2); + return loginfo; + } + + + /// <summary> + /// 璁$畻OP 璐ㄩ噺鏁版嵁鏄惁鍚堟牸 + /// </summary> + public static QualityState CalcQualityStateForOP(WorkPieceLogMiddle logMiddle, ref QualityNoOkEnum? qualityNoOkEnum) + { + QualityState qualityState = QualityState.Suspected; + if (logMiddle.WorkingProcedure == "OP60") + { + decimal _QualityOP60To1 = SystemHelper.GetDecimal(logMiddle.QualityOP60To1); + decimal _QualityOP60To2 = SystemHelper.GetDecimal(logMiddle.QualityOP60To2); + var isPass_QualityOP60To1 = false; + var isPass_QualityOP60To2 = false; + + + if (_QualityOP60To1 >= (decimal)53.018 && _QualityOP60To1 <= (decimal)53.030) + { + isPass_QualityOP60To1 = true; + } + else + { + qualityNoOkEnum = QualityNoOkEnum.OP60澶уご瀛旂洿寰勮秴宸�; + } + if (_QualityOP60To2 >= (decimal)22.005 && _QualityOP60To2 <= (decimal)22.011) + { + isPass_QualityOP60To2 = true; + } + else + { + qualityNoOkEnum = QualityNoOkEnum.OP60灏忓ご瀛旂洿寰勮秴宸�; + } + + if (isPass_QualityOP60To1 && isPass_QualityOP60To2) + { + qualityState = QualityState.OK; + } + else + { + qualityState = QualityState.NG; + } + if (_QualityOP60To1 == 0 || _QualityOP60To2 == 0) + { + qualityState = QualityState.Suspected; + return qualityState; + } + return qualityState; + } + else if (logMiddle.WorkingProcedure == "OP10") + { + if (logMiddle.QualityState == (int)QualityState.NG) + { + qualityNoOkEnum = QualityNoOkEnum.OP10鍘氬害瓒呭樊; + } + return qualityState; + } + else if (logMiddle.WorkingProcedure == "OP20") + { + if (logMiddle.QualityState == (int)QualityState.NG) + { + qualityNoOkEnum = QualityNoOkEnum.OP20灏忓ご瀛旂洿寰勮秴宸�; + } + return qualityState; + } + else if (logMiddle.WorkingProcedure == "OP35") + { + if (logMiddle.QualityState == (int)QualityState.NG) + { + qualityNoOkEnum = QualityNoOkEnum.OP35婊氬帇鍔涗笉鍚堟牸; + } + return qualityState; + } + else if (logMiddle.WorkingProcedure == "OP40") + { + if (logMiddle.QualityState == (int)QualityState.NG) + { + qualityNoOkEnum = QualityNoOkEnum.OP40鍘氬害瓒呭樊; + } + return qualityState; + } + return qualityState; + } + + + #endregion + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/WorkPieceLogManager.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/WorkPieceLogManager.cs new file mode 100644 index 0000000..f4024f6 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/BLL/WorkPieceLogManager.cs @@ -0,0 +1,38 @@ +锘縰sing iWare_SCADA_BusinessLogical.DLA.Dao; +using iWare_SCADA_Model; +using log4net; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical.BLL +{ + public class WorkPieceLogManager//: CommonService<WorkPieceLog, WorkPieceLog,DbModel> + { + public static List<WorkPieceLog> GetWorkPieceLog(string WorkPieceID) + { + using (DbModel db = new DbModel()) + { + //鏌ヨ鎵�鏈� + var query = db.WorkPieceLog.Where(o=>o.WorkPieceID== WorkPieceID).ToList(); + return query; + } + } + + + public static long InsertWorkPieceLog(WorkPieceLog workPiece) + { + using (DbModel db = new DbModel()) + { + db.WorkPieceLog.Add(workPiece); + db.SaveChanges(); + return workPiece.Id; + } + } + + + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/CommonDao.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/CommonDao.cs new file mode 100644 index 0000000..3be7532 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/CommonDao.cs @@ -0,0 +1,553 @@ +锘縰sing System; +using System.Linq; +using System.Collections.Generic; +using System.Data.SqlClient; + +using System.Data.Entity; + +namespace iWare_SCADA_BusinessLogical.DLA.Dao +{ + /// <summary> + /// 鍏敤鏂规硶鐨勬娊璞$被 + /// 寮犲睍 + /// </summary> + /// <typeparam name="T">鑷畾涔夌殑瀹炰綋绫�</typeparam> + /// <typeparam name="S">ORM涓殑瀹炰綋绫�</typeparam> + public abstract class CommonDao<T, S> where T : class, ICommonEntity<S> where S : class + { + + #region 闇�瑕佸湪瀛愮被涓疄鐜扮殑鎶借薄鏂规硶 + /// <summary> + /// 璇ユ柟娉曡幏鍙栧湪鑷畾涔夊疄浣撳拰ORM鑷姩鐢熸垚瀹炰綋涔嬮棿瀛楁鐨勫搴斿叧绯� + /// </summary> + protected abstract string GetColumnName(string name); + + /// <summary> + /// 鑾峰彇T涓睘鎬у悕鍒楄〃 + /// </summary> + /// <returns>T涓睘鎬у悕鍒楄〃</returns> + protected abstract List<string> GetColumnNames(); + + /// <summary> + /// 璇ユ柟娉曞皢Orm鐨凷瀵硅薄杞崲涓鸿嚜瀹氫箟绫诲瀷T鐨勫璞� + /// </summary> + /// <param name="s">Orm涓殑S瀹炰綋鐨勫疄渚�</param> + /// <returns>鑷畾涔夌殑T绫诲瀷瀹炰緥</returns> + protected abstract T ToEntity(S s); + + /// <summary> + /// 璇ユ柟娉曞皢瀹氫箟绫诲瀷T鐨凷瀵硅薄杞崲涓鸿嚜Orm鐨勫璞� + /// </summary> + /// <param name="t">鑷畾涔塗绫诲瀷鐨勫璞�</param> + /// <returns>Orm涓璖鐨勫璞�</returns> + protected abstract S ToOrm(T t); + + /// <summary> + /// 璇ユ柟娉曡幏鍙栧湪鑷畾涔夊疄浣撳拰ORM鑷姩鐢熸垚瀹炰綋涔嬮棿瀛楁鐨勫搴斿叧绯� + /// </summary> + protected abstract string GetTableName(); + #endregion + + #region 鏍规嵁鏉′欢鏌ヨ + + /// <summary> + /// 鏍规嵁鏉′欢鏌ヨ鑷畾涔夊疄浣揟鐨勫垪琛� + /// </summary> + /// <param name="param">鏌ヨ鏉′欢</param> + /// <param name="msg">閿欒淇℃伅</param> + /// <returns>鑷畾涔夊疄浣揟鐨勮褰曞垪琛�</returns> + public virtual List<T> QueryByParam(QueryParam param, DbContext dbModel) + { + var res = new List<T>(); + var filter = param.Filter == null || param.Filter.Count <= 0 ? new Dictionary<string, object>() : param.Filter; + var notfilter = param.NotFilter == null || param.NotFilter.Count <= 0 ? new Dictionary<string, object>() : param.NotFilter; + var search = param.Search == null || param.Search.Count <= 0 ? new Dictionary<string, object>() : param.Search; + + var leqd = param.Leqd == null || param.Leqd.Count <= 0 ? new Dictionary<string, object>() : param.Leqd; + var geqd = param.Geqd == null || param.Geqd.Count <= 0 ? new Dictionary<string, object>() : param.Geqd; + var ltd = param.Ltd == null || param.Ltd.Count <= 0 ? new Dictionary<string, object>() : param.Ltd; + var gtd = param.Gtd == null || param.Gtd.Count <= 0 ? new Dictionary<string, object>() : param.Gtd; + var leq = param.Leq == null || param.Leq.Count <= 0 ? new Dictionary<string, object>() : param.Leq; + var geq = param.Geq == null || param.Geq.Count <= 0 ? new Dictionary<string, object>() : param.Geq; + var lt = param.Lt == null || param.Lt.Count <= 0 ? new Dictionary<string, object>() : param.Lt; + var gt = param.Gt == null || param.Gt.Count <= 0 ? new Dictionary<string, object>() : param.Gt; + var neq = param.Neq == null || param.Neq.Count <= 0 ? new Dictionary<string, object>() : param.Neq; + var order = param.Order == null || param.Order.Count <= 0 ? new Dictionary<string, object>() { { "Id", "DESC" } } : param.Order; + + var sql = string.Format("SELECT * FROM {0} WHERE 1=1", GetTableName()); + + var sqlParams = new List<SqlParameter>(); + + foreach (var key in filter.Keys) + { + if (filter[key] != null && !string.IsNullOrEmpty(filter[key] + "")) + { + + sqlParams.Add(new SqlParameter(("@F_" + key), filter[key])); + sql += string.Format(" AND {0} = {1}", GetColumnName(key), "@F_" + key); + } + } + foreach (var key in notfilter.Keys) + { + if (notfilter[key] != null && !string.IsNullOrEmpty(notfilter[key] + "")) + { + + sqlParams.Add(new SqlParameter(("@F_" + key), notfilter[key])); + sql += string.Format(" AND {0} != {1}", GetColumnName(key), "@F_" + key); + } + } + + foreach (var key in search.Keys) + { + if (search[key] != null && !string.IsNullOrEmpty(search[key] + "")) + { + sqlParams.Add(new SqlParameter("@S_" + key, "%" + search[key] + "%")); + sql += string.Format(" AND {0} LIKE {1}", GetColumnName(key), "@S_" + key); + } + } + + foreach (var key in leqd.Keys) + { + if (leqd[key] != null && !string.IsNullOrEmpty(leqd[key] + "")) + { + sqlParams.Add(new SqlParameter("@LEQD_" + key, leqd[key])); + sql += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQD_" + key); + } + } + + + foreach (var key in geqd.Keys) + { + if (geqd[key] != null && !string.IsNullOrEmpty(geqd[key] + "")) + { + sqlParams.Add(new SqlParameter("@GEQD_" + key, geqd[key])); + sql += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQD_" + key); + } + } + + foreach (var key in ltd.Keys) + { + if (ltd[key] != null && !string.IsNullOrEmpty(ltd[key] + "")) + { + sqlParams.Add(new SqlParameter("@LTD_" + key, ltd[key])); + sql += string.Format(" AND {0} < {1}", GetColumnName(key), "@LTD_" + key); + } + } + + foreach (var key in gtd.Keys) + { + if (gtd[key] != null && !string.IsNullOrEmpty(gtd[key] + "")) + { + sqlParams.Add(new SqlParameter("@GTD_" + key, gtd[key])); + sql += string.Format(" AND {0} > {1}", GetColumnName(key), "@GTD_" + key); + } + } + + foreach (var key in leq.Keys) + { + if (leq[key] != null && !string.IsNullOrEmpty(leq[key] + "")) + { + sqlParams.Add(new SqlParameter("@LEQ_" + key, leq[key])); + sql += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQ_" + key); + } + } + + foreach (var key in geq.Keys) + { + if (geq[key] != null && !string.IsNullOrEmpty(geq[key] + "")) + { + sqlParams.Add(new SqlParameter("@GEQ_" + key, geq[key])); + sql += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQ_" + key); + } + } + + foreach (var key in lt.Keys) + { + if (lt[key] != null && !string.IsNullOrEmpty(lt[key] + "")) + { + sqlParams.Add(new SqlParameter("@LT_" + key, lt[key])); + sql += string.Format(" AND {0} < {1}", GetColumnName(key), "@LT_" + key); + } + } + + foreach (var key in gt.Keys) + { + if (gt[key] != null && !string.IsNullOrEmpty(gt[key] + "")) + { + sqlParams.Add(new SqlParameter("@GT_" + key, gt[key])); + sql += string.Format(" AND {0} > {1}", GetColumnName(key), "@GT_" + key); + } + } + + foreach (var key in neq.Keys) + { + if (neq[key] != null && !string.IsNullOrEmpty(neq[key] + "")) + { + sqlParams.Add(new SqlParameter("@NEQ_" + key, neq[key])); + sql += string.Format(" AND {0} <> {1}", GetColumnName(key), "@NEQ_" + key); + } + } + + sql += " ORDER BY "; + + foreach (var key in order.Keys) + { + + var value = string.IsNullOrEmpty(order[key].ToString()) ? "DESC" : order[key].ToString().ToUpper(); + + sqlParams.Add(new SqlParameter("@O_" + key, order[key])); + sql += string.Format("{0} {1},", GetColumnName(key), value); + + } + + if (sql.EndsWith(",")) + { + sql = sql.Substring(0, sql.Length - 1); + } + var datas = dbModel.Database.SqlQuery<S>(sql, sqlParams.ToArray()).ToList(); + datas.ForEach(x => res.Add(ToEntity(x))); + + + return res; + } + + #endregion + + #region 鏍规嵁鏉′欢鍒嗛〉鏌ヨ + /// <summary> + /// 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鑷畾涔夊疄浣揟鐨勫垪琛紝鍚屾椂杩斿洖璁板綍鐨勬�绘潯鏁板強褰撳墠鎵�鍦ㄧ殑椤垫暟 + /// </summary> + /// <param name="param">鏌ヨ鏉′欢</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <param name="totalNum">璁板綍鐨勬�绘潯鏁�</param> + /// <param name="currentPage">褰撳墠椤甸潰鏁�</param> + /// <returns>鑷畾涔夊疄浣揟鐨勮褰曞垪琛�</returns> + public virtual List<T> QueryByParam(QueryParam param, DbContext dbModel, out int totalNum, out int currentPage) + { + + totalNum = 0; + currentPage = 1; + + var res = new List<T>(); + + var filter = param.Filter == null || param.Filter.Count <= 0 ? new Dictionary<string, object>() : param.Filter; + var search = param.Search == null || param.Search.Count <= 0 ? new Dictionary<string, object>() : param.Search; + + var leqd = param.Leqd == null || param.Leqd.Count <= 0 ? new Dictionary<string, object>() : param.Leqd; + var geqd = param.Geqd == null || param.Geqd.Count <= 0 ? new Dictionary<string, object>() : param.Geqd; + var ltd = param.Ltd == null || param.Ltd.Count <= 0 ? new Dictionary<string, object>() : param.Ltd; + var gtd = param.Gtd == null || param.Gtd.Count <= 0 ? new Dictionary<string, object>() : param.Gtd; + var leq = param.Leq == null || param.Leq.Count <= 0 ? new Dictionary<string, object>() : param.Leq; + var geq = param.Geq == null || param.Geq.Count <= 0 ? new Dictionary<string, object>() : param.Geq; + var lt = param.Lt == null || param.Lt.Count <= 0 ? new Dictionary<string, object>() : param.Lt; + var gt = param.Gt == null || param.Gt.Count <= 0 ? new Dictionary<string, object>() : param.Gt; + var neq = param.Neq == null || param.Neq.Count <= 0 ? new Dictionary<string, object>() : param.Neq; + var pageIndex = param.PageIndex < 1 ? 1 : param.PageIndex; + var pageSize = param.PageSize < 1 ? 5 : param.PageSize; + var order = param.Order == null || param.Order.Count <= 0 ? new Dictionary<string, object>() { { "Id", "DESC" } } : param.Order; + + //鏌ヨ鏁伴噺鐨剆ql璇彞 + var sqlCount = string.Format("SELECT COUNT(*) FROM {0} WHERE 1=1", GetTableName()); + + //鏌ヨ鏁伴噺浣跨敤鐨剆ql鍙傛暟鍒楄〃 + var sqlParamsCount = new List<SqlParameter>(); + + var orderStr = ""; + + + foreach (var key in order.Keys) + { + var value = string.IsNullOrEmpty(order[key].ToString()) ? "DESC" : order[key].ToString().ToUpper(); + sqlParamsCount.Add(new SqlParameter("@O_" + key, order[key])); + orderStr += string.Format("{0} {1},", GetColumnName(key), value); + } + + if (orderStr.EndsWith(",")) + { + orderStr = orderStr.Substring(0, orderStr.Length - 1); + } + + //鏌ヨ璁板綍鍒楄〃鐨剆ql璇彞 + var sqlData = string.Format("SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY {0} ) AS ROWNUM from {1} where 1=1", orderStr, GetTableName()); + + //鏌ヨ璁板綍鍒楄〃浣跨敤鐨剆ql鍙傛暟鍒楄〃 + var sqlParamsData = new List<SqlParameter>(); + + foreach (var key in filter.Keys) + { + if (filter[key] != null && !string.IsNullOrEmpty(filter[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@F_" + key, filter[key])); + sqlParamsData.Add(new SqlParameter("@F_" + key, filter[key])); + sqlCount += string.Format(" AND {0} = {1}", GetColumnName(key), "@F_" + key); + sqlData += string.Format(" AND {0} = {1}", GetColumnName(key), "@F_" + key); + } + } + + foreach (var key in search.Keys) + { + if (search[key] != null && !string.IsNullOrEmpty(search[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@S_" + key, "%" + search[key] + "%")); + sqlParamsData.Add(new SqlParameter("@S_" + key, "%" + search[key] + "%")); + sqlCount += string.Format(" AND {0} LIKE {1}", GetColumnName(key), "@S_" + key); + sqlData += string.Format(" AND {0} LIKE {1}", GetColumnName(key), "@S_" + key); + } + } + + foreach (var key in leqd.Keys) + { + if (leqd[key] != null && !string.IsNullOrEmpty(leqd[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@LEQD_" + key, leqd[key])); + sqlParamsData.Add(new SqlParameter("@LEQD_" + key, leqd[key])); + sqlCount += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQD_" + key); + sqlData += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQD_" + key); + } + } + + foreach (var key in geqd.Keys) + { + if (geqd[key] != null && !string.IsNullOrEmpty(geqd[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@GEQD_" + key, geqd[key])); + sqlParamsData.Add(new SqlParameter("@GEQD_" + key, geqd[key])); + sqlCount += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQD_" + key); + sqlData += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQD_" + key); + } + } + + foreach (var key in ltd.Keys) + { + if (ltd[key] != null && !string.IsNullOrEmpty(ltd[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@LTD_" + key, ltd[key])); + sqlParamsData.Add(new SqlParameter("@LTD_" + key, ltd[key])); + sqlCount += string.Format(" AND {0} < {1}", GetColumnName(key), "@LTD_" + key); + sqlData += string.Format(" AND {0} < {1}", GetColumnName(key), "@LTD_" + key); + } + } + + foreach (var key in gtd.Keys) + { + if (gtd[key] != null && !string.IsNullOrEmpty(gtd[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@GTD_" + key, gtd[key])); + sqlParamsData.Add(new SqlParameter("@GTD_" + key, gtd[key])); + sqlCount += string.Format(" AND {0} > {1}", GetColumnName(key), "@GTD_" + key); + sqlData += string.Format(" AND {0} > {1}", GetColumnName(key), "@GTD_" + key); + } + } + + foreach (var key in leq.Keys) + { + if (leq[key] != null && !string.IsNullOrEmpty(leq[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@LEQ_" + key, leq[key])); + sqlParamsData.Add(new SqlParameter("@LEQ_" + key, leq[key])); + sqlCount += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQ_" + key); + sqlData += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQ_" + key); + } + } + + foreach (var key in geq.Keys) + { + if (geq[key] != null && !string.IsNullOrEmpty(geq[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@GEQ_" + key, geq[key])); + sqlParamsData.Add(new SqlParameter("@GEQ_" + key, geq[key])); + sqlCount += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQ_" + key); + sqlData += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQ_" + key); + } + } + + foreach (var key in lt.Keys) + { + if (lt[key] != null && !string.IsNullOrEmpty(lt[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@LT_" + key, lt[key])); + sqlParamsData.Add(new SqlParameter("@LT_" + key, lt[key])); + sqlCount += string.Format(" AND {0} < {1}", GetColumnName(key), "@LT_" + key); + sqlData += string.Format(" AND {0} < {1}", GetColumnName(key), "@LT_" + key); + } + } + + foreach (var key in gt.Keys) + { + if (gt[key] != null && !string.IsNullOrEmpty(gt[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@GT_" + key, gt[key])); + sqlParamsData.Add(new SqlParameter("@GT_" + key, gt[key])); + sqlCount += string.Format(" AND {0} > {1}", GetColumnName(key), "@GT_" + key); + sqlData += string.Format(" AND {0} > {1}", GetColumnName(key), "@GT_" + key); + } + } + + foreach (var key in neq.Keys) + { + if (neq[key] != null && !string.IsNullOrEmpty(neq[key] + "")) + { + sqlParamsCount.Add(new SqlParameter("@NEQ_" + key, neq[key])); + sqlParamsData.Add(new SqlParameter("@NEQ_" + key, neq[key])); + sqlCount += string.Format(" AND {0} <> {1}", GetColumnName(key), "@NEQ_" + key); + sqlData += string.Format(" AND {0} <> {1}", GetColumnName(key), "@NEQ_" + key); + } + } + + totalNum = dbModel.Database.SqlQuery<int>(sqlCount, sqlParamsCount.ToArray()).ToList()[0]; + + int totalPage = Convert.ToInt32(totalNum / pageSize); + + if ((totalNum % pageSize) > 0) + { + totalPage += 1; + } + + currentPage = pageIndex > totalPage ? totalPage : pageIndex; + currentPage = Math.Max(currentPage,1); + sqlParamsData.Add(new SqlParameter("@PI_Start", (currentPage - 1) * pageSize + 1)); + sqlParamsData.Add(new SqlParameter("@PI_End", currentPage * pageSize)); + sqlData += string.Format(") t Where t.ROWNUM between {0} and {1} ", "@PI_Start", "@PI_End"); + + var datas = dbModel.Database.SqlQuery<S>(sqlData, sqlParamsData.ToArray()).ToList(); + + + + datas.ForEach(x => res.Add(ToEntity(x))); + return res; + } + + #endregion + + #region 鎻掑叆鏂扮殑瀵硅薄 + + /// <summary> + /// 灏嗚嚜瀹氫箟鐨勫疄浣揟鐨勫疄渚嬪垪琛ㄦ壒閲忎繚瀛樺埌鏁版嵁搴� + /// </summary> + /// <param name="ts">鑷畾涔夌被鍨婽鐨勫疄渚嬪垪琛�</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <returns>淇濆瓨鐨勬暟閲�</returns> + public virtual int Save(List<T> ts, DbContext dbModel) + { + if (ts == null) + { + return 0; + } + ts.ForEach(x => dbModel.Set<S>().Add(ToOrm(x))); + dbModel.SaveChanges(); + return ts.Count; + } + + /// <summary> + /// 灏嗚嚜瀹氫箟鐨勫疄浣揟鐨勫疄渚嬩繚瀛樺埌鏁版嵁搴� + /// </summary> + /// <param name="t">鑷畾涔夌被鍨婽鐨勫疄渚�</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <returns>鏂版坊鍔燭瀵硅薄鐨刬d</returns> + public virtual int Save(T t, DbContext dbModel) + { + var s = ToOrm(t); + dbModel.Set<S>().Add(s); + dbModel.SaveChanges(); + return ToEntity(s).Id; + } + + #endregion + + #region 淇敼瀵硅薄 + /// <summary> + /// 淇敼鑷畾涔夌被鍨婽鐨勫疄浣撳苟淇濆瓨鍒版暟鎹簱 + /// </summary> + /// <param name="t">鑷畾涔夌被鍨婽鐨勫疄渚�</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <returns>闇�鏀瑰疄浣撶殑id</returns> + public virtual int Update(T t, DbContext dbModel) + { + var entry = dbModel.Entry<S>(ToOrm(t)); + entry.State = System.Data.Entity.EntityState.Unchanged; + var propStrs = GetColumnNames(); + propStrs.ForEach(x => entry.Property(GetColumnName(x)).IsModified = true); + dbModel.SaveChanges(); + return t.Id; + } + + /// <summary> + /// 淇敼鑷畾涔夌被鍨婽鐨勫疄浣撳苟淇濆瓨鍒版暟鎹簱 + /// </summary> + /// <param name="t">鑷畾涔夌被鍨婽鐨勫疄渚�</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <returns>闇�鏀瑰疄浣撶殑id</returns> + /// + public virtual int Update(List<T> ts, DbContext dbModel) + { + foreach (var t in ts) + { + var entry = dbModel.Entry<S>(ToOrm(t)); + entry.State = System.Data.Entity.EntityState.Unchanged; + var propStrs = GetColumnNames(); + propStrs.ForEach(x => entry.Property(GetColumnName(x)).IsModified = true); + } + dbModel.SaveChanges(); + return ts.Count; + } + + #endregion + + #region 鍒犻櫎瀵硅薄 + + /// <summary> + /// 浠庢暟鎹簱涓垹闄や富閿负id鐨勮褰� + /// </summary> + /// <param name="id">闇�瑕佸垹闄ゅ璞$殑id</param> + /// <param name="msg">寮傚父閿欒淇℃伅</param> + /// <returns>琚垹闄ゅ璞$殑涓婚敭</returns> + public virtual int Delete(int id, DbContext dbModel) + { + var count = Delete(new List<int> { id }, dbModel); + return id; + } + + /// <summary> + /// 浠庢暟鎹簱涓壒閲忓垹闄や富閿垪琛ㄤ负ids鐨勮褰� + /// </summary> + /// <param name="id">闇�瑕佸垹闄ゅ璞$殑id鍒楄〃</param> + /// <param name="msg">寮傚父閿欒淇℃伅</param> + /// <returns>琚垹闄ゅ璞$殑鏁伴噺</returns> + public virtual int Delete(List<int> ids, DbContext dbModel) + { + foreach (var id in ids) + { + var t = Activator.CreateInstance(typeof(T)); + ((T)t).Id = id; + var s = ToOrm((T)t); + dbModel.Set<S>().Attach(s); + dbModel.Set<S>().Remove(s); + } + + + dbModel.SaveChanges(); + return ids.Count; + } + #endregion + + + #region 鎷艰瀛楀吀 + /// <summary> + /// 灏嗘弧瓒虫潯浠剁殑T绫诲瀷鎷艰鎴愪互id涓洪敭锛岀被鍨嬫湰韬负鍊肩殑瀛楀吀 + /// </summary> + /// <param name="param">鏌ヨ鏉′欢</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <returns>浠d涓洪敭锛岀被鍨嬫湰韬负鍊肩殑瀛楀吀</returns> + public virtual Dictionary<int, T> ToDictionary(QueryParam param, DbContext dbModel) + { + var res = new Dictionary<int, T>(); + var datas = QueryByParam(param, dbModel); + datas.ForEach(x => res.Add(x.Id,x)); + return res; + } + + #endregion + } + +} + diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/CommonService.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/CommonService.cs new file mode 100644 index 0000000..9757825 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/CommonService.cs @@ -0,0 +1,404 @@ +锘縰sing iWare_SCADA_BusinessLogical.Properties; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Data.Entity; +using System.Data.Entity.Validation; +using System.Linq; + +namespace iWare_SCADA_BusinessLogical.DLA.Dao +{ + /// <summary> + /// 鍏敤鏂规硶鐨勬娊璞$被 + /// 寮犲睍 + /// </summary> + /// <typeparam name="T">鑷畾涔夌殑瀹炰綋绫�</typeparam> + /// <typeparam name="S">ORM涓殑瀹炰綋绫�</typeparam> + public abstract class CommonService<T, S, D>:IService<T> where T : class, ICommonEntity<S> where S : class where D: DbContext,IDisposable + { + + + #region 闇�瑕佸湪瀛愮被涓疄鐜扮殑鎶借薄鏂规硶 + + + private CommonDao<T, S> CommonDao; + + public CommonService(CommonDao<T, S> commonDao) + { + this.CommonDao = commonDao; + } + + + #endregion + + #region 鏍规嵁鏉′欢鏌ヨ + + /// <summary> + /// 鏍规嵁鏉′欢鏌ヨ鑷畾涔夊疄浣揟鐨勫垪琛� + /// </summary> + /// <param name="param">鏌ヨ鏉′欢</param> + /// <param name="msg">閿欒淇℃伅</param> + /// <returns>鑷畾涔夊疄浣揟鐨勮褰曞垪琛�</returns> + public virtual List<T> QueryByParam(QueryParam param, out string msg) + { + msg = ""; + var type = typeof(D); + using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext) + { + try + { + return CommonDao.QueryByParam(param, dbModel); + } + + catch (DbEntityValidationException ex) + { + var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); + msg = string.Join(", ", errs); + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "QueryByParam", msg); + return new List<T>(); + } + catch (Exception ex) + { + msg = ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "QueryByParam", ex.Message); + return new List<T>(); + } + } + } + + #endregion + + #region 鏍规嵁鏉′欢鍒嗛〉鏌ヨ + /// <summary> + /// 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鑷畾涔夊疄浣揟鐨勫垪琛紝鍚屾椂杩斿洖璁板綍鐨勬�绘潯鏁板強褰撳墠鎵�鍦ㄧ殑椤垫暟 + /// </summary> + /// <param name="param">鏌ヨ鏉′欢</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <param name="totalNum">璁板綍鐨勬�绘潯鏁�</param> + /// <param name="currentPage">褰撳墠椤甸潰鏁�</param> + /// <returns>鑷畾涔夊疄浣揟鐨勮褰曞垪琛�</returns> + public virtual List<T> QueryByParam(QueryParam param, out string msg, out int totalNum, out int currentPage) + { + msg = ""; + totalNum = 0; + currentPage = 1; + var type = typeof(D); + using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext) + { + try + { + return CommonDao.QueryByParam(param, dbModel, out totalNum, out currentPage); + } + catch (DbEntityValidationException ex) + { + var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); + msg = string.Join(", ", errs); + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "QueryByParam", msg); + return new List<T>(); + } + catch (Exception ex) + { + msg = ex.Message; + totalNum = 0; + currentPage = 1; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "QueryByParam", ex.Message); + return new List<T>(); + } + } + } + + + #endregion + + #region 鎻掑叆鏂扮殑瀵硅薄 + + /// <summary> + /// 灏嗚嚜瀹氫箟鐨勫疄浣揟鐨勫疄渚嬪垪琛ㄦ壒閲忎繚瀛樺埌鏁版嵁搴� + /// </summary> + /// <param name="ts">鑷畾涔夌被鍨婽鐨勫疄渚嬪垪琛�</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <returns>淇濆瓨鐨勬暟閲�</returns> + public virtual int Save(List<T> ts, out string msg) + { + msg = ""; + + var type = typeof(D); + using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext) + { + try + { + return CommonDao.Save(ts, dbModel); + } + + catch (DbEntityValidationException ex) + { + var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); + msg = string.Join(", ", errs); + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg); + return 0; + } + catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex) + { + msg = ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", ex.Message); + return 0; + } + catch (Exception ex) + { + msg = ex.HResult == (int)EDbError.璁板綍宸插瓨鍦� ? EDbError.璁板綍宸插瓨鍦�.ToString() : ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg); + return 0; + } + } + } + + /// <summary> + /// 灏嗚嚜瀹氫箟鐨勫疄浣揟鐨勫疄渚嬩繚瀛樺埌鏁版嵁搴� + /// </summary> + /// <param name="t">鑷畾涔夌被鍨婽鐨勫疄渚�</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <returns>鏂版坊鍔燭瀵硅薄鐨刬d</returns> + public virtual int Save(T t, out string msg) + { + msg = ""; + + var type = typeof(D); + using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext) + { + try + { + return CommonDao.Save(t, dbModel); + } + + catch (DbEntityValidationException ex) + { + var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); + msg = string.Join(", ", errs); + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg); + return -1; + } + catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex) + { + msg = ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", ex.Message); + return -1; + } + catch (Exception ex) + { + msg = ex.HResult == (int)EDbError.璁板綍宸插瓨鍦� ? EDbError.璁板綍宸插瓨鍦�.ToString() : ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg); + return -1; + } + } + + } + + #endregion + + #region 淇敼瀵硅薄 + /// <summary> + /// 淇敼鑷畾涔夌被鍨婽鐨勫疄浣撳苟淇濆瓨鍒版暟鎹簱 + /// </summary> + /// <param name="t">鑷畾涔夌被鍨婽鐨勫疄渚�</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <returns>闇�鏀瑰疄浣撶殑id</returns> + public virtual int Update(T t, out string msg) + { + msg = ""; + + var type = typeof(D); + using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext) + { + try + { + return CommonDao.Update(t, dbModel); + } + catch (DbEntityValidationException ex) + { + var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); + msg = string.Join(", ", errs); + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Update", msg); + return -1; + } + catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex) + { + msg = ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SaveUpdate", ex.Message); + return -1; + } + catch (Exception ex) + { + msg = ex.HResult == (int)EDbError.璁板綍宸插瓨鍦� ? EDbError.璁板綍宸插瓨鍦�.ToString() : ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Update", msg); + return -1; + } + } + } + + /// <summary> + /// 淇敼鑷畾涔夌被鍨婽鐨勫疄浣撳苟淇濆瓨鍒版暟鎹簱 + /// </summary> + /// <param name="t">鑷畾涔夌被鍨婽鐨勫疄渚�</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <returns>闇�鏀瑰疄浣撶殑id</returns> + public virtual int Update(List<T> ts, out string msg) + { + msg = ""; + + var type = typeof(D); + using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext) + { + try + { + CommonDao.Update(ts, dbModel); + return ts.Count; + } + catch (DbEntityValidationException ex) + { + var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); + msg = string.Join(", ", errs); + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Update", msg); + return -1; + } + catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex) + { + msg = ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SaveUpdate", ex.Message); + return -1; + } + catch (Exception ex) + { + msg = ex.HResult == (int)EDbError.璁板綍宸插瓨鍦� ? EDbError.璁板綍宸插瓨鍦�.ToString() : ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Update", msg); + return -1; + } + } + } + + #endregion + + #region 鍒犻櫎瀵硅薄 + + /// <summary> + /// 浠庢暟鎹簱涓垹闄や富閿负id鐨勮褰� + /// </summary> + /// <param name="id">闇�瑕佸垹闄ゅ璞$殑id</param> + /// <param name="msg">寮傚父閿欒淇℃伅</param> + /// <returns>琚垹闄ゅ璞$殑涓婚敭</returns> + public virtual int Delete(int id, out string msg) + { + msg = ""; + + var type = typeof(D); + using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext) + { + try + { + return CommonDao.Delete(id, dbModel); + } + catch (DbEntityValidationException ex) + { + var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); + msg = string.Join(", ", errs); + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", msg); + return -1; + } + catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex) + { + msg = ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", ex.Message); + return -1; + } + + + catch (Exception ex) + { + msg = "璁板綍宸茶鍏朵粬瀵硅薄寮曠敤锛屼笉鑳藉垹闄�"; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", ex.Message); + return -1; + } + } + } + + /// <summary> + /// 浠庢暟鎹簱涓壒閲忓垹闄や富閿垪琛ㄤ负ids鐨勮褰� + /// </summary> + /// <param name="id">闇�瑕佸垹闄ゅ璞$殑id鍒楄〃</param> + /// <param name="msg">寮傚父閿欒淇℃伅</param> + /// <returns>琚垹闄ゅ璞$殑鏁伴噺</returns> + public virtual int Delete(List<int> ids, out string msg) + { + msg = ""; + + var type = typeof(D); + using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext) + { + try + { + return CommonDao.Delete(ids, dbModel); + } + catch (DbEntityValidationException ex) + { + var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); + msg = string.Join(", ", errs); + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", msg); + return 0; + } + + catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex) + { + msg = ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", ex.Message); + return 0; + } + catch (Exception ex) + { + msg = "璁板綍宸茶鍏朵粬瀵硅薄寮曠敤锛屼笉鑳藉垹闄�"; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", ex.Message); + return 0; + } + } + } + #endregion + + + #region 鎷艰瀛楀吀 + /// <summary> + /// 灏嗘弧瓒虫潯浠剁殑T绫诲瀷鎷艰鎴愪互id涓洪敭锛岀被鍨嬫湰韬负鍊肩殑瀛楀吀 + /// </summary> + /// <param name="param">鏌ヨ鏉′欢</param> + /// <param name="msg">寮傚父閿欒娑堟伅</param> + /// <returns>浠d涓洪敭锛岀被鍨嬫湰韬负鍊肩殑瀛楀吀</returns> + public virtual Dictionary<int, T> ToDictionary(QueryParam param,out string msg) + { + msg = ""; + var type = typeof(D); + using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext) + { + try + { + return CommonDao.ToDictionary(param, dbModel); + } + catch (DbEntityValidationException ex) + { + var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); + msg = string.Join(", ", errs); + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ToDictionary", msg); + return new Dictionary<int, T>(); + } + + catch (Exception ex) + { + msg = ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ToDictionary", ex.Message); + return new Dictionary<int, T>(); + } + } + } + + #endregion + } + +} + diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/_system~.ini b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/_system~.ini new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/Dao/_system~.ini diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/EFHelp.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/EFHelp.cs new file mode 100644 index 0000000..5fac412 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/EFHelp.cs @@ -0,0 +1,15 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Data.Entity; +using System.Data.SqlClient; +using System.Linq; +using System.Linq.Expressions; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical.DLA +{ + internal class EFHelp + { + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/ICommonEntity.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/ICommonEntity.cs new file mode 100644 index 0000000..e446a32 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/ICommonEntity.cs @@ -0,0 +1,19 @@ +锘縩amespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// 鍏敤鐨勫疄浣撶被鎺ュ彛 + /// 寮犲睍 + /// </summary> + /// <typeparam name="T">鑷畾涔夌殑瀹炰綋绫诲瀷</typeparam> + /// <typeparam name="S">ORM涓殑瀹炰綋绫诲瀷</typeparam> + public interface ICommonEntity<S> + { + int Id { get; set; } + + /// <summary> + /// 灏員绫诲瀷鐨勫疄浣撹浆鎹㈡垚Orm涓殑瀵硅薄 + /// </summary> + /// <returns>Orm涓殑瀵硅薄</returns> + S ToOrm(); + } +} \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/IService.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/IService.cs new file mode 100644 index 0000000..45b9197 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/IService.cs @@ -0,0 +1,17 @@ +锘� +using System.Collections.Generic; +namespace iWare_SCADA_BusinessLogical +{ + public interface IService<T> + { + List<T> QueryByParam(QueryParam param, out string msg); + + int Save(T t, out string msg); + + int Update(T t, out string msg); + + int Delete(int id, out string msg); + + int Delete(List<int> ids, out string msg); + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/QueryParam.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/QueryParam.cs new file mode 100644 index 0000000..10853bd --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DLA/QueryParam.cs @@ -0,0 +1,102 @@ +锘縰sing iWare_SCADA_BusinessLogical.Utils; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Globalization; +using System.Windows.Forms; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// 鐢ㄤ簬鏌ヨ鐨勫弬鏁� + /// </summary> + public class QueryParam + { + /// <summary> + /// 鐢ㄤ簬绮剧‘鏌ヨ鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Filter { get; set; } + + /// <summary> + /// 鐢ㄤ簬绮剧‘鏌ヨ涓嶇瓑寰愮殑瀛楁 + /// </summary> + public Dictionary<string, object> NotFilter { get; set; } + + /// <summary> + /// 鐢ㄤ簬妯$硦鏌ヨ鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Search { get; set; } + + /// <summary> + /// 鐢ㄤ簬鎺掑簭鏌ヨ鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Order { get; set; } + + /// <summary> + /// 鐢ㄤ簬鏌ヨ鏃堕棿灏忎簬绛変簬鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Leqd { get; set; } + + /// <summary> + /// 鐢ㄤ簬鏌ヨ鏃堕棿澶т簬绛変簬鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Geqd { get; set; } + + /// <summary> + /// 鐢ㄤ簬鏌ヨ鏃堕棿灏忎簬鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Ltd { get; set; } + + /// <summary> + /// 鐢ㄤ簬鏌ヨ鏃堕棿澶т簬鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Gtd { get; set; } + + /// <summary> + /// 鐢ㄤ簬鏌ヨ灏忎簬绛変簬鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Leq { get; set; } + + /// <summary> + /// 鐢ㄤ簬鏌ヨ澶т簬绛変簬鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Geq { get; set; } + + /// <summary> + /// 鐢ㄤ簬鏌ヨ灏忎簬鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Lt { get; set; } + + /// <summary> + /// 鐢ㄤ簬鏌ヨ澶т簬鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Gt { get; set; } + + /// <summary> + /// 鐢ㄤ簬鏌ヨ澶т簬鐨勫瓧娈� + /// </summary> + public Dictionary<string, object> Neq { get; set; } + + /// <summary> + /// 鐢ㄤ簬鍒嗛〉锛岀鍑犻〉 + /// </summary> + public int PageIndex { get; set; } + + /// <summary> + /// 鐢ㄤ簬鍒嗛〉锛屾瘡涓〉闈㈢殑鏁版嵁鏁伴噺 + /// </summary> + public int PageSize { get; set; } + + + } + + + public class OP60Info + { + public string datetime { get; set; } + public string col2 { get; set; } + public string value { get; set; } + + public DateTime? datetimeHandle{get;set;} + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DBDataCapture/AlarmLogManager.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DBDataCapture/AlarmLogManager.cs new file mode 100644 index 0000000..1d243ba --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DBDataCapture/AlarmLogManager.cs @@ -0,0 +1,33 @@ +锘縰sing iWare_SCADA_Model.TableModelSC; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + public class AlarmLogManager + { + public static List<AlarmLog> GetAlarmLogs() + { + using (SCModel db = new SCModel()) + { + //鏌ヨ鎵�鏈� + var query = db.AlarmLog.ToList();//杩欎釜涓嶆槸寤惰繜鏌ヨ + return query; + } + } + + public static void UpdateAlarmLogs(AlarmLog log) + { + using (SCModel db = new SCModel()) + { + //鏌ヨ鎵�鏈� + var query = db.AlarmLog.Where(o => o.id == 1).FirstOrDefault();//杩欎釜涓嶆槸寤惰繜鏌ヨ + query.alarmMsg = $"娴嬭瘯鍟婏紒{DateTime.Now.ToString()}"; + db.SaveChanges(); + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP05.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP05.cs new file mode 100644 index 0000000..5d8483a --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP05.cs @@ -0,0 +1,112 @@ +锘縰sing iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// OP05宸ュ簭鐩戞帶鎵撶爜鏍囪 + /// </summary> + public class DataCaptureHandler_OP05 : DataCaptureHandler + { + public static readonly DataCaptureHandler_OP05 Instance = new DataCaptureHandler_OP05(); + + public List<DataCaptureConfig> _dataCaptureConfig = new List<DataCaptureConfig>(); + public DataCaptureHandler_OP05() { + } + + public override string WorkingProcedure + { + get { return _dataCaptureConfig.FirstOrDefault().WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.FirstOrDefault().DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.FirstOrDefault().DataCapturePointCname; } + } + + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + //try + //{ + // foreach (var dataCaptureColumnDict in dataCaptureConfig) + // { + // switch (dataCaptureColumnDict.DataCapturePointCode) + // { + // case "OP0501": + // //_dataCaptureConfig = dataCaptureColumnDict; + // IsCaptureflag = true; + // return; + + // } + // } + //} + //catch (Exception ex) + //{ + // SystemValue._lbl_Alert_OP0501 = $" {RandomHelper.GenerateRandomCode(4)} OP05宸ュ簭鐩戞帶鎵撶爜鏍囪 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + // Log4NetHelper.WriteErrorLog(LogType.PLCOP05, "鍒锋柊 OP05宸ュ簭鐩戞帶鎵撶爜鏍囪鏁版嵁鏃跺紓甯革細", ex); + //} + } + public override void DataCaptureStart() + { + if(IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig.FirstOrDefault()); + if (plcService == null) + { + SystemValue.lbl_Alert_OP0501 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌PLC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + while (true) + { + try + { + //_dataCaptureConfig + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_OP0501 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.FirstOrDefault().WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + //涓氬姟浠g爜 + plcService.ReadValuePoint("", "", PLCManger.GetTypeForString(_dataCaptureConfig.FirstOrDefault().DataCaptureColumnType)); + + } + SystemValue.lbl_Alert_OP0501 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; + + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP0501 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇OP05宸ュ簭鐩戞帶鎵撶爜鏍囪 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(LogType.PLCOP05, "璇诲彇 OP05宸ュ簭鐩戞帶鎵撶爜鏍囪鏁版嵁鏃跺紓甯革細", ex); + } + } + } + else + { + SystemValue.lbl_Alert_OP0501 = $" {RandomHelper.GenerateRandomCode(4)} OP05宸ュ簭鐩戞帶鎵撶爜鏍囪 涓嶅仛鏍¢獙锛岃纭閰嶇疆淇℃伅锛�"; + Log4NetHelper.WriteInfoLog(LogType.PLCOP05, "璇籓P05宸ュ簭鐩戞帶鎵撶爜鏍囪 涓嶅仛鏍¢獙锛岃纭鏄惁閰嶇疆寮傚父"); + } + } + + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0501.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0501.cs new file mode 100644 index 0000000..ce0514b --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0501.cs @@ -0,0 +1,472 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Data; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Web.UI.WebControls; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// OP05 鎵撴爣瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓墦鍗颁簩缁寸爜淇℃伅 + /// </summary> + public class DataCaptureHandler_OP0501 : DataCaptureHandler + { + public static readonly DataCaptureHandler_OP0501 Instance = new DataCaptureHandler_OP0501(); + + public DataCaptureHandler_OP0501() + { + } + + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + + } + private string CheackPath(string path,int type,int time) + { + var directory = Path.GetDirectoryName(path); + if (!Directory.Exists(directory)) + { + Directory.CreateDirectory(directory); + } + if (!File.Exists(path)) + { + File.Create(path).Close(); + } + + string content = ""; + // 鍚屾鏉ユ簮鏁版嵁 + using (StreamReader reader = new StreamReader(path)) + { + content = reader.ReadToEnd(); + + Console.WriteLine("璇诲彇鐨勫唴瀹规槸锛�" + content); + if (content == null || content == "") + { + switch (type) + { + case 1: content = DateTimeHelper.GetDateTime().AddYears(time).ToString();break; + case 2: content = DateTimeHelper.GetDateTime().AddMonths(time).ToString();break; + case 3: content = DateTimeHelper.GetDateTime().AddDays(time).ToString();break; + case 4: content = DateTimeHelper.GetDateTime().AddHours(time).ToString();break; + case 5: content = DateTimeHelper.GetDateTime().AddMinutes(time).ToString();break; + case 6: content = DateTimeHelper.GetDateTime().AddSeconds(time).ToString();break; + default: + content = DateTimeHelper.GetDateTime().ToString(); break; + } + //content = DateTimeHelper.GetDateTime().AddMinutes(-10).ToString(); + } + + } + return content; + } + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + //// plc杩炴帴 + //var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + //if (plcService == null) + //{ + // SystemValue.lbl_Alert_OP0501 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + // return; + //} + //if (plcService != null && !plcService.IsConnected) + //{ + // plcService.Close(); + // plcService.OpenService(); + //} + + while (true) + { + ThreadStatusMonitor threadStatusMonitor = new ThreadStatusMonitor(); + threadStatusMonitor.Threadcode = DataCapturePointCode; + threadStatusMonitor.Threadcname = DataCapturePointCname; + threadStatusMonitor.Threadendtime = DateTime.Now; + threadStatusMonitor.Threadlastmodifytime = DateTime.Now; + threadStatusMonitor.Threadstatue = 0; + threadStatusMonitor.ThreadId = Thread.CurrentThread.ManagedThreadId.ToString(); + try + { + ////_dataCaptureConfig + //if (plcService == null || !plcService.IsConnected) + //{ + // SystemValue.lbl_Alert_OP0501 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + // plcService.Close(); + // plcService.OpenService(); + // Thread.Sleep(100); + // continue; + //} + //else + { + //var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + //if (SystemValue.value_OP0501.Equals("0") && value.ToString().Equals("1")) + {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 + //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 + //涓氬姟浠g爜 + //璇荤爜瀹屾垚娌″暐涓氬姟鎿嶄綔锛岃幏鍙栦簩缁寸爜锛岀劧鍚庢斁鍒伴槦鍒椾腑 + #region 浠庡伐鎺ф満鑾峰彇鐩稿叧浜岀淮鐮� + var path = ConfigHelper.GetConfigString("WorkPeiceIDPath");//鎵撶爜鏈烘墦鐮佷簩缁寸爜璺緞 + //鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖 涓�鑸妭鎷嶅湪15绉掑乏鍙筹紙鍙互纭涓�涓嬶級 + //鎵弿淇敼鏃堕棿鍦ㄤ笂娆℃壂鎻忔椂闂翠箣鍓�10绉掑埌褰撳墠鏃堕棿鐨勪箣闂寸殑鏂囦欢 + var dataTime = CheackPath(Environment.CurrentDirectory + "\\OP05-LastScapTime.txt",4,-10); + var scapEndTime = DateTimeHelper.GetDateTime(); + var newFiles = FileHelper.DetectNewFilesCSV(path, 60, Convert.ToDateTime(dataTime), scapEndTime); + + + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), + $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇诲彇宸ユ帶鏈轰腑浜岀淮鐮佷俊鎭紑濮�:{dataTime}"); + + foreach (System.IO.FileInfo file in newFiles) + { + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), + $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇诲彇宸ユ帶鏈轰腑浜岀淮鐮佷俊鎭�,鏂囦欢鍚�:{file.FullName}"); + DataTable dt = null; + dt = CSVHelper.ReadCSV(file.FullName); + if (dt == null) + { + continue; + } + lock (SystemValue.lock5QRcodeList) + { + #region 娓呰繃鏈熺紦瀛� + try + { + //娓呰繃鏈熺紦瀛� + var lstRemoveKey = SystemValue.QRcodeList + .Where(p => p.Value < DateTimeHelper.GetDateTime().AddMinutes(-600)) + .Select(p => p.Key).ToList(); + if (lstRemoveKey.Count > 0) + { + foreach (var key in lstRemoveKey) SystemValue.QRcodeList.Remove(key); + Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"娓呴櫎缂撳瓨鏁伴噺锛氾紙{lstRemoveKey.Count}锛� 鍓╀綑缂撳瓨鏁伴噺锛氾紙{SystemValue.QRcodeList.Count}锛�"); + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.PLCOP05, "娓呴櫎鍛婅鎶ユ枃ID缂撳瓨閿欒锛�", ex); + } + #endregion + + ////绛涢�夐渶瑕佸鐞嗙殑浜岀淮鐮佷俊鎭� + //DataRow[] drArr = dt.Select(" 鎵爜缁撴灉='鎴愬姛'"); //鏌ヨ + //DataTable dtNew = dt.Clone(); + //for (int i = 0; i < drArr.Length; i++) + //{ + // var now = DateTime.Now; + // var list = drArr[i]["鏃堕棿"].ToString().Split(':'); + // var d = new DateTime(now.Year, now.Month, now.Day, Convert.ToInt32(list[0]), Convert.ToInt32(list[1]), Convert.ToInt32(list[2]), DateTimeKind.Local); + // //and 鏃堕棿> '19:19:34:547' + // if (Convert.ToDateTime(DateTime.Now.ToShortDateString() + " " +drArr[i]["鏃堕棿"]).TimeOfDay> Convert.ToDateTime(DateTime.Now.ToShortDateString() + " 19:19:34:547").TimeOfDay) + // dtNew.ImportRow(drArr[i]); + // //鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯� + // SystemValue.lbl_Alert_OP0501 = $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭鎵撴爣瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓墦鍗颁簩缁寸爜淇℃伅锛氥��" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"; + // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), + // $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭鎵撴爣瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓墦鍗颁簩缁寸爜淇℃伅锛氥��" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"); + //} + DataTable newDt = new DataTable(); + var dates = file.Name.Split('-', '.'); + var date = string.Format("{0:D4}-{1:D2}-{2:D2}", int.Parse(dates[0]), int.Parse(dates[1]), int.Parse(dates[2])); + if (DateTimeHelper.GetDateTime().Date != Convert.ToDateTime(date) && DateTimeHelper.GetDateTime().AddDays(-1).Date != Convert.ToDateTime(date)) + { + continue; + } + DataRow[] filteredRows = new DataRow[dt.Rows.Count]; + if (dt.Rows.Count > 0) + { + int j = 0; + var cache = DataCache.GetCache("OP501-LastTime"); + DateTime? lasttime = null; + if (cache != null) + { + lasttime = Convert.ToDateTime(cache); + } + + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), + $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇诲彇宸ユ帶鏈轰腑浜岀淮鐮佷俊鎭�,宸ヤ欢鏈�鏂版椂闂�:{(cache==null?"鏃犵紦瀛�":cache.ToString())}"); + for (int i = dt.Rows.Count - 1; i >= 0; i--) + { + try + { + string timeValue = dt.Rows[i]["鏃堕棿"].ToString(); + string[] timeComponents = timeValue.Split(':'); + string correctedTime = string.Format("{0:D2}:{1:D2}:{2:D2}", int.Parse(timeComponents[0]), int.Parse(timeComponents[1]), int.Parse(timeComponents[2])); + var newTime = date + " " + correctedTime; + dt.Rows[i]["鏃堕棿"] = newTime; + + var currrentTime = Convert.ToDateTime(dt.Rows[i]["鏃堕棿"]); + if (cache == null) + { + if (j == 0) + { + lasttime = currrentTime; + } + var oldTime = DateTime.Now.AddMinutes(-10); + if (currrentTime <= oldTime) + { + break; + } + filteredRows[j] = dt.Rows[i]; + } + else + { + var cacheTime = Convert.ToDateTime(cache); + if (currrentTime <= cacheTime) + { + break; + } + filteredRows[j] = dt.Rows[i]; + } + if (lasttime != null && lasttime < currrentTime) + { + lasttime = currrentTime; + } + j++; + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP0501 = $" {_dataCaptureConfig.WorkingProcedure}鏂囦欢鎵撴爣鏃堕棿寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(LogType.PLCOP05, $" {_dataCaptureConfig.WorkingProcedure}鏂囦欢鎵撴爣鏃堕棿,鍑虹幇寮傚父锛�", ex); + } + } + + filteredRows = filteredRows.Where(item=>item!=null).ToArray(); + // 璁剧疆缂撳瓨鍊� + DateTime absoluteExpiration = DateTime.Now.AddDays(30); + TimeSpan slidingExpiration = TimeSpan.FromMinutes(20); + if (slidingExpiration == TimeSpan.Zero) + { + absoluteExpiration = DateTime.Now.AddDays(30); + } + else + { + absoluteExpiration = DateTime.MaxValue; + } + DataCache.SetCache("OP501-LastTime", lasttime, absoluteExpiration, slidingExpiration); + if (filteredRows.Count() <= 0) + { + return; + } + if (file.LastAccessTime < Convert.ToDateTime(dataTime)) continue; + using (StreamWriter writer = new StreamWriter(Environment.CurrentDirectory + "\\OP05-LastScapTime.txt", false)) + { + dataTime = file.LastAccessTime.ToString(); + writer.Write(dataTime); + } + Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"璇诲彇鍒皗filteredRows.Count()}琛屾暟鎹紝鏃堕棿鑼冨洿鏄瘂filteredRows[j-1]["鏃堕棿"]}-{filteredRows[0]["鏃堕棿"]}"); + } + + //// 宸ヤ欢鍙凤紙浜岀淮鐮佸�硷級 + //string WorkPieceID = dt.Rows[0][""].ToString(); + //if (WorkPieceID.Length != 22) + //{ + // //鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯� + // SystemValue.lbl_Alert_HMI01 = $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭鎵撴爣瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓墦鍗颁簩缁寸爜淇℃伅锛氥��" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"; + // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), + // $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭鎵撴爣瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓墦鍗颁簩缁寸爜淇℃伅锛氥��" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"); + //} + + + //SystemValue.QRcodeList.Add("", DateTimeHelper.GetDateTime());//浜岀淮鐮佹坊鍔犲埌鍒楄〃涓� + + WorkPieceLog wplog = new WorkPieceLog(); + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkingProcedure = "OP05"; + //wplog.EquipmentID = WorkingProcedure; + wplog.Remarks = "cs"; + wplog.MonitoringPoint = DataCapturePointCode; + wplog.CreatedTime = DateTimeHelper.GetDateTime(); + wplog.CreatedUserName = CultureInfo.CurrentUICulture.Name; + wplog.UpdatedTime = DateTimeHelper.GetDateTime(); + wplog.UpdatedUserName = "娴嬭瘯"; + wplog.IsDeleted = false; + wplog.EquipmentID = "123"; + + wplog.OnlineTime = DateTimeHelper.GetDateTime();//缁欎笂绾挎椂闂寸敤 + + wplog.QualityState = 1; + wplog.ProcessingDuration = 1; + wplog.MachineToolState = 1; + wplog.AlertType = 1; + wplog.WorkPieceNumber = 1; + wplog.WorkPieceOnlineTime = Convert.ToDateTime(dataTime); + wplog.WorkPieceOfflineTime = Convert.ToDateTime(dataTime).AddHours(1); + wplog.WorkPieceStartMachiningTime = Convert.ToDateTime(dataTime); + wplog.WorkPieceEndMachiningTime = DateTime.Now.AddDays(7); + wplog.KnifeEdgeNumber = 10; + wplog.KnifeToolLife = 10; + wplog.KnifeToolEarlyWarningLife = 3; + wplog.KnifeToolSurplusLife = 10; + + foreach (var item in filteredRows) + { + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), + $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇诲彇宸ユ帶鏈轰腑浜岀淮鐮佷俊鎭�,璇诲彇宸ヤ欢浜岀淮鐮�:{item["鎵撴爣鍐呭"].ToString()}"); + + if (item == null) break; + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkPieceID = item["鎵撴爣鍐呭"].ToString(); + wplog.OfflineTime = Convert.ToDateTime(dataTime); + wplog.Remarks = item["鏃堕棿"].ToString() + "|" + item["鎵撴爣鍐呭"].ToString() + "|" + item["鎵撴爣鍐呭"].ToString() + "|" + item["鎵爜绛夌骇"].ToString() + "|" + item["鎵爜缁撴灉"].ToString(); + WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), null, _dataCaptureConfig.IsFeedback); + + threadStatusMonitor.Threadstatue = 1; + } + + + } + } + + + #endregion + var fileCount = newFiles.Cast<string>().ToList(); + Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"鎵弿瀹屾垚锛屽叡鎵弿鍒帮細锛坽fileCount.Count()}锛変釜鏂囦欢"); + } + //SystemValue.value_OP0501 = value.ToString(); + } + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP0501 = $" {_dataCaptureConfig.WorkingProcedure}宸ュ簭鎵撴爣瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓墦鍗颁簩缁寸爜淇℃伅,鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(LogType.PLCOP05, $" {_dataCaptureConfig.WorkingProcedure}宸ュ簭鎵撴爣瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓墦鍗颁簩缁寸爜淇℃伅,鍑虹幇寮傚父锛�", ex); + } + finally + { + WorkPieceInfoManager.ThreadMonitor(threadStatusMonitor); + } + //绾跨▼澶氫箙鎵ц涓�娆★紙涓嶅寘鍚笟鍔″鐞嗘椂闂达級 + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(3000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + } + } + else + { + SystemValue.lbl_Alert_OP0501 = $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭鎵撴爣瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓墦鍗颁簩缁寸爜淇℃伅锛屼笉鍋氭牎楠岋紝璇风‘璁ら厤缃俊鎭紒"; + Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭鎵撴爣瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓墦鍗颁簩缁寸爜淇℃伅锛屼笉鍋氭牎楠岋紝璇风‘璁ら厤缃紓甯�"); + } + + + + + + + + + + + + + + + + //if (SystemValue.isStartedModel) + //{ + // #region 浠庡伐鎺ф満鑾峰彇鐩稿叧浜岀淮鐮� + + + // //鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖 + // var newFiles = FileHelper.DetectNewFilesCSV("", 10, DateTimeHelper.GetDateTime()); + // foreach (System.IO.FileInfo file in newFiles) + // { + // var datatable = CSVHelper.ReadCSV(file.FullName); + // } + // lock (SystemValue.lock5QRcodeList) + // { + // try + // { + // var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + // //娓呰繃鏈熺紦瀛� + // var lstRemoveKey = SystemValue.QRcodeList + // .Where(p => p.Value < DateTimeHelper.GetDateTime().AddMinutes(-600)) + // .Select(p => p.Key).ToList(); + // if (lstRemoveKey.Count > 0) + // { + // foreach (var key in lstRemoveKey) SystemValue.QRcodeList.Remove(key); + // Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"娓呴櫎缂撳瓨鏁伴噺锛氾紙{lstRemoveKey.Count}锛� 鍓╀綑缂撳瓨鏁伴噺锛氾紙{SystemValue.QRcodeList.Count}锛�"); + // } + // WorkPieceLog wplog = new WorkPieceLog(); + // wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + // wplog.WorkingProcedure = WorkingProcedure; + // //wplog.EquipmentID = WorkingProcedure; + // wplog.Remarks = WorkingProcedure; + // wplog.MonitoringPoint = DataCapturePointCode; + // wplog.CreatedTime = DateTimeHelper.GetDateTime(); + // wplog.CreatedUserName = DataCapturePointCode; + // wplog.UpdatedTime = DateTimeHelper.GetDateTime(); + // wplog.UpdatedUserName = DataCapturePointCode; + // wplog.IsDeleted = false; + // wplog.EquipmentID= _dataCaptureConfig.EquipmentID; + // wplog.QualityState = (int)QualityState.OK; + // wplog.OnlineTime = DateTimeHelper.GetDateTime();//缁欎笂绾挎椂闂寸敤 + + // wplog.WorkPieceID = WorkPieceID; + // if (wplog.WorkPieceID.Length != 22) + // {//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯� + // } + // else + // {//鑾峰彇鍏朵粬閰嶇疆鐨勫緟閲囬泦椤� + + // //foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + // //{ + // // var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + // // wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� + + // //} + // } + // //璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴� + // var info = WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback); + + // } + // catch (Exception ex) + // { + // Log4NetHelper.WriteErrorLog(LogType.PLCOP05, "娓呴櫎鍛婅鎶ユ枃ID缂撳瓨閿欒锛�", ex); + // } + + // if (SystemValue.QRcodeList.ContainsKey(WorkPieceID)) + // { + // SystemValue.QRcodeList[WorkPieceID] = DateTimeHelper.GetDateTime(); + // } + // else + // { + // SystemValue.QRcodeList.Add(WorkPieceID, DateTimeHelper.GetDateTime());//浜岀淮鐮佹坊鍔犲埌鍒楄〃涓� + // } + + // } + + // #endregion + //} + //else + //{ + + + //} + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0502.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0502.cs new file mode 100644 index 0000000..6078bde --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0502.cs @@ -0,0 +1,191 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// 璇荤爜瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓鍙栦簩缁寸爜淇℃伅 + /// </summary> + public class DataCaptureHandler_OP0502 : DataCaptureHandler + { + public static readonly DataCaptureHandler_OP0502 Instance = new DataCaptureHandler_OP0502(); + + public DataCaptureHandler_OP0502() + { + } + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + + } + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + // plc杩炴帴 + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + SystemValue.lbl_Alert_OP0501 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + + while (true) + { + try + { + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_OP0502 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + if (SystemValue.value_OP0502.Equals("0") && value.ToString().Equals("1")) + { + #region 浠庡伐鎺ф満鑾峰彇鐩稿叧浜岀淮鐮� + //鎵撶爜鏈烘墦鐮佷簩缁寸爜璺緞 + var path = ConfigHelper.GetConfigString("WorkPeiceIDPath"); + + //鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖 涓�鑸妭鎷嶅湪15绉掑乏鍙筹紙鍙互纭涓�涓嬶級 + var newFiles = FileHelper.DetectNewFilesCSV(path, 10, DateTimeHelper.GetDateTime(), DateTimeHelper.GetDateTime()); + foreach (System.IO.FileInfo file in newFiles) + { + DataTable dt = null; + dt = CSVHelper.ReadCSV(file.FullName); + if (dt == null) + { + continue; + } + lock (SystemValue.lock5QRcodeList) + { + #region 娓呰繃鏈熺紦瀛� + try + { + //娓呰繃鏈熺紦瀛� + var lstRemoveKey = SystemValue.QRcodeList + .Where(p => p.Value < DateTimeHelper.GetDateTime().AddMinutes(-600)) + .Select(p => p.Key).ToList(); + if (lstRemoveKey.Count > 0) + { + foreach (var key in lstRemoveKey) SystemValue.QRcodeList.Remove(key); + Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"娓呴櫎缂撳瓨鏁伴噺锛氾紙{lstRemoveKey.Count}锛� 鍓╀綑缂撳瓨鏁伴噺锛氾紙{SystemValue.QRcodeList.Count}锛�"); + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.PLCOP05, "娓呴櫎鍛婅鎶ユ枃ID缂撳瓨閿欒锛�", ex); + } + #endregion + // 宸ヤ欢鍙凤紙浜岀淮鐮佸�硷級 + string WorkPieceID = dt.Rows[0][""].ToString(); + if (WorkPieceID.Length != 22) + { + //鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯� + SystemValue.lbl_Alert_OP0502 = $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇荤爜瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓鍙栦簩缁寸爜淇℃伅锛氥��" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), + $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇荤爜瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓鍙栦簩缁寸爜淇℃伅锛氥��" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"); + } + + if (SystemValue.QRcodeList.ContainsKey(WorkPieceID)) + { + // 瀛樺湪娓呯悊缂撳瓨 + SystemValue.QRcodeList.Remove(WorkPieceID); + } + else + { + // 涓嶅瓨鍦ㄥ弽棣圥LC + var col = colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode).ToList(); + if (col.Count == 0) + { + SystemValue.lbl_Alert_OP0502 = $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇荤爜瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓鍙栦簩缁寸爜淇℃伅涓嶅瓨鍦�,璇峰厛閰嶇疆鏁版嵁鏀堕泦鐐瑰浜庡瓧娈佃〃淇℃伅锛�"; + Log4NetHelper.WriteErrorLog(LogType.PLCOP05, $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇荤爜瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓鍙栦簩缁寸爜淇℃伅涓嶅瓨鍦�,璇峰厛閰嶇疆鏁版嵁鏀堕泦鐐瑰浜庡瓧娈佃〃淇℃伅锛�"); + } + plcService.WriteValuePoint(col[0].DbNumber, col[0].Offset, col[0].DataCaptureColumnTabelName); + + } + + + SystemValue.QRcodeList.Add("", DateTimeHelper.GetDateTime());//浜岀淮鐮佹坊鍔犲埌鍒楄〃涓� + + //WorkPieceLog wplog = new WorkPieceLog(); + //wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + //wplog.WorkingProcedure = WorkingProcedure; + ////wplog.EquipmentID = WorkingProcedure; + //wplog.Remarks = WorkingProcedure; + //wplog.MonitoringPoint = DataCapturePointCode; + //wplog.CreatedTime = DateTimeHelper.GetDateTime(); + //wplog.CreatedUserName = DataCapturePointCode; + //wplog.UpdatedTime = DateTimeHelper.GetDateTime(); + //wplog.UpdatedUserName = DataCapturePointCode; + //wplog.IsDeleted = false; + //wplog.EquipmentID = _dataCaptureConfig.EquipmentID; + + //wplog.OnlineTime = DateTimeHelper.GetDateTime();//缁欎笂绾挎椂闂寸敤 + + //wplog.WorkPieceID = dt.Rows[0][""].ToString(); + + // 璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴� + // var info = WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback); + + } + } + #endregion + } + SystemValue.value_OP0502 = value.ToString(); + } + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP0502 = $" {_dataCaptureConfig.WorkingProcedure}宸ュ簭璇荤爜瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓鍙栦簩缁寸爜淇℃伅,鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(LogType.PLCOP05, $" {_dataCaptureConfig.WorkingProcedure}宸ュ簭璇荤爜瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓鍙栦簩缁寸爜淇℃伅,鍑虹幇寮傚父锛�", ex); + } + + //绾跨▼澶氫箙鎵ц涓�娆★紙涓嶅寘鍚笟鍔″鐞嗘椂闂达級 + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(5000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + } + } + else + { + SystemValue.lbl_Alert_OP0502 = $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇荤爜瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓鍙栦簩缁寸爜淇℃伅锛屼笉鍋氭牎楠岋紝璇风‘璁ら厤缃俊鎭紒"; + Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇荤爜瀹屾垚鏍囪锛岃鍙栧伐鎺ф満涓鍙栦簩缁寸爜淇℃伅锛屼笉鍋氭牎楠岋紝璇风‘璁ら厤缃紓甯�"); + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0503.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0503.cs new file mode 100644 index 0000000..60f680b --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0503.cs @@ -0,0 +1,151 @@ +锘縰sing System; +using System.Collections.Generic; +using iWare_SCADA_Model; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using iWare_SCADA_BusinessLogical.Utils; +using System.Threading; +using iWare_SCADA_BusinessLogical.BLL; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// 宸ヤ欢鎺ㄥ嚭鏍囪锛岀‘璁ゅ伐浠舵槸鍚﹁鎺ㄥ嚭锛堜笉鍚堟牸锛� + /// </summary> + public class DataCaptureHandler_OP0503 : DataCaptureHandler + { + public static readonly DataCaptureHandler_OP0503 Instance = new DataCaptureHandler_OP0503(); + + public DataCaptureHandler_OP0503() + { + } + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + + } + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + SystemValue.lbl_Alert_OP0503 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + while (true) + { + try + { + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_OP0503 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + object value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + + if (SystemValue.value_OP0503.Equals("0") && value.ToString().Equals("1")) + { + string WorkPieceID = ""; + string HowToExit = ""; + + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + switch (col.DataCaptureColumnTabelName) + { + case "WorkPieceID": + WorkPieceID = plcService.ReadValuePoint(col.DbNumber, col.Offset, PLCManger.GetTypeForString(col.DataCaptureColumnType)).ToString(); + break; + case "HowToExit": + HowToExit = plcService.WriteValuePoint(col.DbNumber, col.Offset, PLCManger.GetTypeForString(col.DataCaptureColumnType)).ToString(); + break; + default: + break; + } + } + + if (WorkPieceID.Length != 22) + { + SystemValue.lbl_Alert_OP0503 = $"宸ヤ欢鎺ㄥ嚭鏍囪锛岀‘璁ゅ伐浠跺彿锛氥��" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ヤ欢鎺ㄥ嚭鏍囪锛岀‘璁ゅ伐浠跺彿锛氥��" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"); + } + else + { + WorkPieceLog wplog = new WorkPieceLog(); + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkPieceID = WorkPieceID; + wplog.WorkingProcedure = WorkingProcedure; + wplog.EquipmentID = WorkingProcedure; + wplog.Remarks = WorkingProcedure; + wplog.MonitoringPoint = DataCapturePointCode; + wplog.CreatedTime = DateTimeHelper.GetDateTime(); + wplog.CreatedUserName = DataCapturePointCode; + wplog.IsDeleted = false; + + if ("NOOK".Equals(HowToExit)) + { + // NOOK閫�鍑� + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + WorkPieceInfoManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + } + else if("SPC".Equals(HowToExit)) + { + + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + } + } + } + + SystemValue.value_OP0503 = value.ToString(); + } + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP0503 = $"璇诲彇{WorkingProcedure}宸ュ簭宸ヤ欢鎺ㄥ嚭鏍囪锛岀‘璁ゅ伐浠舵槸鍚﹁鎺ㄥ嚭鐩戞帶锛屽嚭鐜板紓甯革紝璇锋煡鐪嬫棩蹇楋紒"; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇{WorkingProcedure}宸ュ簭宸ヤ欢鎺ㄥ嚭鏍囪锛岀‘璁ゅ伐浠舵槸鍚﹁鎺ㄥ嚭鐩戞帶锛屾暟鎹椂寮傚父锛�", ex); + } + + //绾跨▼澶氫箙鎵ц涓�娆★紙涓嶅寘鍚笟鍔″鐞嗘椂闂达級 + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(5000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + } + } + else + { + SystemValue.lbl_Alert_OP0503 = $"璇诲彇{WorkingProcedure}宸ュ簭宸ヤ欢鎺ㄥ嚭鏍囪锛岀‘璁ゅ伐浠舵槸鍚﹁鎺ㄥ嚭鐩戞帶锛岃纭閰嶇疆淇℃伅锛�"; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇{WorkingProcedure}宸ュ簭宸ヤ欢鎺ㄥ嚭鏍囪锛岀‘璁ゅ伐浠舵槸鍚﹁鎺ㄥ嚭鐩戞帶锛岃纭鏄惁閰嶇疆寮傚父"); + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0504.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0504.cs new file mode 100644 index 0000000..e756c7c --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP0504.cs @@ -0,0 +1,139 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// 涓嬫枡鏍囪锛岀‘璁ゅ伐浠禣P05宸ュ簭宸插畬鎴� + /// </summary> + public class DataCaptureHandler_OP0504 : DataCaptureHandler + { + public static readonly DataCaptureHandler_OP0504 Instance = new DataCaptureHandler_OP0504(); + + public DataCaptureHandler_OP0504() + { + } + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + + } + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + SystemValue.lbl_Alert_OP0504 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + while (true) + { + try + { + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_OP0504 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + object value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + + if (SystemValue.value_OP0504.Equals("0") && value.ToString().Equals("1")) + { + string WorkPieceID = ""; + + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + switch (col.DataCaptureColumnTabelName) + { + case "WorkPieceID": + WorkPieceID = plcService.ReadValuePoint(col.DbNumber, col.Offset, PLCManger.GetTypeForString(col.DataCaptureColumnType)).ToString(); + break; + default: + break; + } + } + + if (WorkPieceID.Length != 22) + { + SystemValue.lbl_Alert_OP0504 = $"宸ヤ欢鎺ㄥ嚭鏍囪锛岀‘璁ゅ伐浠跺彿锛氥��" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ヤ欢鎺ㄥ嚭鏍囪锛岀‘璁ゅ伐浠跺彿锛氥��" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"); + } + else + { + // OP05宸ュ簭瀹屾垚 + WorkPieceLog wplog = new WorkPieceLog(); + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkPieceID = WorkPieceID; + wplog.WorkingProcedure = WorkingProcedure; + wplog.EquipmentID = WorkingProcedure; + wplog.Remarks = WorkingProcedure; + wplog.MonitoringPoint = DataCapturePointCode; + wplog.CreatedTime = DateTimeHelper.GetDateTime(); + wplog.CreatedUserName = DataCapturePointCode; + wplog.IsDeleted = false; + + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + WorkPieceInfoManager.WorkingProcedureComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + } + } + + SystemValue.value_OP0503 = value.ToString(); + } + + + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP0504 = $"璇诲彇{WorkingProcedure}宸ュ簭涓嬫枡鏍囪纭宸ヤ欢宸ュ簭宸插畬鎴愮洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇{WorkingProcedure}宸ュ簭涓嬫枡鏍囪纭宸ヤ欢宸ュ簭宸插畬鎴愮洃鎺э紝鏁版嵁鏃跺紓甯革細", ex); + } + + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(5000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + } + } + else + { + SystemValue.lbl_Alert_OP0504 = $"璇诲彇{WorkingProcedure}宸ュ簭涓嬫枡鏍囪纭宸ヤ欢宸ュ簭宸插畬鎴愮洃鎺э紝璇风‘璁ら厤缃俊鎭紒"; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇{WorkingProcedure}宸ュ簭涓嬫枡鏍囪纭宸ヤ欢宸ュ簭宸插畬鎴愮洃鎺э紝璇风‘璁ゆ槸鍚﹂厤缃紓甯�"); + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1001.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1001.cs new file mode 100644 index 0000000..1527ab1 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1001.cs @@ -0,0 +1,154 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// OP10璇荤爜瀹屾垚鏍囪 + /// </summary> + public class DataCaptureHandler_OP1001: DataCaptureHandler + { + public static readonly DataCaptureHandler_OP1001 Instance = new DataCaptureHandler_OP1001(); + + public DataCaptureHandler_OP1001() + { + } + + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + + + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + //try + //{ + // foreach (var dataCaptureColumnDict in dataCaptureConfig) + // { + // switch (dataCaptureColumnDict.DataCapturePointCode) + // { + // case "OP1001": + // //_dataCaptureConfig = dataCaptureColumnDict; + // IsCaptureflag = true; + // return; + + // } + // } + //} + //catch (Exception ex) + //{ + // SystemValue.lbl_Alert_OP1001 = $" {RandomHelper.GenerateRandomCode(4)} OP05宸ュ簭鐩戞帶鎵撶爜鏍囪 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + // Log4NetHelper.WriteErrorLog(LogType.PLCOP05, "鍒锋柊 OP05宸ュ簭鐩戞帶鎵撶爜鏍囪鏁版嵁鏃跺紓甯革細", ex); + //} + } + + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + SystemValue.lbl_Alert_OP1001 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + while (true) + { + try + { + //_dataCaptureConfig + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_OP1001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + if (SystemValue.value_OP1001.Equals("0") && value.ToString().Equals("1")) + {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 + //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 + //涓氬姟浠g爜 + WorkPieceLog wplog = new WorkPieceLog(); + wplog.WorkingProcedure = "OP10"; + wplog.EquipmentID = "OP10"; + wplog.Remarks = "OP10"; + wplog.MonitoringPoint = "OP1001"; + foreach (var col in colConfig) + { + switch(col.DbNumber+ col.Offset) + { + case "": + var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + wplog.WorkPieceID = valuecol.ToString(); + break; + } + } + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + WorkPieceInfoManager.ReadQRcode(wplog, LogType.PLCOP10, plcService, _dataCaptureConfig.IsFeedback); + + + //鍒ゆ柇鏄惁璺冲簭锛屼笂涓�宸ュ簭璐ㄩ噺鏄惁鍚堟牸 + + + + //鍙嶉缁橮LC锛屽啓鍏� + + + } + SystemValue.value_OP1001 = value.ToString(); + + + } + SystemValue.lbl_Alert_OP1001 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(5000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP1001 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{DataCapturePointCode}宸ュ簭涓婄嚎鏍囪 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(LogType.PLCOP05, $"璇诲彇 {DataCapturePointCode}宸ュ簭涓婄嚎鏁版嵁鏃跺紓甯革細", ex); + } + } + } + else + { + SystemValue.lbl_Alert_OP1001 = $" {RandomHelper.GenerateRandomCode(4)} {DataCapturePointCode}宸ュ簭涓婄嚎鏍囪 涓嶅仛鏍¢獙锛岃纭閰嶇疆淇℃伅锛�"; + Log4NetHelper.WriteInfoLog(LogType.PLCOP10, $"{DataCapturePointCode}涓婄嚎鏍囪 涓嶅仛鏍¢獙锛岃纭鏄惁閰嶇疆寮傚父"); + } + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1002.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1002.cs new file mode 100644 index 0000000..301f057 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1002.cs @@ -0,0 +1,171 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Web.UI.WebControls; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// OP10娴嬭瘯瀹屾垚鏍囪 锛圤P10锛� + /// </summary> + public class DataCaptureHandler_OP1002: DataCaptureHandler + { + public static readonly DataCaptureHandler_OP1002 Instance = new DataCaptureHandler_OP1002(); + + public DataCaptureHandler_OP1002() + { + } + + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + + + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + } + + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + SystemValue.lbl_Alert_OP1002 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{WorkingProcedure}鐨凱LC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + while (true) + { + ThreadStatusMonitor threadStatusMonitor = new ThreadStatusMonitor(); + threadStatusMonitor.Threadcode = DataCapturePointCode; + threadStatusMonitor.Threadcname = DataCapturePointCname; + threadStatusMonitor.Threadendtime = DateTime.Now; + threadStatusMonitor.Threadlastmodifytime = DateTime.Now; + threadStatusMonitor.Threadstatue = 0; + threadStatusMonitor.ThreadId = Thread.CurrentThread.ManagedThreadId.ToString(); + try + { + //_dataCaptureConfig + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_OP1002 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + if (SystemValue.value_OP1002.Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) + {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 + //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 + //涓氬姟浠g爜 + WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkingProcedure = WorkingProcedure; + wplog.EquipmentID = WorkingProcedure; + wplog.Remarks = WorkingProcedure; + wplog.MonitoringPoint = DataCapturePointCode; + wplog.CreatedTime = DateTimeHelper.GetDateTime(); + wplog.CreatedUserName = DataCapturePointCode; + wplog.UpdatedTime = DateTimeHelper.GetDateTime(); + wplog.UpdatedUserName = "鑷姩"; + wplog.OnlineTime = DateTimeHelper.GetDateTime(); + wplog.IsDeleted = false; + wplog.QualityType = QualityType.Online.ToString(); + + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + try + { + var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + //wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� + var set = wplog.GetType().GetProperty(col.DataCaptureColumnTabelName); + if (set == null) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佺敱浜庡瓧娈靛悕娌℃壘鍒帮紝璧嬪�笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝け璐wplog.Id}"); + } + set.SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� + } + catch (Exception setex) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佽祴鍊笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝紓甯竰wplog.Id}", setex); + } + } + //#region 宸ユ帶鏈鸿鍙栬川閲忎俊鎭� + + + ////鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖 + //var newFiles = FileHelper.DetectNewFilesCSV("", 10, DateTimeHelper.GetDateTime(), DateTimeHelper.GetDateTime()); + //foreach (System.IO.FileInfo file in newFiles) + //{ + // var datatable = CSVHelper.ReadCSV(file.FullName); + //} + + //#endregion + + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + threadStatusMonitor.Threadstatue = 1; + + + + } + SystemValue.value_OP1002 = value.ToString(); + + + } + SystemValue.lbl_Alert_OP1002 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(5000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP1002 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{DataCapturePointCode}璐ㄩ噺淇℃伅 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}璐ㄩ噺淇℃伅鏃跺紓甯革細", ex); + } + finally + { + WorkPieceInfoManager.ThreadMonitor(threadStatusMonitor); + } + } + } + else + { + SystemValue.lbl_Alert_OP1002 = $" {RandomHelper.GenerateRandomCode(4)} {DataCapturePointCode}璐ㄩ噺淇℃伅 涓嶅仛鏍¢獙锛岃纭閰嶇疆淇℃伅锛�"; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}璐ㄩ噺淇℃伅 涓嶅仛鏍¢獙锛岃纭鏄惁閰嶇疆寮傚父"); + } + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1003.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1003.cs new file mode 100644 index 0000000..948434c --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1003.cs @@ -0,0 +1,172 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// OP10娴嬭瘯瀹屾垚鏍囪 锛圤P40锛� + /// </summary> + public class DataCaptureHandler_OP1003 : DataCaptureHandler + { + public static readonly DataCaptureHandler_OP1003 Instance = new DataCaptureHandler_OP1003(); + + public DataCaptureHandler_OP1003() + { + } + + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + + + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + } + + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + SystemValue.lbl_Alert_OP1003 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{WorkingProcedure}鐨凱LC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + while (true) + { + ThreadStatusMonitor threadStatusMonitor = new ThreadStatusMonitor(); + threadStatusMonitor.Threadcode = DataCapturePointCode; + threadStatusMonitor.Threadcname = DataCapturePointCname; + threadStatusMonitor.Threadendtime = DateTime.Now; + threadStatusMonitor.Threadlastmodifytime = DateTime.Now; + threadStatusMonitor.Threadstatue = 0; + threadStatusMonitor.ThreadId = Thread.CurrentThread.ManagedThreadId.ToString(); + try + { + //_dataCaptureConfig + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_OP1003 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + if (SystemValue.value_OP1003.Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) + {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 + //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 + //涓氬姟浠g爜 + WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkingProcedure = WorkingProcedure; + wplog.EquipmentID = WorkingProcedure; + wplog.Remarks = WorkingProcedure; + wplog.MonitoringPoint = DataCapturePointCode; + wplog.CreatedTime = DateTimeHelper.GetDateTime(); + wplog.CreatedUserName = DataCapturePointCode; + wplog.UpdatedTime = DateTimeHelper.GetDateTime(); + wplog.UpdatedUserName = "鑷姩"; + wplog.OnlineTime = DateTimeHelper.GetDateTime(); + wplog.IsDeleted = false; + + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + try + { + var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + //wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� + var set = wplog.GetType().GetProperty(col.DataCaptureColumnTabelName); + if (set == null) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佺敱浜庡瓧娈靛悕娌℃壘鍒帮紝璧嬪�笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝け璐wplog.Id}"); + } + set.SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� + } + catch (Exception setex) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佽祴鍊笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝紓甯竰wplog.Id}", setex); + } + } + if (wplog.WorkPieceID.Length != 22) + {//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯� + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹椂寮傚父锛�"); + continue; + } + + //#region 宸ユ帶鏈鸿鍙栬川閲忎俊鎭� + + + ////鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖 + //var newFiles = FileHelper.DetectNewFilesCSV("", 10, DateTimeHelper.GetDateTime(), DateTimeHelper.GetDateTime()); + //foreach (System.IO.FileInfo file in newFiles) + //{ + // var datatable = CSVHelper.ReadCSV(file.FullName); + //} + + //#endregion + + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + threadStatusMonitor.Threadstatue = 1; + } + SystemValue.value_OP1003 = value.ToString(); + + + } + SystemValue.lbl_Alert_OP1003 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(5000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP1003 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{DataCapturePointCode}璐ㄩ噺淇℃伅 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}璐ㄩ噺淇℃伅鏃跺紓甯革細", ex); + } + finally + { + WorkPieceInfoManager.ThreadMonitor(threadStatusMonitor); + } + } + } + else + { + SystemValue.lbl_Alert_OP1003 = $" {RandomHelper.GenerateRandomCode(4)} {DataCapturePointCode}璐ㄩ噺淇℃伅 涓嶅仛鏍¢獙锛岃纭閰嶇疆淇℃伅锛�"; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}璐ㄩ噺淇℃伅 涓嶅仛鏍¢獙锛岃纭鏄惁閰嶇疆寮傚父"); + } + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1004.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1004.cs new file mode 100644 index 0000000..2218e7c --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP1004.cs @@ -0,0 +1,171 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// OP10/OP40鎺ㄥ嚭鏍囪 + /// </summary> + public class DataCaptureHandler_OP1004: DataCaptureHandler + { + public static readonly DataCaptureHandler_OP1004 Instance = new DataCaptureHandler_OP1004(); + + public DataCaptureHandler_OP1004() + { + } + + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + + + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + } + + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + SystemValue.lbl_Alert_OP1004 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + while (true) + { + ThreadStatusMonitor threadStatusMonitor = new ThreadStatusMonitor(); + threadStatusMonitor.Threadcode = DataCapturePointCode; + threadStatusMonitor.Threadcname = DataCapturePointCname; + threadStatusMonitor.Threadendtime = DateTime.Now; + threadStatusMonitor.Threadlastmodifytime = DateTime.Now; + threadStatusMonitor.Threadstatue = 0; + threadStatusMonitor.ThreadId = Thread.CurrentThread.ManagedThreadId.ToString(); + try + { + //_dataCaptureConfig + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_OP1004 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + if (SystemValue.value_OP1004.Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) + {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 + //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 + //涓氬姟浠g爜 1.鍙栨帹鍑烘爣璁帮紝2鍙栨帹鍑哄師鍥狅紙1锛歯ok锛�2鍜�3锛歴pc锛�4锛氱姸鎬佷笉鏄� 锛夛紝3 鍙栨帹鍑轰簩缁寸爜 + WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkingProcedure = WorkingProcedure; + wplog.EquipmentID = WorkingProcedure; + wplog.MonitoringPoint = DataCapturePointCode; + wplog.CreatedTime = DateTimeHelper.GetDateTime(); + wplog.CreatedUserName = DataCapturePointCode; + wplog.UpdatedTime = DateTimeHelper.GetDateTime(); + wplog.UpdatedUserName = "鑷姩"; + wplog.OnlineTime = DateTimeHelper.GetDateTime(); + wplog.IsDeleted = false; + + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + try + { + var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + //wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� + var set = wplog.GetType().GetProperty(col.DataCaptureColumnTabelName); + if (set == null) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佺敱浜庡瓧娈靛悕娌℃壘鍒帮紝璧嬪�笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝け璐wplog.Id}"); + } + set.SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� + } + catch (Exception setex) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佽祴鍊笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝紓甯竰wplog.Id}", setex); + } + } + if (wplog.OP10Flag != 1 && wplog.OP10Flag != 2 && wplog.OP10Flag != 3) + {//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯� + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹畕wplog.WorkPieceID}鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]寮傚父"); + wplog.Remarks = $"鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]寮傚父"; + } + if (wplog.OP10Flag == 1) + { + WorkPieceInfoManager.WorkPiecePushOff(wplog, LogType.PLCOP10); + threadStatusMonitor.Threadstatue = 1; + } + //else if (wplog.OP10Flag == 2 || wplog.OP10Flag == 3) + else + { + WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, LogType.PLCOP10); + threadStatusMonitor.Threadstatue = 1; + } + + + + + + } + SystemValue.value_OP1004 = value.ToString(); + + + } + SystemValue.lbl_Alert_OP1004 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(5000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP1004 = $" {RandomHelper.GenerateRandomCode(4)} {DataCapturePointCode}鎺ㄥ嚭淇℃伅 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}鎺ㄥ嚭淇℃伅 鏁版嵁鏃跺紓甯革細", ex); + } + finally + { + WorkPieceInfoManager.ThreadMonitor(threadStatusMonitor); + } + } + } + else + { + SystemValue.lbl_Alert_OP1004 = $" {RandomHelper.GenerateRandomCode(4)} {DataCapturePointCode}鎺ㄥ嚭淇℃伅 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛侊紒"; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}鎺ㄥ嚭淇℃伅 涓嶅仛鏍¢獙锛岃纭鏄惁閰嶇疆寮傚父"); + } + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP3002.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP3002.cs new file mode 100644 index 0000000..55201c3 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/DataCaptureHandler_OP3002.cs @@ -0,0 +1,194 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Web.UI.WebControls; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// OP30娴嬮噺瀹屾垚鏍囪 + /// </summary> + public class DataCaptureHandler_OP3002: DataCaptureHandler + { + public static readonly DataCaptureHandler_OP3002 Instance = new DataCaptureHandler_OP3002(); + + public DataCaptureHandler_OP3002() + { + } + + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + + + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + //try + //{ + // foreach (var dataCaptureColumnDict in dataCaptureConfig) + // { + // switch (dataCaptureColumnDict.DataCapturePointCode) + // { + // case "OP3002": + // //_dataCaptureConfig = dataCaptureColumnDict; + // IsCaptureflag = true; + // return; + + // } + // } + //} + //catch (Exception ex) + //{ + // SystemValue._lbl_Alert_OP3002 = $" {RandomHelper.GenerateRandomCode(4)} OP30宸ュ簭鐩戞帶鎵撶爜鏍囪 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + // Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), "鍒锋柊 OP30宸ュ簭鐩戞帶鎵撶爜鏍囪鏁版嵁鏃跺紓甯革細", ex); + //} + } + + public override void DataCaptureStart() + { + if (SystemValue.isStartedModel) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkingProcedure = WorkingProcedure; + wplog.EquipmentID = WorkingProcedure; + wplog.Remarks = WorkingProcedure; + wplog.MonitoringPoint = DataCapturePointCode; + wplog.WorkPieceID = "123456"; + wplog.CreatedTime = DateTimeHelper.GetDateTime(); + wplog.CreatedUserName = DataCapturePointCode; + wplog.IsDeleted = false; + wplog.QualityType = QualityType.Online.ToString(); + + + wplog.WorkPieceID = WorkPieceID; + wplog.EquipmentID = _dataCaptureConfig.EquipmentID; + wplog.UpdatedTime = DateTimeHelper.GetDateTime(); + wplog.UpdatedUserName = DataCapturePointCode; + wplog.QualityState = (int)QualityState.NG; + wplog.QualityStateUpdateUser = WorkingProcedure; + wplog.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); + + wplog.QualityOP30To1 = "QualityOP30To1"; + wplog.QualityOP30To2 = "QualityOP30To2"; + wplog.QualityOP30To3 = "QualityOP30To3"; + wplog.QualityOP30To4 = "QualityOP30To4"; + wplog.QualityOP30To5 = "QualityOP30To5"; + wplog.QualityOP30To6 = "QualityOP30To6"; + wplog.QualityOP30To7 = "QualityOP30To7"; + + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + + + return; + } + if (IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + SystemValue.lbl_Alert_OP3002 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + while (true) + { + try + { + //_dataCaptureConfig + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_OP3002 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + if (SystemValue.value_OP3002.Equals("0") && value.ToString().Equals("1")) + {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 + //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 + //涓氬姟浠g爜 + WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkingProcedure = WorkingProcedure; + wplog.EquipmentID = WorkingProcedure; + wplog.Remarks = WorkingProcedure; + wplog.MonitoringPoint = DataCapturePointCode; + wplog.WorkPieceID = "123456"; + wplog.CreatedTime = DateTimeHelper.GetDateTime(); + wplog.CreatedUserName = DataCapturePointCode; + wplog.IsDeleted = false; + wplog.QualityType = QualityType.Online.ToString(); + //foreach (var col in colConfig) + //{ + // switch(col.DbNumber+ col.Offset) + // { + // case "": + var valuecol = plcService.ReadValuePoint("2050", "28", 25, typeof(string)); + wplog.WorkPieceID = valuecol.ToString(); + // break; + // } + //} + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + + + + + } + SystemValue.value_OP3002 = value.ToString(); + + + } + SystemValue.lbl_Alert_OP3002 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(5000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + + } + catch (Exception ex) + { + SystemValue.lbl_Alert_OP3002 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭鐩戞帶鎵撶爜鏍囪 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), "璇诲彇 {WorkingProcedure}宸ュ簭鐩戞帶鎵撶爜鏍囪鏁版嵁鏃跺紓甯革細", ex); + } + } + } + else + { + SystemValue.lbl_Alert_OP3002 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭鐩戞帶鎵撶爜鏍囪 涓嶅仛鏍¢獙锛岃纭閰嶇疆淇℃伅锛�"; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), "璇粄WorkingProcedure}宸ュ簭鐩戞帶鎵撶爜鏍囪 涓嶅仛鏍¢獙锛岃纭鏄惁閰嶇疆寮傚父"); + } + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMIBeartBeatMonitor.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMIBeartBeatMonitor.cs new file mode 100644 index 0000000..8d24284 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMIBeartBeatMonitor.cs @@ -0,0 +1,189 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Data.Entity.Core.Common.CommandTrees; +using System.Data.Entity.Validation; +using System.Data.SqlTypes; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// HMI蹇冭烦鐩戞帶 + /// </summary> + public class HMIBeartBeatMonitor: DataCaptureHandler + { + public static readonly HMIBeartBeatMonitor Instance = new HMIBeartBeatMonitor(); + + public HMIBeartBeatMonitor() + { + } + + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + + + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + } + + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + SystemValue.lbl_Alert_HMIBeartBeatMonitor = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + Dictionary<bool, DateTime> beartBeatDic = new Dictionary<bool, DateTime>(); + bool BeartBeatMonitorflag = true; + while (true) + { + ThreadStatusMonitor threadStatusMonitor = new ThreadStatusMonitor(); + threadStatusMonitor.Threadcode = DataCapturePointCode; + threadStatusMonitor.Threadcname = DataCapturePointCname; + threadStatusMonitor.Threadendtime = DateTime.Now; + threadStatusMonitor.Threadlastmodifytime = DateTime.Now; + threadStatusMonitor.Threadstatue = 0; + threadStatusMonitor.ThreadId = Thread.CurrentThread.ManagedThreadId.ToString(); + try + { + if(DataCapturePointCode.Equals("OP1008")) + { + + } + //_dataCaptureConfig + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_HMIBeartBeatMonitor = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + try + {//鑾峰彇璁惧plc鐨勫績璺� + + var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + + if (BeartBeatMonitorflag != (bool)value) + {//PLC蹇冭烦鍙樺寲 + + if(beartBeatDic.ContainsKey((bool)value)) + { + beartBeatDic[(bool)value]=DateTime.Now; + } + else + { + beartBeatDic.Add((bool)value, DateTime.Now); + } + + + } + + WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + wplog.WorkingProcedure = WorkingProcedure; + wplog.EquipmentID = _dataCaptureConfig.EquipmentID; + wplog.Remarks = "HMI"; + wplog.MonitoringPoint = DataCapturePointCode; + var max = beartBeatDic.Max(kvp => kvp.Value); + if(max==null||(DateTime.Now-max).TotalSeconds>10) + {//蹇冭烦10绉掓病鏈夋洿鏂拌涓鸿澶囨柇绾夸簡 + wplog.IsConnect = false; + } + else + { + wplog.IsConnect = true; + } + //鏇存柊璁惧褰撳墠杩炴帴鎯呭喌 + WorkPieceInfoManager.EquipmentBeartBeatMonitor(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + BeartBeatMonitorflag = (bool)value; + threadStatusMonitor.Threadstatue = 1; + } + catch (DbEntityValidationException ex1) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{WorkingProcedure}蹇冭烦璇诲彇寮傚父1锛�", ex1); + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{WorkingProcedure}蹇冭烦璇诲彇寮傚父锛�", ex); + } + + try + {//鍙嶅啓蹇冭烦 + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode && o.IsFeedback == 1)) + {//鑾峰彇閰嶇疆璇︽儏琛ㄤ腑闇�鍐欏叆蹇冭烦淇℃伅 pc + bool flag = true; + var colflag = plcService.ReadValuePoint(col.DbNumber, col.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + if ((bool)colflag) + { + flag = false; + } + else + { + flag = true; + } + var write= plcService.WriteValuePointNew(col.DbNumber, col.Offset, flag); + if(!write.result) + { + + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{WorkingProcedure}鏁伴噰蹇冭烦鍐欏叆寮傚父锛歿write.resMsg}"); + } + + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{WorkingProcedure}鏁伴噰蹇冭烦鍐欏叆寮傚父锛�", ex); + } + + + } + SystemValue.lbl_Alert_HMIBeartBeatMonitor = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; + + } + catch (Exception ex) + { + SystemValue.lbl_Alert_HMIBeartBeatMonitor = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭蹇冭烦 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {WorkingProcedure}宸ュ簭蹇冭烦寮傚父锛�", ex); + } + finally + { + WorkPieceInfoManager.ThreadMonitor(threadStatusMonitor); + } + } + } + else + { + SystemValue.lbl_Alert_HMIBeartBeatMonitor = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭蹇冭烦 涓嶅仛鏍¢獙锛岃纭閰嶇疆淇℃伅锛�"; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇粄WorkingProcedure}宸ュ簭蹇冭烦 涓嶅仛鏍¢獙锛岃纭鏄惁閰嶇疆寮傚父"); + } + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMI_WorkpieceReading.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMI_WorkpieceReading.cs new file mode 100644 index 0000000..bb96698 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMI_WorkpieceReading.cs @@ -0,0 +1,358 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// HML璇诲彇 + /// </summary> + public class HMI_WorkpieceReading : DataCaptureHandler + { + public static readonly HMI_WorkpieceReading Instance = new HMI_WorkpieceReading(); + + /// <summary> + /// + /// </summary> + public HMI_WorkpieceReading() + { + } + + /// <summary> + /// + /// </summary> + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + /// <summary> + /// + /// </summary> + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + + /// <summary> + /// + /// </summary> + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + + /// <summary> + /// 鍒锋柊鏁版嵁鍒楄〃 + /// </summary> + /// <param name="dataCaptureConfig"></param> + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + + } + + /// <summary> + /// 鏁版嵁閲囬泦寮�濮� + /// </summary> + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "RHMIOP104001": + SystemValue.lbl_Alert_HMIOP104001 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + break; + case "RHMIOP2001": + SystemValue.lbl_Alert_HMIOP2001 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + break; + case "RHMIOP303501": + SystemValue.lbl_Alert_HMIOP303501 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + break; + case "RHMIOP5001": + SystemValue.lbl_Alert_HMIOP5001 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + break; + case "RHMIOP6001": + SystemValue.lbl_Alert_HMIOP6001 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + break; + default: + break; + } + + + + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + while (true) + { + try + { + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_HMIOP104001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + SystemValue.lbl_Alert_HMIOP2001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + SystemValue.lbl_Alert_HMIOP303501 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + SystemValue.lbl_Alert_HMIOP5001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + SystemValue.lbl_Alert_HMIOP6001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + + //switch (_dataCaptureConfig.DataCapturePointCode) + //{ + // case "RHMIOP104001": + // SystemValue.lbl_Alert_HMIOP104001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + // break; + // case "RHMIOP2001": + // SystemValue.lbl_Alert_HMIOP2001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + // break; + // case "RHMIOP303501": + // SystemValue.lbl_Alert_HMIOP303501 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + // break; + // case "RHMIOP5001": + // SystemValue.lbl_Alert_HMIOP5001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + // break; + // case "RHMIOP6001": + // SystemValue.lbl_Alert_HMIOP6001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + // break; + // default: + // break; + //} + + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + SystemValue.lbl_Alert_HMIOP104001 = $" {RandomHelper.GenerateRandomCode(4)}"; + SystemValue.lbl_Alert_HMIOP2001 = $" {RandomHelper.GenerateRandomCode(4)}"; + SystemValue.lbl_Alert_HMIOP303501 = $" {RandomHelper.GenerateRandomCode(4)}"; + SystemValue.lbl_Alert_HMIOP5001 = $" {RandomHelper.GenerateRandomCode(4)}"; + SystemValue.lbl_Alert_HMIOP6001 = $" {RandomHelper.GenerateRandomCode(4)}"; + + object value1 = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, "88", 2, PLCManger.GetTypeForString("int")); + + string value2 = value1 == null ? "" : value1.ToString(); + if ("21" .Equals(value2)) + { + //10锛氭暟閲囪鍙栧け璐� + //11 :鏁伴噰璇诲彇鎴愬姛 + //21锛氭壂鐮佹垚鍔熸爣璁� + plcService.WriteValuePointNew(_dataCaptureConfig.DbNumber, "88", 11); + object value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, _dataCaptureConfig.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + + if (value != null) + { + string WorkPieceID = value.ToString().Trim(); + + if (WorkPieceID.Length == 22) + { + // 鏍规嵁宸ヤ欢鍙疯幏鍙栧伐浠朵俊鎭� + WorkPieceInfo info = null; + using (DbModel db = new DbModel()) + { + info = new WorkPieceInfo(); + info = db.WorkPieceInfo.Where(o => o.WorkPieceID == WorkPieceID&&o.IsDeleted==false).FirstOrDefault(); + } + + if (info != null && info.Id > 0) + { + // 鎶婂搴旂殑宸ヤ欢淇℃伅鍐欏叆PLC瀵瑰簲鍦板潃 + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + switch (col.DataCaptureColumnTabelName) + { + case "WorkPieceID": + //plcService.WriteValuePointNew(col.DbNumber, col.Offset, info.WorkPieceID); + break; + case "WorkingProcedureCurrent": + plcService.WriteValuePointNew(col.DbNumber, col.Offset, info.WorkingProcedureCurrent); + break; + case "WorkPieceState": + plcService.WriteValuePointNew(col.DbNumber, col.Offset, info.WorkPieceState); + break; + case "QualityState": + plcService.WriteValuePointNew(col.DbNumber, col.Offset, info.QualityState); + break; + case "ReaderEndState": + plcService.WriteValuePointNew(col.DbNumber, col.Offset, 11); + break; + default: + break; + } + } + } + else + { + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + switch (col.DataCaptureColumnTabelName) + { + case "ReaderEndState": + plcService.WriteValuePointNew(col.DbNumber, col.Offset, 10); + break; + default: + break; + } + } + + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "RHMIOP104001": + SystemValue.lbl_Alert_HMIOP104001 = $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戝湪鏁版嵁搴撲腑涓嶅瓨鍦�"; + break; + case "RHMIOP2001": + SystemValue.lbl_Alert_HMIOP2001 = $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戝湪鏁版嵁搴撲腑涓嶅瓨鍦�"; + break; + case "RHMIOP303501": + SystemValue.lbl_Alert_HMIOP303501 = $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戝湪鏁版嵁搴撲腑涓嶅瓨鍦�"; + break; + case "RHMIOP5001": + SystemValue.lbl_Alert_HMIOP5001 = $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戝湪鏁版嵁搴撲腑涓嶅瓨鍦�"; + break; + case "RHMIOP6001": + SystemValue.lbl_Alert_HMIOP6001 = $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戝湪鏁版嵁搴撲腑涓嶅瓨鍦�"; + break; + default: + break; + } + + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戝湪鏁版嵁搴撲腑涓嶅瓨鍦�"); + } + } + else + { + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + switch (col.DataCaptureColumnTabelName) + { + case "ReaderEndState": + plcService.WriteValuePointNew(col.DbNumber, col.Offset, 10); + break; + default: + break; + } + } + + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "RHMIOP104001": + SystemValue.lbl_Alert_HMIOP104001 = $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"; + break; + case "RHMIOP2001": + SystemValue.lbl_Alert_HMIOP2001 = $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"; + break; + case "RHMIOP303501": + SystemValue.lbl_Alert_HMIOP303501 = $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"; + break; + case "RHMIOP5001": + SystemValue.lbl_Alert_HMIOP5001 = $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"; + break; + case "RHMIOP6001": + SystemValue.lbl_Alert_HMIOP6001 = $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"; + break; + default: + break; + } + + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"HMI璇诲彇鐩戞帶 浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�"); + } + } + else + { + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + switch (col.DataCaptureColumnTabelName) + { + case "ReaderEndState": + plcService.WriteValuePointNew(col.DbNumber, col.Offset, 10); + break; + default: + break; + } + } + } + } + + + } + + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(1000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + + + } + catch (Exception ex) + { + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "RHMIOP104001": + SystemValue.lbl_Alert_HMIOP104001 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + break; + case "RHMIOP2001": + SystemValue.lbl_Alert_HMIOP2001 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + break; + case "RHMIOP303501": + SystemValue.lbl_Alert_HMIOP303501 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + break; + case "RHMIOP5001": + SystemValue.lbl_Alert_HMIOP5001 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + break; + case "RHMIOP6001": + SystemValue.lbl_Alert_HMIOP6001 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + break; + default: + break; + } + + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鏁版嵁鏃跺紓甯革細", ex); + } + } + } + else + { + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "RHMIOP104001": + SystemValue.lbl_Alert_HMIOP104001 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭閰嶇疆淇℃伅锛�"; + break; + case "RHMIOP2001": + SystemValue.lbl_Alert_HMIOP2001 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭閰嶇疆淇℃伅锛�"; + break; + case "RHMIOP303501": + SystemValue.lbl_Alert_HMIOP303501 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭閰嶇疆淇℃伅锛�"; + break; + case "RHMIOP5001": + SystemValue.lbl_Alert_HMIOP5001 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭閰嶇疆淇℃伅锛�"; + break; + case "RHMIOP6001": + SystemValue.lbl_Alert_HMIOP6001 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭閰嶇疆淇℃伅锛�"; + break; + default: + break; + } + + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇粄WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭鏄惁閰嶇疆寮傚父"); + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMI_WorkpieceWrite.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMI_WorkpieceWrite.cs new file mode 100644 index 0000000..64e9965 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/HMI_WorkpieceWrite.cs @@ -0,0 +1,409 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Data.Entity.Migrations; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Web.UI.WebControls; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// HMI鍐欏叆 + /// </summary> + public class HMI_WorkpieceWrite : DataCaptureHandler + { + public static readonly HMI_WorkpieceWrite Instance = new HMI_WorkpieceWrite(); + + /// <summary> + /// + /// </summary> + public HMI_WorkpieceWrite() + { + + } + + /// <summary> + /// + /// </summary> + public override string WorkingProcedure + { + get { return _dataCaptureConfig.WorkingProcedure; } + } + + /// <summary> + /// + /// </summary> + public override string DataCapturePointCode + { + get { return _dataCaptureConfig.DataCapturePointCode; } + } + + /// <summary> + /// + /// </summary> + public override string DataCapturePointCname + { + get { return _dataCaptureConfig.DataCapturePointCname; } + } + + /// <summary> + /// 鍒锋柊鏁版嵁鍒楄〃 + /// </summary> + /// <param name="dataCaptureConfig"></param> + public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig) + { + + } + + /// <summary> + /// 鏁版嵁閲囬泦寮�濮� + /// </summary> + public override void DataCaptureStart() + { + if (IsCaptureflag) + { + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "WHMIOP104002": + SystemValue.lbl_Alert_HMIOP104001 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + break; + case "WHMIOP2002": + SystemValue.lbl_Alert_HMIOP2001 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + break; + case "WHMIOP303502": + SystemValue.lbl_Alert_HMIOP303501 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + break; + case "WHMIOP5002": + SystemValue.lbl_Alert_HMIOP5001 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + break; + case "WHMIOP6002": + SystemValue.lbl_Alert_HMIOP6001 = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + break; + default: + break; + } + + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + while (true) + { + try + { + if (plcService == null && !plcService.IsConnected) + { + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "WHMIOP104002": + SystemValue.lbl_Alert_HMIOP104001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + break; + case "WHMIOP2002": + SystemValue.lbl_Alert_HMIOP2001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + break; + case "WHMIOP303502": + SystemValue.lbl_Alert_HMIOP303501 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + break; + case "WHMIOP5002": + SystemValue.lbl_Alert_HMIOP5001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + break; + case "WHMIOP6002": + SystemValue.lbl_Alert_HMIOP6001 = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + break; + default: + break; + } + + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + continue; + } + else + { + Object WorkPieceID = null; + Object QualityState = null; + Object CheckUpdate = null; + Object QualityErrorInfo = null; + + int UpdateIsOK = 0; + + // 鎶婂搴旂殑宸ヤ欢淇℃伅鍐欏叆PLC瀵瑰簲鍦板潃 + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + switch (col.DataCaptureColumnTabelName) + { + case "WorkPieceID": + WorkPieceID = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + break; + case "QualityState": + QualityState = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + break; + case "CheckUpdate": + CheckUpdate = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + //plcService.WriteValuePoint(col.DbNumber, col.Offset, 0, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + break; + case "QualityErrorInfo": + QualityErrorInfo = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); + break; + case "UpdateIsOK": + UpdateIsOK = col.IsFeedback; + break; + + default: + break; + } + } + + if ((bool)CheckUpdate) + { + // 璇诲彇鍐呭妫�鏌� + StringBuilder builder = new StringBuilder(); + if (WorkPieceID != null) + { + if (WorkPieceID.ToString().Length != 22) + { + builder.AppendLine("宸ヤ欢浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�!"); + } + + if (QualityState == null) + { + builder.AppendLine("宸ヤ欢浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戣川閲忕姸鎬佷笉鑳戒负绌�"); + } + else + { + if ((int)QualityState != 1 && (int)QualityState != 2 && (int)QualityState != 3) + { + builder.AppendLine("宸ヤ欢浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戣川閲忕姸鎬併��" + QualityState + "銆戦敊璇紝鍙兘涓�1锛氬悎鏍� 2锛氫笉鍚堟牸 3锛氱枒浼�"); + } + else if ((int)QualityState == 2 || (int)QualityState == 3) + { + if (QualityErrorInfo == null|| string.IsNullOrEmpty(QualityErrorInfo.ToString())) + { + builder.AppendLine("宸ヤ欢浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戣川閲忎笉鍚堟牸鍘熷洜涓嶈兘涓虹┖"); + } + } + } + + } + + if (!string.IsNullOrEmpty(builder.ToString())) + { + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "WHMIOP104002": + SystemValue.lbl_Alert_HMIOP104001 = $"{WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶锛屾暟鎹繑鍥炴牸寮忓紓甯革細" + builder.ToString(); + break; + case "WHMIOP2002": + SystemValue.lbl_Alert_HMIOP2001 = $"{WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶锛屾暟鎹繑鍥炴牸寮忓紓甯革細" + builder.ToString(); + break; + case "WHMIOP303502": + SystemValue.lbl_Alert_HMIOP303501 = $"{WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶锛屾暟鎹繑鍥炴牸寮忓紓甯革細" + builder.ToString(); + break; + case "WHMIOP5002": + SystemValue.lbl_Alert_HMIOP5001 = $"{WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶锛屾暟鎹繑鍥炴牸寮忓紓甯革細" + builder.ToString(); + break; + case "WHMIOP6002": + SystemValue.lbl_Alert_HMIOP6001 = $"{WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶锛屾暟鎹繑鍥炴牸寮忓紓甯革細" + builder.ToString(); + break; + default: + break; + } + + // 鎶婂搴旂殑宸ヤ欢淇℃伅鍐欏叆PLC瀵瑰簲鍦板潃 + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + switch (col.DataCaptureColumnTabelName) + { + case "UpdateIsOK": + var aa = plcService.WriteValuePointNew(col.DbNumber, col.Offset, false); + break; + + default: + //plcService.WriteValuePoint(col.DbNumber, col.Offset, "", PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + break; + } + } + + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ュ簭HML鍐欏叆鐩戞帶锛屾暟鎹繑鍥炴牸寮忓紓甯革細" + builder.ToString()); + continue; + } + + + // 宸ヤ欢淇℃伅 + WorkPieceInfo info = null; + // 宸ヤ欢鎺ユ敹淇℃伅灞ュ巻 + WorkPieceLog wplog = new WorkPieceLog(); + using (DbModel db = new DbModel()) + { + info = new WorkPieceInfo(); + info = db.WorkPieceInfo.Where(o => o.WorkPieceID == WorkPieceID.ToString()&&o.IsDeleted==false).FirstOrDefault(); + + if (info == null) + { + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "WHMIOP104002": + SystemValue.lbl_Alert_HMIOP104001 = $"宸ヤ欢{WorkPieceID}锛寋WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶鏃讹紝宸ヤ欢淇℃伅琛ㄤ腑涓嶅瓨鍦�"; + break; + case "WHMIOP2002": + SystemValue.lbl_Alert_HMIOP2001 = $"宸ヤ欢{WorkPieceID}锛寋WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶鏃讹紝宸ヤ欢淇℃伅琛ㄤ腑涓嶅瓨鍦�"; + break; + case "WHMIOP303502": + SystemValue.lbl_Alert_HMIOP303501 = $"宸ヤ欢{WorkPieceID}锛寋WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶鏃讹紝宸ヤ欢淇℃伅琛ㄤ腑涓嶅瓨鍦�"; + break; + case "WHMIOP5002": + SystemValue.lbl_Alert_HMIOP5001 = $"宸ヤ欢{WorkPieceID}锛寋WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶鏃讹紝宸ヤ欢淇℃伅琛ㄤ腑涓嶅瓨鍦�"; + break; + case "WHMIOP6002": + SystemValue.lbl_Alert_HMIOP6001 = $"宸ヤ欢{WorkPieceID}锛寋WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶鏃讹紝宸ヤ欢淇℃伅琛ㄤ腑涓嶅瓨鍦�"; + break; + default: + break; + } + + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ュ簭HML鍐欏叆鐩戞帶锛屾暟鎹繑鍥炴牸寮忓紓甯革細" + builder.ToString()); + continue; + } + + + info.QualityState = Convert.ToInt32(QualityState); + info.QualityStateUpdateUser = "HMI"; + info.QualityStateUpdateTime = DateTime.Now; + info.QualityStateUpdateMode = "鑷姩"; + info.QualityErrorInfo = QualityErrorInfo.ToString(); + + + // 鍐欏叆宸ヤ欢鎺ユ敹淇℃伅灞ュ巻 + //wplog = CommonManager.Instance.GetWorkPieceID(wplog, LogType.PLCHMI04); + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkPieceID = info.WorkPieceID; + wplog.WorkingProcedure = WorkingProcedure; + wplog.EquipmentID = WorkingProcedure; + wplog.Remarks = WorkingProcedure; + wplog.MonitoringPoint = DataCapturePointCode; + wplog.QualityState = Convert.ToInt32(QualityState); + wplog.CreatedTime = DateTimeHelper.GetDateTime(); + wplog.CreatedUserName = DataCapturePointCode; + wplog.IsDeleted = false; + + db.WorkPieceLog.Add(wplog); + db.SaveChanges(); + } + + + + if (UpdateIsOK == 1) + { + // 鎶婂搴旂殑宸ヤ欢淇℃伅鍐欏叆PLC瀵瑰簲鍦板潃 + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + switch (col.DataCaptureColumnTabelName) + { + case "UpdateIsOK": + var aa = plcService.WriteValuePointNew(col.DbNumber, col.Offset, true); + break; + //case "WorkPieceID": + // plcService.WriteValuePointNew(col.DbNumber, col.Offset, ""); + // break; + + default: + //plcService.WriteValuePoint(col.DbNumber, col.Offset, "", PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + break; + } + } + } + } + + } + + if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) + { + Thread.Sleep(5000); + } + else + { + Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value); + } + + + } + catch (Exception ex) + { + + foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) + { + switch (col.DataCaptureColumnTabelName) + { + case "UpdateIsOK": + var aa = plcService.WriteValuePointNew(col.DbNumber, col.Offset, true); + break; + default: + break; + } + } + + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "WHMIOP104002": + SystemValue.lbl_Alert_HMIOP104001 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + break; + case "WHMIOP2002": + SystemValue.lbl_Alert_HMIOP2001 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + break; + case "WHMIOP303502": + SystemValue.lbl_Alert_HMIOP303501 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + break; + case "WHMIOP5002": + SystemValue.lbl_Alert_HMIOP5001 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + break; + case "WHMIOP6002": + SystemValue.lbl_Alert_HMIOP6001 = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{WorkingProcedure}宸ュ簭HMI璇诲彇浜岀淮鐮佺洃鎺э紝鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + break; + default: + break; + } + + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶锛屾暟鎹椂寮傚父锛�", ex); + } + } + } + else + { + switch (_dataCaptureConfig.DataCapturePointCode) + { + case "WHMIOP104002": + SystemValue.lbl_Alert_HMIOP104001 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭閰嶇疆淇℃伅锛�"; + break; + case "WHMIOP2002": + SystemValue.lbl_Alert_HMIOP2001 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭閰嶇疆淇℃伅锛�"; + break; + case "WHMIOP303502": + SystemValue.lbl_Alert_HMIOP303501 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭閰嶇疆淇℃伅锛�"; + break; + case "WHMIOP5002": + SystemValue.lbl_Alert_HMIOP5001 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭閰嶇疆淇℃伅锛�"; + break; + case "WHMIOP6002": + SystemValue.lbl_Alert_HMIOP6001 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure}宸ュ簭HML璇诲彇浜岀淮鐮佺洃鎺� 涓嶅仛鏁版嵁閲囬泦锛岃纭閰嶇疆淇℃伅锛�"; + break; + default: + break; + } + + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇粄WorkingProcedure}宸ュ簭HML鍐欏叆鐩戞帶锛� 涓嶅仛鏍¢獙锛岃纭鏄惁閰嶇疆寮傚父"); + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCFactory.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCFactory.cs new file mode 100644 index 0000000..bc8b9ad --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCFactory.cs @@ -0,0 +1,20 @@ +锘� +using iWare_SCADA_Model; + +namespace iWare_SCADA_BusinessLogical +{ + public class PLCFactory + { + public static PLCService GetOPCService(PLCServiceTypeEnum _OPCServiceTypeEnum, HslCommunicationParam hslcpParam) + { + PLCService plcService = null; + switch (_OPCServiceTypeEnum) + { + case PLCServiceTypeEnum.Siemens_HslCommunicationService: + plcService = new Siemens_HslCommunicationService(hslcpParam); + break; + } + return plcService; + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCManger.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCManger.cs new file mode 100644 index 0000000..1def89c --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCManger.cs @@ -0,0 +1,132 @@ +锘縰sing HslCommunication.Profinet.Siemens; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using log4net; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + public class PLCManger + { + /// <summary> + /// 瀹炰緥鍖栧崟涓狿LCService + /// </summary> + /// <param name="_ip"></param> + /// <param name="device"></param> + /// <returns></returns> + public static PLCService GetSinglePLCService(DataCaptureConfig dataCaptureConfig) + { + HslCommunicationParam hslCommunicationParam = new HslCommunicationParam() + { + cpu = (SiemensPLCS)dataCaptureConfig.DataCapturePLCType, + ip = dataCaptureConfig.PLCIP, + //rack = WareSdaStruct.Srm_Rack, + //slot = WareSdaStruct.Srm_Slot, + port = dataCaptureConfig.PLCPort.Value + }; + PLCService PLCService = PLCFactory.GetOPCService(PLCServiceTypeEnum.Siemens_HslCommunicationService, hslCommunicationParam); + return PLCService; + } + public static Type GetTypeForString(string datatype) + { + switch (datatype.ToLower()) + { + case "int": + return typeof(Int16); + case "dint": + return typeof(Int32); + case "char": + return typeof(Char); + case "real": + return typeof(double); + //return typeof(Single); + case "bool": + return typeof(bool); + case "string": + return typeof(string); + case "byte": + return typeof(Byte); + case "other": + return typeof(string); + default: + return typeof(string); + } + } + + public static object GetVauleForObjectType(object vaule,TypeCode type) + { + + switch (type) + { + case TypeCode.Int16: + return Convert.ToInt16(vaule); + case TypeCode.Int32: + return Convert.ToInt32(vaule); + case TypeCode.Char: + return Convert.ToChar(vaule); + case TypeCode.Single: + return Convert.ToSingle(vaule); + case TypeCode.Boolean: + return Convert.ToBoolean(vaule); + case TypeCode.String: + return Convert.ToString(vaule); + case TypeCode.Byte: + return Convert.ToByte(vaule); + + default: + return Convert.ToString(vaule); + } + } + + public static LogType GetLogTypeForWorkingProcedure(string wp) + { + switch(wp) + { + + case "OP05": + return LogType.PLCOP05; + case "OP10": + return LogType.PLCOP10; + case "OP20": + return LogType.PLCOP20; + case "OP30": + return LogType.PLCOP30; + case "OP35": + return LogType.PLCOP35; + case "OP40": + return LogType.PLCOP40; + case "OP50": + return LogType.PLCOP50; + case "OP60": + return LogType.PLCOP60; + case "OP70": + return LogType.PLCOP70; + case "OP80": + return LogType.PLCOP80; + case "HMI": + return LogType.PLCHMI; + default: + return LogType.PLCService; + } + } + + public static string GetWorkPieceIDForPLC(DataCaptureConfig _dataCaptureConfig,PLCService plcService) + { + try + { + var valueid = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, _dataCaptureConfig.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + return valueid.ToString().Trim(); + } + catch(Exception ex) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(_dataCaptureConfig.WorkingProcedure), $" {_dataCaptureConfig.WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹椂寮傚父锛�", ex); + throw; + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCService.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCService.cs new file mode 100644 index 0000000..1e5956a --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/PLCService.cs @@ -0,0 +1,140 @@ +锘� +using iWare_SCADA_Model; +using System; + +namespace iWare_SCADA_BusinessLogical +{ + public class PLCService + { + public LogType _LogType; + public bool IsConnected { get; set; } + + /// <summary> + /// 鎵撳紑鏈嶅姟 + /// </summary> + /// <returns></returns> + public virtual MessageModel OpenService() + { + this.IsConnected = false; + return new MessageModel() + { + result = true + }; + } + ///// <summary> + ///// 鍐欏叆 + ///// </summary> + ///// <param name="address">鍦板潃</param> + ///// <param name="value">鍊�</param> + ///// <returns></returns> + //public virtual MessageModel WriteValuePoint(string dbNumber, string offset, object value) + //{ + // return new MessageModel() + // { + // result = true + // }; + //} + + /// <summary> + /// 鍐欏叆 + /// </summary> + /// <param name="fullAddress">鍦板潃</param> + /// <param name="value">鍊�</param> + /// <param name="proObj">灞炴�у璞�</param> + /// <returns></returns> + public virtual MessageModel WriteValuePointNew(string dbNumber, string offset, object value) + { + return new MessageModel() + { + result = true + }; + } + /// <summary> + /// 鍐欏叆 + /// </summary> + /// <param name="address">鍦板潃</param> + /// <param name="value">鍊�</param> + /// <param name="proObj">灞炴�у璞�</param> + /// <returns></returns> + public virtual MessageModel WriteValuePoint(string dbNumber, string offset, object value, Object proObj) + { + return new MessageModel() + { + result = true + }; + } + + /// <summary> + /// 鍐欏叆 + /// </summary> + /// <param name="fullAddress">鍦板潃</param> + /// <param name="value">鍊�</param> + /// <param name="proObj">灞炴�у璞�</param> + /// <returns></returns> + public virtual MessageModel WriteValuePoint(string fullAddress, object value, Object proObj) + { + return new MessageModel() + { + result = true + }; + } + + /// <summary> + /// 璇诲彇 + /// </summary> + /// <param name="dbNumber">DB鍧楀悕</param> + /// <param name="offset">鍋忕Щ閲�</param> + /// <param name="type"></param> + /// <returns></returns> + public virtual object ReadValuePoint(string dbNumber, string offset,int stringlen, Type type = default(Type)) + { + return null; + } + /// <summary> + /// 璇诲彇 + /// </summary> + /// <param name="dbNumber">DB鍧楀悕</param> + /// <param name="offset">鍋忕Щ閲�</param> + /// <param name="type"></param> + /// <returns></returns> + public virtual object ReadValuePoint(string dbNumber, string offset, Type type = default(Type)) + { + return null; + } + public virtual object ReadValuePointV2(string fullAddress, Type type = default(Type), int stringlen = 0) + { + return null; + } + + /// <summary> + /// 璇诲彇 + /// </summary> + /// <param name="fullAddress">鍦板潃</param> + /// <param name="type"></param> + /// <returns></returns> + public virtual object ReadValuePoint(string fullAddress, Type type = default(Type)) + { + return null; + } + + /// <summary> + /// 鑾峰彇鏈�缁堢殑DB鍧楀湴鍧� + /// </summary> + /// <param name="dbNumber"></param> + /// <param name="offset"></param> + /// <param name="type"></param> + /// <returns></returns> + public virtual string GetAddress(string dbNumber, string offset, Type type = default(Type)) + { + return null; + } + + /// <summary> + /// 鍏抽棴杩炴帴 + /// </summary> + public virtual void Close() + { + + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/Siemens_HslCommunicationService.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/Siemens_HslCommunicationService.cs new file mode 100644 index 0000000..87fb788 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/DataCaptureHandler/PLCDataCapture/Siemens_HslCommunicationService.cs @@ -0,0 +1,433 @@ +锘縰sing System; +using System.Net; +using System.Security.Cryptography; +using HslCommunication; +using HslCommunication.Profinet.Siemens; +using iTextSharp.text.pdf; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// 瑗夸箞瀛怭LC + /// </summary> + public class Siemens_HslCommunicationService : PLCService + { + private SiemensS7Net siemensTcpNet = null; + private readonly SiemensPLCS _cpu; + private readonly string _ip; + private readonly int _port; + public Siemens_HslCommunicationService(HslCommunicationParam hslcpParam) + { + _cpu = hslcpParam.cpu; + _ip = hslcpParam.ip; + _port = hslcpParam.port; + + _LogType = LogType.HslCommunicationService; + } + /// <summary> + /// 鎵撳紑杩炴帴 + /// </summary> + /// <returns></returns> + public override MessageModel OpenService() + { + MessageModel fre = new MessageModel(); + try + { + //鍒涘缓杩炴帴瀵硅薄 + siemensTcpNet = new SiemensS7Net(_cpu, _ip); + siemensTcpNet.IpAddress = _ip; + siemensTcpNet.Port = Convert.ToInt16(_port); + //siemensTcpNet.Rack = Convert.ToInt16(tb_Rack.Text); + //siemensTcpNet + //涓嶈褰曟棩蹇楋紒锛侊紒锛佸惁鍒欐枃浠跺お澶у鑷撮棶棰橈紒 + //siemensTcpNet.LogNet = new HslCommunication.LogNet.LogNetSingle("Siemens_HslCommunicationService_logs.txt"); + + OperateResult operateResult = siemensTcpNet.ConnectServer(); + if (operateResult.IsSuccess) + { + base.IsConnected = true; + fre.result = true; + return fre; + } + base.IsConnected = false; + fre.result = false; + fre.resMsg = "鎵撳紑澶辫触," + operateResult.Message; + return fre; + } + catch (Exception ex) + { + base.IsConnected = false; + Log4NetHelper.WriteErrorLog(_LogType, "鍒濆鍖栬タ闂ㄥ瓙PLC鍑虹幇寮傚父", ex); + throw ex; + } + } + + public override MessageModel WriteValuePointNew(string dbNumber, string offset, object value) + {//姝ゆ柟娉曚笉鍐嶄娇鐢ㄨタ闂ㄥ瓙PLC + if (dbNumber.IndexOf(SystemValue.PLCDBADDRESS_SEPARATE.ToString()) > -1) + { + throw new Exception("鍙傛暟涓嶆纭紝涓嶅簲璇ュ甫" + SystemValue.PLCDBADDRESS_SEPARATE.ToString()); + } + MessageModel fre = new MessageModel(); + OperateResult operateResult = null; + //Type proObjType = proObj.GetType(); + var address = GetAddress(dbNumber, offset, value.GetType()); + try + { + if (value is bool) + { + bool myData = Convert.ToBoolean(value); + operateResult = siemensTcpNet.Write(address, myData); + } + else if (value is int) + { + operateResult = siemensTcpNet.Write(address, Int16.Parse(value.ToString())); + } + else if (value is short) + { + operateResult = siemensTcpNet.Write(address, (short)value); + } + else if (value is string) + { + operateResult = siemensTcpNet.Write(address, (string)value); + } + else if (value is char) + { + operateResult = siemensTcpNet.Write(address, (char)value); + } + else if (value is double|| value is float) + { + operateResult = siemensTcpNet.Write(address, (double)value); + } + else + { + operateResult = siemensTcpNet.Write(address, value.ToString()); + } + if (!operateResult.IsSuccess) + { + Log4NetHelper.WriteErrorLog(_LogType, String.Format("鍐欏叆鍑虹幇寮傚父:" + operateResult.Message + "锛屽湴鍧�:{0},鍊�:{1}", address, value.ToString()), null); + fre.result = false; + fre.resMsg = "鍐欏叆澶辫触:" + operateResult.Message; + } + else + { + fre.result = true; + //Log4NetHelper.WriteInfoLog(_LogType, String.Format("鍐欏叆鎴愬姛锛屽啓鍏ュ湴鍧�:{0},鍊�:{1}", address, value.ToString())); + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(_LogType, String.Format("鍐欏叆鍑虹幇寮傚父:" + ex.Message + "锛屽湴鍧�:{0},鍊�:{1}", address, value.ToString()), ex); + fre.result = false; + fre.resMsg = "鍐欏叆澶辫触:" + ex.Message; + } + return fre; + } + /// <summary> + /// 鍐欏叆 + /// </summary> + /// <param name="address">鍦板潃</param> + /// <param name="value">鍊�</param> + /// <returns></returns> + public override MessageModel WriteValuePoint(string dbNumber, string offset, object value, Object proObj) + {//姝ゆ柟娉曚笉鍐嶄娇鐢ㄨタ闂ㄥ瓙PLC + if (dbNumber.IndexOf(SystemValue.PLCDBADDRESS_SEPARATE.ToString()) > -1) + { + throw new Exception("鍙傛暟涓嶆纭紝涓嶅簲璇ュ甫" + SystemValue.PLCDBADDRESS_SEPARATE.ToString()); + } + MessageModel fre = new MessageModel(); + OperateResult operateResult = null; + Type proObjType = proObj.GetType(); + var address = GetAddress(dbNumber, offset, value.GetType()); + try + { + if (proObjType == typeof(Boolean)) + {//甯冨皵绫诲瀷 + bool myData = Convert.ToBoolean(value); + operateResult = siemensTcpNet.Write(address, myData); + } + //娴偣 + else if (proObjType == typeof(double) || proObjType == typeof(float)) + { + double MyData = Convert.ToDouble(value); + operateResult = siemensTcpNet.Write(address, MyData); + + } + //鏁存暟 + else if (proObjType == typeof(Int16) || proObjType == typeof(short)) + { + short MyData = Convert.ToInt16(value); + operateResult = siemensTcpNet.Write(address, MyData);//姝ゅ闇�瑕佹敞鎰忥紝鐭暣鍨嬬殑姝ゅ涓嶇‘瀹氭槸鍚︿細鎶ラ敊锛岄渶瑕佹祴璇� + //operateResult = siemensTcpNet.Write(address, MyData.ConvertToUshort()); + } + //鍙屾暣鏁� + else if (proObjType == typeof(Int32)) + { + int myData = Convert.ToInt32(value); + operateResult = siemensTcpNet.Write(address, myData); + } + //Char + else if (proObjType == typeof(Char)) + {//char瑕佽浆鎹㈡垚int绫诲瀷锛屽啓缁橮LC + int myData = Convert.ToInt32(value); + byte b = (byte)myData; + operateResult = siemensTcpNet.Write(address, b); + } + //String + else if (proObjType == typeof(String)) + { + operateResult = siemensTcpNet.Write(address, value.ToString()); + } + else + { + operateResult = siemensTcpNet.Write(address, value.ToString()); + } + if (!operateResult.IsSuccess) + { + Log4NetHelper.WriteErrorLog(_LogType, String.Format("鍐欏叆鍑虹幇寮傚父:" + operateResult.Message + "锛屽湴鍧�:{0},鍊�:{1}", address, value.ToString()), null); + fre.result = false; + fre.resMsg = "鍐欏叆澶辫触:" + operateResult.Message; + } + else + { + fre.result = true; + //Log4NetHelper.WriteInfoLog(_LogType, String.Format("鍐欏叆鎴愬姛锛屽啓鍏ュ湴鍧�:{0},鍊�:{1}", address, value.ToString())); + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(_LogType, String.Format("鍐欏叆鍑虹幇寮傚父:" + ex.Message + "锛屽湴鍧�:{0},鍊�:{1}", address, value.ToString()), ex); + fre.result = false; + fre.resMsg = "鍐欏叆澶辫触:" + ex.Message; + } + return fre; + } + + public override MessageModel WriteValuePoint(string fullAddress, object value, object proObj) + { + var arr = fullAddress.Split(SystemValue.PLCDBADDRESS_SEPARATE); + string dbNumber = arr[0]; + string offset = arr[1]; + return WriteValuePoint(dbNumber, offset, value, proObj); + } + + /// <summary> + /// 璇诲彇 + /// </summary> + /// <param name="dbNumber">DB鍧楀悕</param> + /// <param name="offset">鍋忕Щ閲�</param> + /// <param name="type"></param> + /// <returns></returns> + public override object ReadValuePoint(string dbNumber, string offset, int stringlen, Type type = default(Type)) + { + if (dbNumber.IndexOf(SystemValue.PLCDBADDRESS_SEPARATE.ToString()) > -1) + { + throw new Exception("鍙傛暟涓嶆纭紝涓嶅簲璇ュ甫" + SystemValue.PLCDBADDRESS_SEPARATE.ToString()); + } + var address = GetAddress(dbNumber, offset, type); + try + { + if (type == typeof(bool)) + {//甯冨皵瑕佽浆鎹㈡垚1鍜�0鍐欏叆 + bool MyPlcData = siemensTcpNet.ReadBool(address).Content; + return MyPlcData; + } + //娴偣 + else if (type == typeof(double) || type == typeof(float)) + { + var MyPlcData = siemensTcpNet.ReadFloat(address).Content; + return MyPlcData; + + } + //鏁存暟 + else if (type == typeof(short)) + { + int MyPlcData = siemensTcpNet.ReadInt16(address).Content; + return MyPlcData; + } + //鍙屾暣鏁� + else if (type == typeof(Int32)) + { + long MyPlcData = siemensTcpNet.ReadInt32(address).Content; + return MyPlcData; + } + //Char + else if (type == typeof(Char)) + {//char瑕佽浆鎹㈡垚int绫诲瀷锛屽啓缁橮LC + char MyPlcData = (char)(siemensTcpNet.ReadByte(address).Content); + return MyPlcData.ToString(); + } + //String + else if (type == typeof(String)) + { + var data = siemensTcpNet.ReadString(address, (ushort)stringlen); + var MyPlcData = siemensTcpNet.ReadString(address, (ushort)stringlen).Content; + //write.Message = siemensTcpNet.ReadString(write.Name).Message; + + //string MyPlcData = siemensTcpNet.ReadString(address).Content; + return MyPlcData == null ? "" : MyPlcData.ToString(); + } + else + { + var MyPlcData = siemensTcpNet.ReadString(address).Content; + return MyPlcData == null ? "" : MyPlcData.ToString(); + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(_LogType, String.Format("璇诲彇鍑虹幇寮傚父:" + ex.Message + "锛屽湴鍧�:{0}", address), ex); + throw; + } + } + /// <summary> + /// 璇诲彇 + /// </summary> + /// <param name="dbNumber">DB鍧楀悕</param> + /// <param name="offset">鍋忕Щ閲�</param> + /// <param name="type"></param> + /// <returns></returns> + public override object ReadValuePoint(string dbNumber, string offset, Type type = default(Type)) + { + if (dbNumber.IndexOf(SystemValue.PLCDBADDRESS_SEPARATE.ToString()) > -1) + { + throw new Exception("鍙傛暟涓嶆纭紝涓嶅簲璇ュ甫" + SystemValue.PLCDBADDRESS_SEPARATE.ToString()); + } + var address = GetAddress(dbNumber, offset, type); + try + { + if (type == typeof(bool)) + {//甯冨皵瑕佽浆鎹㈡垚1鍜�0鍐欏叆 + var MyPlcData11 = siemensTcpNet.ReadBool(address); + bool MyPlcData = siemensTcpNet.ReadBool(address).Content; + return MyPlcData; + } + //娴偣 + else if (type == typeof(double) || type == typeof(float)) + { + var MyPlcData = siemensTcpNet.ReadFloat(address).Content; + return MyPlcData; + + } + //鏁存暟 + else if (type == typeof(short)) + { + int MyPlcData = siemensTcpNet.ReadInt16(address).Content; + return MyPlcData; + } + //鍙屾暣鏁� + else if (type == typeof(Int32)) + { + long MyPlcData = siemensTcpNet.ReadInt32(address).Content; + return MyPlcData; + } + //Char + else if (type == typeof(Char)) + {//char瑕佽浆鎹㈡垚int绫诲瀷锛屽啓缁橮LC + char MyPlcData = (char)(siemensTcpNet.ReadByte(address).Content); + return MyPlcData.ToString(); + } + //String + else if (type == typeof(String)) + { + string MyPlcData = siemensTcpNet.ReadString(address).Content; + return MyPlcData == null ? "" : MyPlcData.ToString(); + } + else + { + var MyPlcData = siemensTcpNet.ReadString(address).Content; + return MyPlcData == null ? "" : MyPlcData.ToString(); + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(_LogType, String.Format("璇诲彇鍑虹幇寮傚父:" + ex.Message + "锛屽湴鍧�:{0}", address), ex); + throw; + } + } + + + public override object ReadValuePointV2(string fullAddress, Type type = default(Type), int stringlen=0) + { + if (fullAddress.IndexOf(SystemValue.PLCDBADDRESS_SEPARATE.ToString()) > -1) + { + throw new Exception("鍙傛暟涓嶆纭紝涓嶅簲璇ュ甫" + SystemValue.PLCDBADDRESS_SEPARATE.ToString()); + } + var address = fullAddress; + + try + { + if (type == typeof(bool)) + {//甯冨皵瑕佽浆鎹㈡垚1鍜�0鍐欏叆 + bool MyPlcData = siemensTcpNet.ReadBool(address).Content; + return MyPlcData; + } + //娴偣 + else if (type == typeof(double) || type == typeof(float)) + { + var MyPlcData = siemensTcpNet.ReadFloat(address).Content; + return MyPlcData; + + } + //鏁存暟 + else if (type == typeof(short)) + { + int MyPlcData = siemensTcpNet.ReadInt16(address).Content; + return MyPlcData; + } + //鍙屾暣鏁� + else if (type == typeof(Int32)) + { + long MyPlcData = siemensTcpNet.ReadInt32(address).Content; + return MyPlcData; + } + //Char + else if (type == typeof(Char)) + {//char瑕佽浆鎹㈡垚int绫诲瀷锛屽啓缁橮LC + char MyPlcData = (char)(siemensTcpNet.ReadByte(address).Content); + return MyPlcData.ToString(); + } + //String + else if (type == typeof(String)) + { + var data = siemensTcpNet.ReadString(address, (ushort)stringlen); + var MyPlcData = siemensTcpNet.ReadString(address, (ushort)stringlen).Content; + //write.Message = siemensTcpNet.ReadString(write.Name).Message; + + //string MyPlcData = siemensTcpNet.ReadString(address).Content; + return MyPlcData == null ? "" : MyPlcData.ToString(); + } + else + { + var MyPlcData = siemensTcpNet.ReadString(address).Content; + return MyPlcData == null ? "" : MyPlcData.ToString(); + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(_LogType, String.Format("璇诲彇鍑虹幇寮傚父:" + ex.Message + "锛屽湴鍧�:{0}", address), ex); + throw; + } + } + public override object ReadValuePoint(string fullAddress, Type type = default(Type)) + { + var arr = fullAddress.Split(SystemValue.PLCDBADDRESS_SEPARATE); + string dbNumber = arr[0]; + string offset = arr[1]; + return ReadValuePoint(dbNumber, offset, type); + } + + + public override string GetAddress(string dbNumber, string offset, Type type = default(Type)) + { + return "DB" + dbNumber + "." + offset; + } + + public override void Close() + { + if (siemensTcpNet != null) + siemensTcpNet.ConnectClose(); + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/AssemblyInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f8254fb --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +锘縰sing System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅 +// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼 +// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭�� +[assembly: AssemblyTitle("iWare_SCADA_BusinessLogical")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("iWare_SCADA_BusinessLogical")] +[assembly: AssemblyCopyright("Copyright 漏 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷 +//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷 +//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆� +[assembly: ComVisible(false)] + +// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID +[assembly: Guid("32708f19-fe1a-48f5-b373-8e1c776f216c")] + +// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�: +// +// 涓荤増鏈� +// 娆$増鏈� +// 鐢熸垚鍙� +// 淇鍙� +// +//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊� +//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/Resources.Designer.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/Resources.Designer.cs new file mode 100644 index 0000000..96e1af7 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/Resources.Designer.cs @@ -0,0 +1,72 @@ +锘�//------------------------------------------------------------------------------ +// <auto-generated> +// 姝や唬鐮佺敱宸ュ叿鐢熸垚銆� +// 杩愯鏃剁増鏈�:4.0.30319.42000 +// +// 瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋� +// 閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace iWare_SCADA_BusinessLogical.Properties { + using System; + + + /// <summary> + /// 涓�涓己绫诲瀷鐨勮祫婧愮被锛岀敤浜庢煡鎵炬湰鍦板寲鐨勫瓧绗︿覆绛夈�� + /// </summary> + // 姝ょ被鏄敱 StronglyTypedResourceBuilder + // 绫婚�氳繃绫讳技浜� ResGen 鎴� Visual Studio 鐨勫伐鍏疯嚜鍔ㄧ敓鎴愮殑銆� + // 鑻ヨ娣诲姞鎴栫Щ闄ゆ垚鍛橈紝璇风紪杈� .ResX 鏂囦欢锛岀劧鍚庨噸鏂拌繍琛� ResGen + // (浠� /str 浣滀负鍛戒护閫夐」)锛屾垨閲嶆柊鐢熸垚 VS 椤圭洰銆� + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// <summary> + /// 杩斿洖姝ょ被浣跨敤鐨勭紦瀛樼殑 ResourceManager 瀹炰緥銆� + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("iWare_SCADA_BusinessLogical.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// 閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�э紝瀵� + /// 浣跨敤姝ゅ己绫诲瀷璧勬簮绫荤殑鎵�鏈夎祫婧愭煡鎵炬墽琛岄噸鍐欍�� + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// <summary> + /// 鏌ユ壘绫讳技 C:\LOG_BusinessLogical 鐨勬湰鍦板寲瀛楃涓层�� + /// </summary> + internal static string LogDir { + get { + return ResourceManager.GetString("LogDir", resourceCulture); + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/Resources.resx b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/Resources.resx new file mode 100644 index 0000000..77d2a76 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Properties/Resources.resx @@ -0,0 +1,123 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="LogDir" xml:space="preserve"> + <value>C:\LOG_BusinessLogical</value> + </data> +</root> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Test/MyTest.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Test/MyTest.cs new file mode 100644 index 0000000..ab2df50 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Test/MyTest.cs @@ -0,0 +1,134 @@ +锘縰sing HslCommunication.Profinet.Siemens; +using iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using Newtonsoft.Json.Linq; +using Spire.Pdf.HtmlConverter; +using System; +using System.Collections.Generic; +using System.Data.Entity.Core.Common.CommandTrees; +using System.Data.Entity.Validation; +using System.Data.SqlTypes; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical +{ + /// <summary> + /// 娴嬭瘯鍐呭 + /// </summary> + public class MyTest + { + public static readonly MyTest Instance = new MyTest(); + + string WorkingProcedure = ""; + public MyTest() + { + } + + + + public void DataCaptureStart() + { + DataCaptureConfig _dataCaptureConfig = new DataCaptureConfig() + { + DataCapturePLCType = (int)SiemensPLCS.S1200, + PLCIP = "192.168.216.5", + PLCPort = 102, + + DbNumber = "1141", + Offset = "746.0", + DataCaptureColumnType = "string" + }; + var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); + if (plcService == null) + { + SystemValue.lbl_Alert_HMIBeartBeatMonitor = $"{RandomHelper.GenerateRandomCode(4)} 娌℃湁鎵惧埌{_dataCaptureConfig.WorkingProcedure}鐨凱LC璁惧"; + return; + } + if (plcService != null && !plcService.IsConnected) + { + plcService.Close(); + plcService.OpenService(); + } + + var str = $"璇诲彇OP35涓婄嚎浜岀淮鐮�"; + var str2 = $"璇诲彇OP35涓嬬嚎浜岀淮鐮�"; + + Dictionary<bool, DateTime> beartBeatDic = new Dictionary<bool, DateTime>(); + beartBeatDic.Add(false, DateTime.Now); + bool BeartBeatMonitorflag = true; + while (true) + { + + try + { + + + //_dataCaptureConfig + if (plcService == null || !plcService.IsConnected) + { + SystemValue.lbl_Alert_HMIBeartBeatMonitor = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC杩炴帴宸叉柇寮�锛屾鍦ㄥ皾璇曟墦寮�!"; + plcService.Close(); + plcService.OpenService(); + Thread.Sleep(100); + + continue; + } + else + { + try + {//鑾峰彇璁惧plc鐨勫績璺� + + var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, + PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); + Log4NetHelper.WriteInfoLog(LogType.FormMain, str + $",鍊硷細{value}"); + + var value2 = plcService.ReadValuePoint("4", "920.0", + PLCManger.GetTypeForString("string")); + Log4NetHelper.WriteInfoLog(LogType.FormMain, str2 + $",鍊硷細{value2}"); + + var str3 = $"璇诲彇OP35 SPC浜岀淮鐮�"; + var value3 = plcService.ReadValuePoint("4", "716.0", + PLCManger.GetTypeForString("string")); + Log4NetHelper.WriteInfoLog(LogType.FormMain, str3 + $",鍊硷細{value3}"); + + + var str4 = $"璇诲彇OP35 OP3502A娴嬮噺浜岀淮鐮�"; + var value4 = plcService.ReadValuePoint("2901", "514.0", + PLCManger.GetTypeForString("string")); + Log4NetHelper.WriteInfoLog(LogType.FormMain, str4 + $",鍊硷細{value4}"); + + + var str5 = $"璇诲彇OP35 NOOK鎺ㄥ嚭浜岀淮鐮�"; + var value5 = plcService.ReadValuePoint("4", "818", + PLCManger.GetTypeForString("string")); + Log4NetHelper.WriteInfoLog(LogType.FormMain, str5 + $",鍊硷細{value5}"); + + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.FormMain, str + $",璇诲彇寮傚父1锛�", ex); + } + + } + + } + catch (Exception ex) + { + + Log4NetHelper.WriteErrorLog(LogType.FormMain, str + $",寮傚父锛�", ex); + } + finally + { + Thread.Sleep(1000); + } + } + } + + + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/CSVHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/CSVHelper.cs new file mode 100644 index 0000000..063145f --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/CSVHelper.cs @@ -0,0 +1,144 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + public class CSVHelper + { + /// <summary> + /// 鍐欏叆CSV + /// </summary> + /// <param name="fileName">鏂囦欢鍚�</param> + /// <param name="dt">瑕佸啓鍏ョ殑datatable</param> + public static void WriteCSV(string fileName, DataTable dt) + { + FileStream fs; + StreamWriter sw; + string data = null; + + //鍒ゆ柇鏂囦欢鏄惁瀛樺湪,瀛樺湪灏变笉鍐嶆鍐欏叆鍒楀悕 + if (!File.Exists(fileName)) + { + fs = new FileStream(fileName, FileMode.Create, FileAccess.Write); + sw = new StreamWriter(fs, Encoding.UTF8); + + //鍐欏嚭鍒楀悕绉� + for (int i = 0; i < dt.Columns.Count; i++) + { + data += dt.Columns[i].ColumnName.ToString(); + if (i < dt.Columns.Count - 1) + { + data += ",";//涓棿鐢紝闅斿紑 + } + } + sw.WriteLine(data); + } + else + { + fs = new FileStream(fileName, FileMode.Append, FileAccess.Write); + sw = new StreamWriter(fs, Encoding.UTF8); + } + + //鍐欏嚭鍚勮鏁版嵁 + for (int i = 0; i < dt.Rows.Count; i++) + { + data = null; + for (int j = 0; j < dt.Columns.Count; j++) + { + data += dt.Rows[i][j].ToString(); + if (j < dt.Columns.Count - 1) + { + data += ",";//涓棿鐢紝闅斿紑 + } + } + sw.WriteLine(data); + } + sw.Close(); + fs.Close(); + } + + + public static List<string> ReadCSVList(string fileName) + { + + List<string> dt = new List<string>(); + FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); + StreamReader sr = new StreamReader(fs, Encoding.UTF8); + + //璁板綍姣忔璇诲彇鐨勪竴琛岃褰� + string strLine = null; + + //閫愯璇诲彇CSV鏂囦欢 + while ((strLine = sr.ReadLine()) != null) + { + strLine = strLine.Trim();//鍘婚櫎澶村熬绌烘牸 + dt.Add(strLine); + } + sr.Close(); + fs.Close(); + + return dt; + } + + /// <summary> + /// 璇诲彇CSV鏂囦欢 + /// </summary> + /// <param name="fileName">鏂囦欢璺緞</param> + public static DataTable ReadCSV(string fileName) + { + DataTable dt = new DataTable(); + FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); + StreamReader sr = new StreamReader(fs, Encoding.Default); + + //璁板綍姣忔璇诲彇鐨勪竴琛岃褰� + string strLine = null; + //璁板綍姣忚璁板綍涓殑鍚勫瓧娈靛唴瀹� + string[] arrayLine = null; + //鍒嗛殧绗� + string[] separators = { "," }; + char[] separators2 = { ',' }; + //鍒ゆ柇锛岃嫢鏄涓�娆★紝寤虹珛琛ㄥご + bool isFirst = true; + + //閫愯璇诲彇CSV鏂囦欢 + while ((strLine = sr.ReadLine()) != null) + { + strLine = strLine.Trim();//鍘婚櫎澶村熬绌烘牸 + //arrayLine = strLine.Split(separators, StringSplitOptions.RemoveEmptyEntries);//鍒嗛殧瀛楃涓诧紝杩斿洖鏁扮粍 + arrayLine = strLine.Split(separators2);//鍒嗛殧瀛楃涓诧紝杩斿洖鏁扮粍 + int dtColumns = arrayLine.Length;//鍒楃殑涓暟 + + if (isFirst) //寤虹珛琛ㄥご + { + for (int i = 0; i < dtColumns; i++) + { + dt.Columns.Add(arrayLine[i]);//姣忎竴鍒楀悕绉� + } + isFirst = false; + } + else //琛ㄥ唴瀹� + { + DataRow dataRow = dt.NewRow();//鏂板缓涓�琛� + for (int j = 0; j < dtColumns; j++) + { + if(j+1> dataRow.ItemArray.Count()) + { + break; + } + dataRow[j] = arrayLine[j]; + } + dt.Rows.Add(dataRow);//娣诲姞涓�琛� + } + } + sr.Close(); + fs.Close(); + + return dt; + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/ComboBoxHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/ComboBoxHelper.cs new file mode 100644 index 0000000..683e9e0 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/ComboBoxHelper.cs @@ -0,0 +1,29 @@ +锘� +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// ComboBox甯姪绫� + /// </summary> + public class ComboBoxHelper + { + /// <summary> + /// 鑾峰彇涓嬫媺妗嗙殑閫夋嫨鐨勬暟鎹� + /// </summary> + /// <param name="cmb"></param> + /// <returns></returns> + public static string GetComboxSelectValue(System.Windows.Forms.ComboBox cmb, ref ListItem selProFlag) + { + selProFlag = (ListItem)cmb.SelectedItem; + var sselProFlagValue = selProFlag.Value; + return sselProFlagValue; + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/ConfigHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/ConfigHelper.cs new file mode 100644 index 0000000..895ee53 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/ConfigHelper.cs @@ -0,0 +1,106 @@ +锘縰sing System; +using System.Configuration; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// web.config鎿嶄綔绫� + /// Copyright (C) TBEA.WMS + /// </summary> + public sealed class ConfigHelper + { + /// <summary> + /// 寰楀埌AppSettings涓殑閰嶇疆瀛楃涓蹭俊鎭� + /// </summary> + /// <param name="key"></param> + /// <returns></returns> + public static string GetConfigString(string key) + { + string CacheKey = "AppSettings-" + key; + object objModel = DataCache.GetCache(CacheKey); + if (objModel == null) + { + try + { + objModel = ConfigurationManager.AppSettings[key]; + if (objModel != null) + { + DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(180), TimeSpan.Zero); + } + } + catch + { } + } + return objModel.ToString(); + } + + /// <summary> + /// 寰楀埌AppSettings涓殑閰嶇疆Bool淇℃伅 + /// </summary> + /// <param name="key"></param> + /// <returns></returns> + public static bool GetConfigBool(string key) + { + bool result = false; + string cfgVal = GetConfigString(key); + if(null != cfgVal && string.Empty != cfgVal) + { + try + { + result = bool.Parse(cfgVal); + } + catch(FormatException) + { + // Ignore format exceptions. + } + } + return result; + } + /// <summary> + /// 寰楀埌AppSettings涓殑閰嶇疆Decimal淇℃伅 + /// </summary> + /// <param name="key"></param> + /// <returns></returns> + public static decimal GetConfigDecimal(string key) + { + decimal result = 0; + string cfgVal = GetConfigString(key); + if(null != cfgVal && string.Empty != cfgVal) + { + try + { + result = decimal.Parse(cfgVal); + } + catch(FormatException) + { + // Ignore format exceptions. + } + } + + return result; + } + /// <summary> + /// 寰楀埌AppSettings涓殑閰嶇疆int淇℃伅 + /// </summary> + /// <param name="key"></param> + /// <returns></returns> + public static int GetConfigInt(string key) + { + int result = 0; + string cfgVal = GetConfigString(key); + if(null != cfgVal && string.Empty != cfgVal) + { + try + { + result = int.Parse(cfgVal); + } + catch(FormatException) + { + // Ignore format exceptions. + } + } + + return result; + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/DataCache.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/DataCache.cs new file mode 100644 index 0000000..940ac75 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/DataCache.cs @@ -0,0 +1,45 @@ +锘縰sing System; +using System.Web; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// 缂撳瓨鐩稿叧鐨勬搷浣滅被 + /// Copyright (C) TBEA.WMS + /// </summary> + public class DataCache + { + /// <summary> + /// 鑾峰彇褰撳墠搴旂敤绋嬪簭鎸囧畾CacheKey鐨凜ache鍊� + /// </summary> + /// <param name="CacheKey"></param> + /// <returns></returns> + public static object GetCache(string CacheKey) + { + System.Web.Caching.Cache objCache = HttpRuntime.Cache; + return objCache[CacheKey]; + } + + /// <summary> + /// 璁剧疆褰撳墠搴旂敤绋嬪簭鎸囧畾CacheKey鐨凜ache鍊� + /// </summary> + /// <param name="CacheKey"></param> + /// <param name="objObject"></param> + public static void SetCache(string CacheKey, object objObject) + { + System.Web.Caching.Cache objCache = HttpRuntime.Cache; + objCache.Insert(CacheKey, objObject); + } + + /// <summary> + /// 璁剧疆褰撳墠搴旂敤绋嬪簭鎸囧畾CacheKey鐨凜ache鍊� + /// </summary> + /// <param name="CacheKey"></param> + /// <param name="objObject"></param> + public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration,TimeSpan slidingExpiration ) + { + System.Web.Caching.Cache objCache = HttpRuntime.Cache; + objCache.Insert(CacheKey, objObject,null,absoluteExpiration,slidingExpiration); + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/DateTimeHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/DateTimeHelper.cs new file mode 100644 index 0000000..8bb0a5d --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/DateTimeHelper.cs @@ -0,0 +1,83 @@ +锘� +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Reflection; +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// 鏃ユ湡澶勭悊绫� + /// </summary> + public class DateTimeHelper + { + /// <summary> + /// 缁熶竴鏃堕棿 + /// </summary> + /// <returns></returns> + public static DateTime GetDateTime() + { + return DateTime.Now; + } + /// <summary> + /// 璁$畻涓や釜鏃堕棿鐨勬椂闂村樊锛岃繑鍥炵鏁� + /// </summary> + /// <param name="startTime"></param> + /// <param name="endTime"></param> + /// <param name="msg"></param> + /// <returns></returns> + public static int GetTimeDiffer(DateTime? startTime, DateTime? endTime, ref string msg) + { + if (startTime == null || endTime == null) + { + return 0; + } + TimeSpan ts = ((DateTime)endTime - (DateTime)startTime); + msg = ""; + if (ts.Days != 0) + { + msg += ts.Days + "澶�"; + } + if (ts.Hours != 0) + { + msg += ts.Hours + "灏忔椂"; + } + if (ts.Minutes != 0) + { + msg += ts.Minutes + "鍒嗛挓"; + } + if (ts.Seconds != 0) + { + msg += ts.Seconds + "绉�"; + } + return (int)ts.TotalSeconds; + } + + /// <summary> + /// 杞崲鏃ユ湡鏍煎紡涓哄瓧绗︿覆 + /// </summary> + /// <typeparam name="T"></typeparam> + /// <returns></returns> + public static string ConvertToString(DateTime? dt) + { + if (dt == null) + { + return string.Empty; + } + return Convert.ToDateTime(dt).ToString("yyyy-MM-dd HH:mm:ss"); + } + + /// <summary> + /// 杞崲鏃ユ湡鏍煎紡涓哄瓧绗︿覆 + /// </summary> + /// <typeparam name="T"></typeparam> + /// <returns></returns> + public static string ConvertToStringForOnlyShowTime(DateTime? dt) + { + if (dt == null) + { + return string.Empty; + } + return Convert.ToDateTime(dt).ToString("HH:mm:ss"); + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/EntityPropHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/EntityPropHelper.cs new file mode 100644 index 0000000..b71f315 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/EntityPropHelper.cs @@ -0,0 +1,155 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + public class EntityPropHelper + { + /// <summary> + /// 鍙嶅皠瀹炵幇涓や釜绫荤殑瀵硅薄涔嬮棿鐩稿悓灞炴�х殑鍊肩殑澶嶅埗 + /// 閫傜敤浜庡垵濮嬪寲鏂板疄浣� + /// </summary> + /// <typeparam name="D">杩斿洖鐨勫疄浣�</typeparam> + /// <typeparam name="S">鏁版嵁婧愬疄浣�</typeparam> + /// <param name="s">鏁版嵁婧愬疄浣�</param> + /// <returns>杩斿洖鐨勬柊瀹炰綋</returns> + public static D Mapper<D, S>(S s) + { + D d = Activator.CreateInstance<D>(); //鏋勯�犳柊瀹炰緥 + try + { + var Types = s.GetType();//鑾峰緱绫诲瀷 + var Typed = typeof(D); + foreach (PropertyInfo sp in Types.GetProperties())//鑾峰緱绫诲瀷鐨勫睘鎬у瓧娈� + { + foreach (PropertyInfo dp in Typed.GetProperties()) + { + if (dp.Name == sp.Name && dp.PropertyType == sp.PropertyType && dp.Name != "Error" && dp.Name != "Item")//鍒ゆ柇灞炴�у悕鏄惁鐩稿悓 + { + dp.SetValue(d, sp.GetValue(s, null), null);//鑾峰緱s瀵硅薄灞炴�х殑鍊煎鍒剁粰d瀵硅薄鐨勫睘鎬� + } + } + } + } + catch (Exception ex) + { + throw ex; + } + return d; + } + + } + /// <summary> + /// 鐢ㄤ簬灞炴�у睘鎬ц祴鍊兼搷浣滅殑甯姪绫� + /// </summary> + /// <typeparam name="T">鍘熷璞$被</typeparam> + /// <typeparam name="S">鐩爣瀵硅薄绫�</typeparam> + public class EntityPropHelper<T,S> where T:class where S:class + { + /// <summary> + /// 灏唗涓殑鍚勪釜瀵逛簬鐨勫睘鎬у�艰祴鍊煎埌s涓浉搴旂殑灞炴�� + /// </summary> + /// <param name="t">鍘熷璞�</param> + /// <param name="s">鐩爣瀵硅薄</param> + /// <param name="columnMap">浠涓殑灞炴�у悕涓洪敭锛孲涓殑灞炴�у悕涓哄�肩殑瀛楀吀</param> + public static void CopyProp(T t, S s, Dictionary<string,string> columnMap) + { + Type typeT = typeof(T); + Type typeS = typeof(S); + + var sProps = typeS.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList(); + var sPropDic = new Dictionary<string, PropertyInfo>(); + + var keys = columnMap.Keys; + var values = columnMap.Values; + + //閬嶅巻S鐨勬墍鏈夊睘鎬�,灏嗙鍚堜慨鏀圭殑瀛樺叆瀛楀吀涓� + sProps.ForEach(p => { if (values.Contains(p.Name)) { sPropDic.Add(p.Name, p); } }); + + var tProps = typeT.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList(); + var tPropDic = new Dictionary<string, PropertyInfo>(); + + //閬嶅巻S鐨勬墍鏈夊睘鎬�,灏嗙鍚堜慨鏀圭殑瀛樺叆瀛楀吀涓� + tProps.ForEach(p => { if (keys.Contains(p.Name)) { tPropDic.Add(p.Name, p); } }); + + foreach(var key in keys) + { + var propValue = tPropDic[key].GetValue(t, null); + sPropDic[columnMap[key]].SetValue(s, propValue, null); + } + + } + + + ///// <summary> + ///// 灏唖涓殑鍚勪釜瀵逛簬鐨勫睘鎬у�艰祴鍊煎埌t涓浉搴旂殑灞炴�� + ///// </summary> + ///// <param name="t">鐩爣瀵硅薄</param> + ///// <param name="s">鍘熷璞�</param> + ///// <param name="columnMap">浠涓殑灞炴�у悕涓洪敭锛孲涓殑灞炴�у悕涓哄�肩殑瀛楀吀</param> + //public static void CopyProp(S s,T t , Dictionary<string, string> columnMap) + //{ + + + // Type typeT = typeof(T); + // Type typeS = typeof(S); + + // var sProps = typeS.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList(); + // var sPropDic = new Dictionary<string, PropertyInfo>(); + + // var keys = columnMap.Keys; + // var values = columnMap.Values; + + // //閬嶅巻S鐨勬墍鏈夊睘鎬�,灏嗙鍚堜慨鏀圭殑瀛樺叆瀛楀吀涓� + // sProps.ForEach(p => { if (values.Contains(p.Name)) { sPropDic.Add(p.Name, p); } }); + + // var tProps = typeT.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList(); + // var tPropDic = new Dictionary<string, PropertyInfo>(); + + // //閬嶅巻S鐨勬墍鏈夊睘鎬�,灏嗙鍚堜慨鏀圭殑瀛樺叆瀛楀吀涓� + // tProps.ForEach(p => { if (keys.Contains(p.Name)) { tPropDic.Add(p.Name, p); } }); + + // foreach (var key in keys) + // { + // var propValue = sPropDic[columnMap[key]].GetValue(s, null); + + // tPropDic[key].SetValue(t, propValue, null); + // } + + + //} + + /// <summary> + /// 灏唗涓殑鍚勪釜瀵逛簬鐨勫睘鎬у�艰祴鍊煎埌s涓浉搴旂殑灞炴�� + /// </summary> + /// <param name="t">鍘熷璞�</param> + /// <param name="s">鐩爣瀵硅薄</param> + /// <param name="columnMap">浠涓殑灞炴�у悕涓洪敭锛孲涓殑灞炴�у悕涓哄�肩殑瀛楀吀</param> + public static void CopyProp(T t, S s,List<string> propNames) + { + Type typeT = typeof(T); + Type typeS = typeof(S); + + var sProps = typeS.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList(); + var sPropDic = new Dictionary<string, PropertyInfo>(); + + + //閬嶅巻S鐨勬墍鏈夊睘鎬�,灏嗙鍚堜慨鏀圭殑瀛樺叆瀛楀吀涓� + sProps.ForEach(p => { if (propNames.Contains(p.Name)) { sPropDic.Add(p.Name, p); } }); + + var tProps = typeT.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList(); + var tPropDic = new Dictionary<string, PropertyInfo>(); + + //閬嶅巻S鐨勬墍鏈夊睘鎬�,灏嗙鍚堜慨鏀圭殑瀛樺叆瀛楀吀涓� + tProps.ForEach(p => { if (propNames.Contains(p.Name)) { tPropDic.Add(p.Name, p); } }); + + foreach (var propName in propNames) + { + var propValue = tPropDic[propName].GetValue(t, null); + sPropDic[propName].SetValue(s, propValue, null); + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/EnumberHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/EnumberHelper.cs new file mode 100644 index 0000000..9d1e4c1 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/EnumberHelper.cs @@ -0,0 +1,126 @@ +锘� +using iTextSharp.text.pdf.qrcode; +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Reflection; +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// 鏋氫妇绫� + /// </summary> + public class EnumberHelper + { + /// <summary> + /// 鑾峰彇杞崲鏋氫妇鍊肩殑瀛楃涓� + /// </summary> + /// <param name="mode"></param> + /// <returns></returns> + public static string GetEnumName<T>(int mode) where T : struct + { + T t = default(T); + bool isRight = EnumberHelper.GetEnumObject<T>(mode.ToString(), out t); + if (isRight) + { + return t.ToString(); + } + return ""; + } + + ///// <summary> + ///// 鑾峰彇杞崲鏋氫妇鍊肩殑瀛楃涓� + ///// </summary> + ///// <param name="mode"></param> + ///// <returns></returns> + //public static T GetEnum<T>(int mode) where T : struct + //{ + // T t = default(T); + // bool isRight = EnumberHelper.GetEnumObject<T>(mode.ToString(), out t); + // if (isRight) + // { + // return t; + // } + // throw new Exception("杞崲澶辫触"); + //} + + /// <summary> + /// 鏍规嵁鏋氫妇鍊艰浆鎹㈡灇涓� + /// </summary> + /// <typeparam name="T"></typeparam> + /// <param name="enumValue"></param> + /// <returns></returns> + public static bool GetEnumObject<T>(string enumValue, out T t) where T : struct + { + bool right = Enum.TryParse(enumValue.ToString(), out t); + if (right) + { + // 闇�瑕侀�氳繃姝ゆ柟娉曞啀娆$‘瀹氭槸鍚︽槸鏋氫妇瀹為檯瀹氫箟鐨勫唴瀹� + if (!Enum.IsDefined(typeof(T), t)) + { + return false; + } + return true; + } + else + { + return false; + } + } + + public static T GetEnumForString<T>(string enumValue) where T : struct + { + T t = default(T); + bool isRight = EnumberHelper.GetEnumObject<T>(enumValue, out t); + return t; + + } + + /// <summary> + /// 鏋氫妇杞泦鍚� + /// </summary> + /// <typeparam name="T"></typeparam> + /// <returns></returns> + public static List<EnumberEntity> EnumToList<T>() + { + List<EnumberEntity> list = new List<EnumberEntity>(); + + foreach (var e in Enum.GetValues(typeof(T))) + { + EnumberEntity m = new EnumberEntity(); + object[] objArr = e.GetType().GetField(e.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true); + if (objArr != null && objArr.Length > 0) + { + DescriptionAttribute da = objArr[0] as DescriptionAttribute; + m.Desction = da.Description; + } + m.EnumValue = Convert.ToInt32(e); + m.EnumName = e.ToString(); + list.Add(m); + } + return list; + } + + /// <summary> + /// 鑾峰彇鏋氫妇鐨勬弿杩板睘鎬� + /// </summary> + /// <param name="enumValue">鏋氫妇鍊�</param> + /// <returns>鏋氫妇鐨勬弿杩板睘鎬�</returns> + public static string GetEnumDescription(Enum en) + { + Type type = en.GetType(); //鑾峰彇绫诲瀷 + MemberInfo[] memberInfos = type.GetMember(en.ToString()); //鑾峰彇鎴愬憳 + if (memberInfos != null && memberInfos.Length > 0) + { + DescriptionAttribute[] attrs = memberInfos[0].GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[]; //鑾峰彇鎻忚堪鐗规�� + + if (attrs != null && attrs.Length > 0) + { + return attrs[0].Description; //杩斿洖褰撳墠鎻忚堪 + } + } + return en.ToString(); + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileDirectoryEnumerator.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileDirectoryEnumerator.cs new file mode 100644 index 0000000..ee4bc89 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileDirectoryEnumerator.cs @@ -0,0 +1,569 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// + /// </summary> + /// <remarks> + /// 璋冪敤Win32API鏂规硶 FindFirstFile , FindNextFile锛� FindClose + /// </remarks> + public class FileDirectoryEnumerator : System.Collections.IEnumerator + { + #region 灞炴�� + /// <summary> + /// 褰撳墠瀵硅薄鏂囦欢 + /// </summary> + private object objCurrentObject = null; + private bool bolIsEmpty = false; + /// <summary> + /// 鏄惁鎵句笉鍒版枃浠� + /// </summary> + public bool IsEmpty + { + get { return bolIsEmpty; } + } + private int intSearchedCount = 0; + /// <summary> + /// 鎵惧埌鐨勬枃浠舵暟 + /// </summary> + public int SearchedCount + { + get { return intSearchedCount; } + } + private bool bolIsFile = true; + /// <summary> + /// 鏄惁涓烘枃浠� + /// </summary> + public bool IsFile + { + get { return bolIsFile; } + } + private int intLastErrorCode = 0; + /// <summary> + /// 閿欒浠g爜Win32 + /// </summary> + public int LastErrorCode + { + get { return intLastErrorCode; } + } + /// <summary> + /// 鏂囦欢鍚嶇О + /// </summary> + public string Name + { + get + { + if (this.objCurrentObject != null) + { + if (objCurrentObject is string) + return (string)this.objCurrentObject; + else + return ((System.IO.FileSystemInfo)this.objCurrentObject).Name; + } + return null; + } + } + /// <summary> + /// 鏂囦欢灞炴�� + /// </summary> + public System.IO.FileAttributes Attributes + { + get { return (System.IO.FileAttributes)myData.dwFileAttributes; } + } + /// <summary> + /// 鏂囦欢鍒涘缓鏃堕棿 + /// </summary> + public System.DateTime CreationTime + { + get + { + //long time = ToLong(myData.ftCreationTime_dwHighDateTime, + // myData.ftCreationTime_dwLowDateTime); + //System.DateTime dtm = System.DateTime.FromFileTimeUtc(time); + //return dtm.ToLocalTime(); + + return ToDateTime(myData.ftCreationTime); + } + } + + /// <summary> + /// 鏂囦欢鏈�鍚庤闂椂闂� + /// </summary> + public System.DateTime LastAccessTime + { + get + { + //long time = ToLong(myData.ftLastAccessTime_dwHighDateTime, + // myData.ftLastAccessTime_dwLowDateTime); + //System.DateTime dtm = System.DateTime.FromFileTimeUtc(time); + //return dtm.ToLocalTime(); + return ToDateTime(myData.ftLastAccessTime); + } + } + /// <summary> + /// 鏂囦欢鏈�鍚庡啓鍏ユ椂闂� + /// </summary> + public System.DateTime LastWriteTime + { + get + { + //long time = ToLong(myData.ftLastWriteTime_dwHighDateTime, + // myData.ftLastWriteTime_dwLowDateTime); + //System.DateTime dtm = System.DateTime.FromFileTimeUtc(time); + //return dtm.ToLocalTime(); + + return ToDateTime(myData.ftLastWriteTime); + } + } + /// <summary> + /// 鏂囦欢澶у皬 + /// </summary> + public long FileLength + { + get + { + if (this.bolIsFile) + return ToLong(myData.nFileSizeHigh, myData.nFileSizeLow); + else + return 0; + } + } + #endregion + #region 鏌ヨ灞炴�� + private bool bolThrowIOException = true; + /// <summary> + /// 鏄惁鎶涘嚭寮傚父 + /// </summary> + public bool ThrowIOException + { + get { return this.bolThrowIOException; } + set { this.bolThrowIOException = value; } + } + private bool bolReturnStringType = true; + /// <summary> + /// 杩斿洖绫诲瀷 + /// </summary> + public bool ReturnStringType + { + get { return bolReturnStringType; } + set { bolReturnStringType = value; } + } + private string strSearchPattern = "*"; + /// <summary> + /// 鏌ヨ鏂囦欢鍚� + /// </summary> + public string SearchPattern + { + get { return strSearchPattern; } + set { strSearchPattern = value; } + } + private string strSearchPath = null; + /// <summary> + /// 鏌ヨ璺緞 + /// </summary> + public string SearchPath + { + get { return strSearchPath; } + set { strSearchPath = value; } + } + private bool bolSearchForFile = true; + /// <summary> + /// 鏌ヨ鏂囦欢 + /// </summary> + public bool SearchForFile + { + get { return bolSearchForFile; } + set { bolSearchForFile = value; } + } + private bool bolSearchForDirectory = true; + /// <summary> + /// 鏌ヨ鏂囦欢澶� + /// </summary> + public bool SearchForDirectory + { + get { return bolSearchForDirectory; } + set { bolSearchForDirectory = value; } + } + //private int? searchCreationTime_High; + //private int? searchCreationTime_Low; + private DateTime? searchCreationTime; + /// <summary> + /// 鏌ヨ鏂囦欢鍒涘缓鏃堕棿鍦ㄨ缃椂闂翠箣鍚庣殑鏂囦欢 + /// </summary> + public DateTime? SearchCreationTime + { + get { return searchCreationTime; } + set + { + searchCreationTime = value; + } + } + + + private DateTime? searchCreationEndTime; + /// <summary> + /// 鏌ヨ鏂囦欢鍒涘缓鏃堕棿鍦ㄨ缃椂闂翠箣鍓嶇殑鏂囦欢 + /// </summary> + public DateTime? SearchCreationEndTime + { + get { return searchCreationEndTime; } + set + { + searchCreationEndTime = value; + } + } + + private DateTime? searchModifyTime; + /// <summary> + /// 鏌ヨ鏂囦欢淇敼鏃堕棿鍦ㄨ缃椂闂翠箣鍚庣殑鏂囦欢 + /// </summary> + public DateTime? SearchModifyTime + { + get { return searchModifyTime; } + set + { + searchModifyTime = value; + } + } + + + private DateTime? searchModifyEndTime; + /// <summary> + /// 鏌ヨ鏂囦欢淇敼鏃堕棿鍦ㄨ缃椂闂翠箣鍓嶇殑鏂囦欢 + /// </summary> + public DateTime? SearchModifyEndTime + { + get { return searchModifyEndTime; } + set + { + searchModifyEndTime = value; + } + } + #endregion + /// <summary> + /// 鍏抽棴鏂囦欢 + /// </summary> + public void Close() + { + this.CloseHandler(); + } + #region IEnumerator + /// <summary> + /// 褰撳墠鏂囦欢 + /// </summary> + public object Current + { + get { return objCurrentObject; } + } + /// <summary> + /// 鏌ヨ涓嬩竴鏂囦欢 + /// </summary> + /// <returns>鏄惁鎴愬姛</returns> + public bool MoveNext() + { + bool success = false; + while (true) + { + if (this.bolStartSearchFlag) + success = this.SearchNext(); + else + success = this.StartSearch(); + + if (success) + { + var time = ToDateTime(myData.ftCreationTime); + if (searchCreationTime.HasValue) + if (time <= searchCreationTime.Value) + continue; + if (searchCreationEndTime.HasValue) + if (time > searchCreationEndTime.Value) + continue; + + + time = ToDateTime(myData.ftLastWriteTime); + if (searchModifyTime.HasValue) + if (time <= searchModifyTime.Value) + continue; + if (searchModifyEndTime.HasValue) + if (time > searchModifyEndTime.Value) + continue; + + if (this.UpdateCurrentObject()) + return true; + } + else + { + this.objCurrentObject = null; + return false; + } + } + } + /// <summary> + /// 閲嶈 + /// </summary> + public void Reset() + { + if (this.strSearchPath == null) + throw new System.ArgumentNullException("SearchPath can not null"); + if (this.strSearchPattern == null || this.strSearchPattern.Length == 0) + this.strSearchPattern = "*"; + this.intSearchedCount = 0; + this.objCurrentObject = null; + this.CloseHandler(); + this.bolStartSearchFlag = false; + this.bolIsEmpty = false; + this.intLastErrorCode = 0; + } + #endregion + #region WIN32API + //[Serializable, System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Auto), System.Runtime.InteropServices.BestFitMapping(false)] + //private struct WIN32_FIND_DATA + //{ + // public int dwFileAttributes; + // public int ftCreationTime_dwLowDateTime; + // public int ftCreationTime_dwHighDateTime; + // public int ftLastAccessTime_dwLowDateTime; + // public int ftLastAccessTime_dwHighDateTime; + // public int ftLastWriteTime_dwLowDateTime; + // public int ftLastWriteTime_dwHighDateTime; + // public int nFileSizeHigh; + // public int nFileSizeLow; + // public int dwReserved0; + // public int dwReserved1; + // [System.Runtime.InteropServices.MarshalAs + // (System.Runtime.InteropServices.UnmanagedType.ByValTStr, + // SizeConst = 260)] + // public string cFileName; + // [System.Runtime.InteropServices.MarshalAs + // (System.Runtime.InteropServices.UnmanagedType.ByValTStr, + // SizeConst = 14)] + // public string cAlternateFileName; + //} + [Serializable, System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Auto), System.Runtime.InteropServices.BestFitMapping(false)] + public struct FILETIME + { + public int dwLowDateTime; + public int dwHighDateTime; + } + + + //[Serializable, System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Auto), System.Runtime.InteropServices.BestFitMapping(false)] + //public struct WIN32_FIND_DATA + //{ + // public int dwFileAttributes; + // public FILETIME ftCreationTime; + // public FILETIME ftLastAccessTime; + // public FILETIME ftLastWriteTime; + // public int nFileSizeHigh; + // public int nFileSizeLow; + // public int dwOID; + // [System.Runtime.InteropServices.MarshalAs + // (System.Runtime.InteropServices.UnmanagedType.ByValTStr, + // SizeConst = 260)] + // public string cFileName; + // [System.Runtime.InteropServices.MarshalAs + // (System.Runtime.InteropServices.UnmanagedType.ByValTStr, + // SizeConst = 14)] + // public string cAlternateFileName; + //} + [Serializable, System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Auto), System.Runtime.InteropServices.BestFitMapping(false)] + public struct WIN32_FIND_DATA + { + public int dwFileAttributes; + public FILETIME ftCreationTime; + public FILETIME ftLastAccessTime; + public FILETIME ftLastWriteTime; + public int nFileSizeHigh; + public int nFileSizeLow; + public int dwReserved0; + public int dwReserved1; + [System.Runtime.InteropServices.MarshalAs + (System.Runtime.InteropServices.UnmanagedType.ByValTStr, + SizeConst = 260)] + public string cFileName; + [System.Runtime.InteropServices.MarshalAs + (System.Runtime.InteropServices.UnmanagedType.ByValTStr, + SizeConst = 14)] + public string cAlternateFileName; + } + + + [System.Runtime.InteropServices.DllImport("kernel32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true)] + private static extern IntPtr FindFirstFile(IntPtr pFileName, ref WIN32_FIND_DATA pFindFileData); + [System.Runtime.InteropServices.DllImport("kernel32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true)] + private static extern bool FindNextFile(IntPtr hndFindFile, ref WIN32_FIND_DATA lpFindFileData); + [System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError = true)] + private static extern bool FindClose(IntPtr hndFindFile); + private static long ToLong(int height, int low) + { + long v = (uint)height; + v = v << 0x20; + v = v | ((uint)low); + return v; + } + + public static DateTime ToDateTime(FILETIME time) + { + return DateTime.FromFileTime(ToLong(time.dwHighDateTime, time.dwLowDateTime)); + } + private static void WinIOError(int errorCode, string str) + { + switch (errorCode) + { + case 80: + throw new System.IO.IOException("IO_FileExists :" + str); + case 0x57: + throw new System.IO.IOException("IOError:" + MakeHRFromErrorCode(errorCode)); + case 0xce: + throw new System.IO.PathTooLongException("PathTooLong:" + str); + case 2: + throw new System.IO.FileNotFoundException("FileNotFound:" + str); + case 3: + throw new System.IO.DirectoryNotFoundException("PathNotFound:" + str); + case 5: + throw new UnauthorizedAccessException("UnauthorizedAccess:" + str); + case 0x20: + throw new System.IO.IOException("IO_SharingViolation:" + str); + } + throw new System.IO.IOException("IOError:" + MakeHRFromErrorCode(errorCode)); + } + private static int MakeHRFromErrorCode(int errorCode) + { + return (-2147024896 | errorCode); + } + + private static readonly IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1); + /// <summary> + /// 鏃犳晥鍙ユ焺 + /// </summary> + private System.IntPtr intSearchHandler = INVALID_HANDLE_VALUE; + private WIN32_FIND_DATA myData = new WIN32_FIND_DATA(); + /// <summary> + /// 鏄惁宸茬粡寮�濮嬫煡璇� + /// </summary> + private bool bolStartSearchFlag = false; + /// <summary> + /// 鍏抽棴 + /// </summary> + private void CloseHandler() + { + if (this.intSearchHandler != INVALID_HANDLE_VALUE) + { + FindClose(this.intSearchHandler); + this.intSearchHandler = INVALID_HANDLE_VALUE; + } + } + /// <summary> + /// 寮�濮嬫煡璇� + /// </summary> + /// <returns></returns> + private bool StartSearch() + { + bolStartSearchFlag = true; + bolIsEmpty = false; + objCurrentObject = null; + intLastErrorCode = 0; + string strPath = System.IO.Path.Combine(strSearchPath, this.strSearchPattern); + this.CloseHandler(); + intSearchHandler = FindFirstFile(System.Runtime.InteropServices.Marshal.StringToHGlobalAuto(strPath), ref myData); + if (intSearchHandler == INVALID_HANDLE_VALUE) + { + intLastErrorCode = System.Runtime.InteropServices.Marshal.GetLastWin32Error(); + if (intLastErrorCode == 2) + { + bolIsEmpty = true; + return false; + } + if (this.bolThrowIOException) + WinIOError(intLastErrorCode, strSearchPath); + else + return false; + } + return true; + } + /// <summary> + /// 鏌ヨ涓嬩竴鏂囦欢 + /// </summary> + /// <returns></returns> + private bool SearchNext() + { + if (bolStartSearchFlag == false) + return false; + if (bolIsEmpty) + return false; + if (intSearchHandler == INVALID_HANDLE_VALUE) + return false; + intLastErrorCode = 0; + if (FindNextFile(intSearchHandler, ref myData) == false) + { + intLastErrorCode = System.Runtime.InteropServices.Marshal.GetLastWin32Error(); + this.CloseHandler(); + if (intLastErrorCode != 0 && intLastErrorCode != 0x12) + { + if (this.bolThrowIOException) + WinIOError(intLastErrorCode, strSearchPath); + else + return false; + } + return false; + } + return true; + } + + /// <summary> + /// 鏇存柊褰撳墠鏂囦欢淇℃伅 + /// </summary> + /// <returns></returns> + private bool UpdateCurrentObject() + { + if (intSearchHandler == INVALID_HANDLE_VALUE) + return false; + bool Result = false; + this.objCurrentObject = null; + if ((myData.dwFileAttributes & 0x10) == 0) + { + // + this.bolIsFile = true; + if (this.bolSearchForFile) + Result = true; + } + else + { + // + this.bolIsFile = false; + if (this.bolSearchForDirectory) + { + if (myData.cFileName == "." || myData.cFileName == "..") + Result = false; + else + Result = true; + } + } + if (Result) + { + if (this.bolReturnStringType) + this.objCurrentObject = myData.cFileName; + else + { + string p = System.IO.Path.Combine(this.strSearchPath, myData.cFileName); + if (this.bolIsFile) + { + this.objCurrentObject = new System.IO.FileInfo(p); + } + else + { + this.objCurrentObject = new System.IO.DirectoryInfo(p); + } + } + this.intSearchedCount++; + } + return Result; + } + #endregion + } + +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileHelper.cs new file mode 100644 index 0000000..9198b67 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileHelper.cs @@ -0,0 +1,399 @@ +锘� +using iTextSharp.text; +using iTextSharp.text.pdf; +using iTextSharp.text.pdf.parser; +using iWare_SCADA_BusinessLogical.Properties; +using Newtonsoft.Json.Linq; +using Spire.Additions.Xps.Schema; +using Spire.Pdf; +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Runtime; +using System.Text; +using Resources = iWare_SCADA_BusinessLogical.Properties.Resources; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// 鏂囦欢甯姪 + /// </summary> + public class FileHelper + { + private static char[] base64CodeArray = new char[] + { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/', '=' + }; + + + + + /// <summary> + /// 鍒ゆ柇涓�涓枃浠舵槸鍚︽槸鍥剧墖 + /// </summary> + /// <param name="name"></param> + /// <returns></returns> + public static bool IsImage(string name) + { + var extension = System.IO.Path.GetExtension(name).ToLower(); + + var imageExtensions = new List<string> { ".jpg", ".png", ".ico", ".tif", ".bmp", ".gif" }; + return imageExtensions.Contains(extension); + } + + /// <summary> + /// 鍒ゆ柇涓�涓枃浠舵槸鍚︿负pdf鏂囦欢 + /// </summary> + /// <param name="name"></param> + /// <returns></returns> + public static bool IsPdf(string name) + { + var extension = System.IO.Path.GetExtension(name).ToLower(); + var pdfExtensions = new List<string> { ".pdf" }; + return pdfExtensions.Contains(extension); + } + + /// <summary> + /// 灏嗘寚瀹氳矾寰勪笅鐨勬枃浠惰浆涓篵yte鏁扮粍 + /// </summary> + /// <param name="path">鎸囧畾璺緞</param> + /// <returns></returns> + public static byte[] GetBytesByFile(string path) + { + try + { + if (!File.Exists(path)) + { + return new byte[0]; + } + + var fileInfo = new FileInfo(path); + byte[] buff = new byte[fileInfo.Length]; + + var fileStream = fileInfo.OpenRead(); + fileStream.Read(buff, 0, int.Parse(fileStream.Length.ToString())); + fileStream.Close(); + return buff; + } + catch (Exception ex) + { + LogTextHelper.WriteLog(Resources.LogDir, "FileHelper", "GetBytesByFile", ex.Message); + return new byte[0]; + } + } + + /// <summary> + /// 灏嗘寚瀹氳矾寰勪笅鐨勫浘鐗囪浆鎴恇ase64瀛楃涓� + /// </summary> + /// <param name="path"></param> + /// <returns></returns> + public static string GetBase64Str(string path) + { + + try + { + + using (MemoryStream ms1 = new MemoryStream()) + { + var bmp1 = new Bitmap(path); + bmp1.Save(ms1, System.Drawing.Imaging.ImageFormat.Jpeg); + byte[] arr1 = new byte[ms1.Length]; + ms1.Position = 0; + ms1.Read(arr1, 0, (int)ms1.Length); + ms1.Close(); + bmp1.Dispose(); + return Convert.ToBase64String(arr1); + } + } + catch (Exception ex) + { + LogTextHelper.WriteLog(Resources.LogDir, "FileHelper", "GetBytesByFile", ex.Message); + return null; + } + } + + + public static string GetBase64Str(Bitmap bitMap) + { + + try + { + + using (MemoryStream ms1 = new MemoryStream()) + { + bitMap.Save(ms1, System.Drawing.Imaging.ImageFormat.Jpeg); + byte[] arr1 = new byte[ms1.Length]; + ms1.Position = 0; + ms1.Read(arr1, 0, (int)ms1.Length); + ms1.Close(); + return Convert.ToBase64String(arr1); + } + } + catch (Exception ex) + { + LogTextHelper.WriteLog(Resources.LogDir, "FileHelper", "GetBytesByFile", ex.Message); + return null; + } + } + + /// <summary> + /// 鏄惁base64瀛楃涓� + /// </summary> + /// <param name="base64Str">瑕佸垽鏂殑瀛楃涓�</param> + /// <param name="bytes">瀛楃涓茶浆鎹㈡垚鐨勫瓧鑺傛暟缁�</param> + /// <returns></returns> + public static bool IsBase64(string base64Str, out byte[] bytes) + { + //string strRegex = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$"; + bytes = null; + if (string.IsNullOrEmpty(base64Str)) + return false; + else + { + if (base64Str.Contains(",")) + base64Str = base64Str.Split(',')[1]; + if (base64Str.Length % 4 != 0) + return false; + if (base64Str.Any(c => !base64CodeArray.Contains(c))) + return false; + } + try + { + bytes = Convert.FromBase64String(base64Str); + return true; + } + catch (FormatException) + { + return false; + } + } + + /// <summary> + /// 鎶奲ase64瀛楃涓茶浆鎹㈡垚Bitmap + /// </summary> + /// <param name="base64Str">瑕佽浆鎹㈢殑base64瀛楃涓�</param> + /// <returns></returns> + public static Bitmap Base64ToBitmap(string base64Str) + { + Bitmap bitmap = null; + byte[] bytes = null; + try + { + if (IsBase64(base64Str, out bytes)) + { + using (MemoryStream stream = new MemoryStream(bytes)) + { + stream.Seek(0, SeekOrigin.Begin);//涓轰簡閬垮厤鏈夋椂鍊欐祦鎸囬拡瀹氫綅閿欒锛屾樉寮忓畾涔変竴涓嬫寚閽堜綅缃� + bitmap = new Bitmap(stream); + } + } + } + catch (Exception) + { + bitmap = null; + } + return bitmap; + } + + + /// <summary> + /// 鍒犻櫎鏂囦欢澶箂trDir涓璶Days澶╀互鍓嶇殑鏂囦欢 + /// </summary> + /// <param name="dir"></param> + /// <param name="days"></param> + public static void DeleteOldFiles(string dir, int days) + { + try + { + if (!Directory.Exists(dir) || days < 1) return; + + var now = DateTime.Now; + foreach (var f in Directory.GetFileSystemEntries(dir).Where(f => File.Exists(f))) + { + var t = File.GetCreationTime(f); + + var elapsedTicks = now.Ticks - t.Ticks; + var elapsedSpan = new TimeSpan(elapsedTicks); + + if (elapsedSpan.TotalDays > days) File.Delete(f); + } + } + catch (Exception) + { + // ignored + } + } + + /// <summary> + /// serch new file + /// </summary> + /// <returns></returns> + public static System.Collections.IEnumerable DetectNewFilesCSV(string MonitorDicPath,int seconds,DateTime startTime,DateTime endTime) + { + FindFiles findFiles; + string localpath = MonitorDicPath; + + findFiles = new FindFiles(); + findFiles.SearchPath = localpath; + findFiles.ReturnStringType = false; + // findFiles.SearchPattern = "*.XML-1"; + findFiles.SearchPattern = "*.csv"; + findFiles.SearchForDirectory = false; + findFiles.SearchForFile = true; + //findFiles.SearchCreationTime = LastTime;//涓嶇瓑浜庢椂闂� + //findFiles.SearchCreationEndTime = DateTime.Now.AddMinutes(-5); + //findFiles.SearchModifyTime = DateTimeHelper.GetDateTime().AddSeconds(-seconds);//涓嶇瓑浜庢椂闂� + findFiles.SearchModifyTime = startTime.AddSeconds(-seconds);//涓嶇瓑浜庢椂闂� + findFiles.SearchModifyEndTime = endTime; + return findFiles; + } + /// <summary> + /// serch new file + /// </summary> + /// <param name="MonitorDicPath"></param> + /// <param name="seconds"></param> + /// <param name="SearchPattern">*.csv</param> + /// <param name="startTime"></param> + /// <param name="endTime"></param> + /// <returns></returns> + public static System.Collections.IEnumerable DetectNewFiles(string MonitorDicPath, string SearchPattern, int seconds, DateTime startTime, DateTime endTime) + { + FindFiles findFiles; + string localpath = MonitorDicPath; + + findFiles = new FindFiles(); + findFiles.SearchPath = localpath; + findFiles.ReturnStringType = false; + // findFiles.SearchPattern = "*.XML-1"; + findFiles.SearchPattern =string.IsNullOrEmpty(SearchPattern)?"*.csv": SearchPattern; + findFiles.SearchForDirectory = false; + findFiles.SearchForFile = true; + //findFiles.SearchCreationTime = LastTime;//涓嶇瓑浜庢椂闂� + //findFiles.SearchCreationEndTime = DateTime.Now.AddMinutes(-5); + //findFiles.SearchModifyTime = DateTimeHelper.GetDateTime().AddSeconds(-seconds);//涓嶇瓑浜庢椂闂� + findFiles.SearchModifyTime = startTime.AddSeconds(-seconds);//涓嶇瓑浜庢椂闂� + findFiles.SearchModifyEndTime = endTime; + return findFiles; + } + + //public static string[] ReadPdf(string path) + //{ + // PdfReader pdfreader = new PdfReader(path); + // string text = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(pdfreader, 1); + // string[] words = text.Split('\n'); + // pdfreader.Close(); + // return words; + + //} + public static string ReadPdfFileForSpire(string fileName, string getPdfValue) + { + try + { + //FreeSpire璇诲彇PDF + PdfReader reader = new PdfReader(fileName); + + int iPageNum = reader.NumberOfPages; + //if (iPageNum <= 10)//Spire瓒呰繃10椤电殑浼氬嚭闂 + //{ + //瀹炰緥鍖杙dfdocment瀵硅薄 + Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument(); + //鍔犺浇pdf鏂囦欢 + doc.LoadFromFile(fileName); + //瀹炰緥鍖栦竴涓猄tringBuilder 瀵硅薄 + StringBuilder content = new StringBuilder(); + //鎻愬彇PDF鎵�鏈夐〉闈㈢殑鏂囨湰 + foreach (PdfPageBase page in doc.Pages) + { + content.Append(page.ExtractText()); + } + var text = content.ToString(); + string[] words = text.Split('\n'); + if (getPdfValue.Equals("Result")) + { + var list = words[0].Split(' '); + //鍙栫涓�琛屾渶鍚庝竴涓�煎氨鏄川閲忕粨鏋� + var Result = list[list.Length - 1].Replace("\r", ""); + return Result; + } + //} + foreach (var item in words) + { + if (item.Contains(getPdfValue)) + { + string[] splitValue = item.Split(':'); + if (splitValue.Count() > 1) + { + var spectlist= splitValue[1].Trim().Split(' '); + return spectlist[0].Trim(); + } + } + } + } + catch(Exception ex) + { + + } + return ""; + } + public static string ReadPdfConntent(string filePath, string getPdfValue) + { + List<string> lst = new List<string>(); + try + { + string pdffilename = filePath; + PdfReader pdfreader = new PdfReader(pdffilename); + PdfReader.unethicalreading = true; + int numberOfPages = pdfreader.NumberOfPages; + + //for (int i = 1; i <= numberOfPages; ++i) + //{ + // lst.Add(iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(pdfreader,i)); + // text.AppendLine(); + //} + + var pdfReader = new PdfReader(pdffilename); + StreamWriter output = new StreamWriter(new FileStream("澶勭悊缁撴灉.txt", FileMode.Create)); + + int pageCount = pdfReader.NumberOfPages; + for (int pg = 1; pg <= pageCount; pg++) + { + ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy(); + var value = PdfTextExtractor.GetTextFromPage(pdfReader, pg, strategy); + value = value.Replace(" ", ""); + Console.WriteLine(value); + output.Write(value); + } + + output.Flush(); + output.Close(); + + string text = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(pdfreader, 1); + + string[] words = text.Split('\n'); + + foreach (var item in words) + { + string value = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(item)); + + if (value.Contains(getPdfValue)) + { + string[] splitValue = value.Split(':'); + lst.Add(splitValue[1].Trim()); + } + } + + pdfreader.Close(); + return lst.First(); + } + catch (Exception ex) + { + throw ex; + } + } + + } +} \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileOperationHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileOperationHelper.cs new file mode 100644 index 0000000..7505281 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FileOperationHelper.cs @@ -0,0 +1,470 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +using System.Runtime.InteropServices; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + public static class FileOperationHelper + { + public static string read(string path) + { + FileStream fin; + if (!File.Exists(path)) fin = File.Create(path); + else fin = new FileStream(path, FileMode.Open, FileAccess.Read); + StreamReader brin = new StreamReader(fin, Encoding.UTF8); + string s = brin.ReadToEnd(); brin.Close(); return s; + } + //public static string oprater(string s) { return s = s + "\r\n" + textBox1.Text + "\r\n" + DateTime.Now.ToString(); } + + public static void save(string s, string path) + { + FileStream fout = new FileStream(path, FileMode.Create, FileAccess.Write); + StreamWriter brout = new StreamWriter(fout, Encoding.Default); + try + { + brout.Write(s); + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + finally + { + brout.Close(); + } + } + + public static string ReadFileToString(FileInfo file) + { + StreamReader sr = null; + string fileContent = string.Empty; + try + { + sr = File.OpenText(file.FullName); + fileContent = sr.ReadToEnd(); + } + catch { } + finally + { + if (sr != null) + sr.Close(); + sr = null; + } + + return fileContent; + } + + + #region 銆愬唴閮ㄧ被鍨嬪畾涔夈�� + private struct SHFILEOPSTRUCT + { + public IntPtr hwnd; //鐖剁獥鍙e彞鏌� + public wFunc wFunc; //瑕佹墽琛岀殑鍔ㄤ綔 + public string pFrom; //婧愭枃浠惰矾寰勶紝鍙互鏄涓枃浠讹紝浠ョ粨灏剧鍙�"\0"缁撴潫 + public string pTo; //鐩爣璺緞锛屽彲浠ユ槸璺緞鎴栨枃浠跺悕 + public FILEOP_FLAGS fFlags; //鏍囧織锛岄檮鍔犻�夐」 + public bool fAnyOperationsAborted; //鏄惁鍙涓柇 + public IntPtr hNameMappings; //鏂囦欢鏄犲皠鍚嶅瓧锛屽彲鍦ㄥ叾瀹� Shell 鍑芥暟涓娇鐢� + public string lpszProgressTitle; // 鍙湪 FOF_SIMPLEPROGRESS 鏃讹紝鎸囧畾瀵硅瘽妗嗙殑鏍囬銆� + } + + private enum wFunc + { + FO_MOVE = 0x0001, //绉诲姩鏂囦欢 + FO_COPY = 0x0002, //澶嶅埗鏂囦欢 + FO_DELETE = 0x0003, //鍒犻櫎鏂囦欢锛屽彧鏄敤pFrom + FO_RENAME = 0x0004 //鏂囦欢閲嶅懡鍚� + } + + private enum FILEOP_FLAGS + { + FOF_MULTIDESTFILES = 0x0001, //pTo 鎸囧畾浜嗗涓洰鏍囨枃浠讹紝鑰屼笉鏄崟涓洰褰� + FOF_CONFIRMMOUSE = 0x0002, + FOF_SILENT = 0x0044, // 涓嶆樉绀轰竴涓繘搴﹀璇濇 + FOF_RENAMEONCOLLISION = 0x0008, // 纰板埌鏈夋姷瑙︾殑鍚嶅瓧鏃讹紝鑷姩鍒嗛厤鍓嶇紑 + FOF_NOCONFIRMATION = 0x10, // 涓嶅鐢ㄦ埛鏄剧ず鎻愮ず + FOF_WANTMAPPINGHANDLE = 0x0020, // 濉厖 hNameMappings 瀛楁锛屽繀椤讳娇鐢� SHFreeNameMappings 閲婃斁 + FOF_ALLOWUNDO = 0x40, // 鍏佽鎾ら攢 + FOF_FILESONLY = 0x0080, // 浣跨敤 *.* 鏃�, 鍙鏂囦欢鎿嶄綔 + FOF_SIMPLEPROGRESS = 0x0100, // 绠�鍗曡繘搴︽潯锛屾剰鍛宠�呬笉鏄剧ず鏂囦欢鍚嶃�� + FOF_NOCONFIRMMKDIR = 0x0200, // 寤烘柊鐩綍鏃朵笉闇�瑕佺敤鎴风‘瀹� + FOF_NOERRORUI = 0x0400, // 涓嶆樉绀哄嚭閿欑敤鎴风晫闈� + FOF_NOCOPYSECURITYATTRIBS = 0x0800, // 涓嶅鍒� NT 鏂囦欢鐨勫畨鍏ㄥ睘鎬� + FOF_NORECURSION = 0x1000 // 涓嶉�掑綊鐩綍 + } + #endregion 銆愬唴閮ㄧ被鍨嬪畾涔夈�� + + #region 銆怐llImport銆� + + [DllImport("shell32.dll")] + private static extern int SHFileOperation(ref SHFILEOPSTRUCT lpFileOp); + + #endregion 銆怐llImport銆� + + #region 銆愬垹闄ゆ枃浠舵搷浣溿�� + /// <summary> + /// 鍒犻櫎鍗曚釜鏂囦欢銆� + /// </summary> + /// <param name="fileName">鍒犻櫎鐨勬枃浠跺悕</param> + /// <param name="toRecycle">鎸囩ず鏄皢鏂囦欢鏀惧叆鍥炴敹绔欒繕鏄案涔呭垹闄わ紝true-鏀惧叆鍥炴敹绔欙紝false-姘镐箙鍒犻櫎</param> + /// <param name="showDialog">鎸囩ず鏄惁鏄剧ず纭瀵硅瘽妗嗭紝true-鏄剧ず纭鍒犻櫎瀵硅瘽妗嗭紝false-涓嶆樉绀虹‘璁ゅ垹闄ゅ璇濇</param> + /// <param name="showProgress">鎸囩ず鏄惁鏄剧ず杩涘害瀵硅瘽妗嗭紝true-鏄剧ず锛宖alse-涓嶆樉绀恒�傝鍙傛暟褰撴寚瀹氭案涔呭垹闄ゆ枃浠舵椂鏈夋晥</param> + /// <param name="errorMsg">鍙嶉閿欒娑堟伅鐨勫瓧绗︿覆</param> + /// <returns>鎿嶄綔鎵ц缁撴灉鏍囪瘑锛屽垹闄ゆ枃浠舵垚鍔熻繑鍥�0锛屽惁鍒欙紝杩斿洖閿欒浠g爜</returns> + public static int DeleteFile(string fileName, bool toRecycle, bool showDialog, bool showProgress, ref string errorMsg) + { + try + { + string fName = GetFullName(fileName); + return ToDelete(fName, toRecycle, showDialog, showProgress, ref errorMsg); + } + catch (Exception ex) + { + errorMsg = ex.Message; + return -200; + } + } + + /// <summary> + /// 鍒犻櫎涓�缁勬枃浠躲�� + /// </summary> + /// <param name="fileNames">瀛楃涓叉暟缁勶紝琛ㄧず涓�缁勬枃浠跺悕</param> + /// <param name="toRecycle">鎸囩ず鏄皢鏂囦欢鏀惧叆鍥炴敹绔欒繕鏄案涔呭垹闄わ紝true-鏀惧叆鍥炴敹绔欙紝false-姘镐箙鍒犻櫎</param> + /// <param name="showDialog">鎸囩ず鏄惁鏄剧ず纭瀵硅瘽妗嗭紝true-鏄剧ず纭鍒犻櫎瀵硅瘽妗嗭紝false-涓嶆樉绀虹‘璁ゅ垹闄ゅ璇濇</param> + /// <param name="showProgress">鎸囩ず鏄惁鏄剧ず杩涘害瀵硅瘽妗嗭紝true-鏄剧ず锛宖alse-涓嶆樉绀恒�傝鍙傛暟褰撴寚瀹氭案涔呭垹闄ゆ枃浠舵椂鏈夋晥</param> + /// <param name="errorMsg">鍙嶉閿欒娑堟伅鐨勫瓧绗︿覆</param> + /// <returns>鎿嶄綔鎵ц缁撴灉鏍囪瘑锛屽垹闄ゆ枃浠舵垚鍔熻繑鍥�0锛屽惁鍒欙紝杩斿洖閿欒浠g爜</returns> + public static int DeleteFiles(string[] fileNames, bool toRecycle, bool showDialog, bool showProgress, ref string errorMsg) + { + try + { + string fName = ""; + foreach (string str in fileNames) + { + fName += GetFullName(str) + "\0"; //缁勪欢鏂囦欢缁勫瓧绗︿覆 + } + + return ToDelete(fName, toRecycle, showDialog, showProgress, ref errorMsg); + } + catch (Exception ex) + { + errorMsg = ex.Message; + return -200; + } + } + #endregion 銆愬垹闄ゆ枃浠舵搷浣溿�� + + #region 銆愮Щ鍔ㄦ枃浠舵搷浣溿�� + /// <summary> + /// 绉诲姩涓�涓枃浠跺埌鎸囧畾璺緞涓� + /// </summary> + /// <param name="sourceFileName">瑕佺Щ鍔ㄧ殑鏂囦欢鍚�</param> + /// <param name="destinationPath">绉诲姩鍒扮殑鐩殑璺緞</param> + /// <param name="showDialog">鎸囩ず鏄惁鏄剧ず纭瀵硅瘽妗嗭紝true-鏄剧ず纭瀵硅瘽妗嗭紝false-涓嶆樉绀虹‘璁ゅ璇濇</param> + /// <param name="showProgress">鎸囩ず鏄惁鏄剧ず杩涘害瀵硅瘽妗�</param> + /// <param name="autoRename">鎸囩ず褰撴枃浠跺悕閲嶅鏃讹紝鏄惁鑷姩涓烘柊鏂囦欢鍔犱笂鍚庣紑鍚�</param> + /// <param name="errorMsg">鍙嶉閿欒娑堟伅鐨勫瓧绗︿覆</param> + /// <returns>杩斿洖绉诲姩鎿嶄綔鏄惁鎴愬姛鐨勬爣璇嗭紝鎴愬姛杩斿洖0锛屽け璐ヨ繑鍥為敊璇唬鐮�</returns> + public static int MoveFile(string sourceFileName, string destinationPath, bool showDialog, bool showProgress, bool autoRename, ref string errorMsg) + { + try + { + string sfName = GetFullName(sourceFileName); + string dfName = GetFullName(destinationPath); + + return ToMoveOrCopy(wFunc.FO_MOVE, sfName, dfName, showDialog, showProgress, autoRename, ref errorMsg); + } + catch (Exception ex) + { + errorMsg = ex.Message; + return -200; + } + } + + /// <summary> + /// 绉诲姩涓�缁勬枃浠跺埌鎸囧畾鐨勮矾寰勪笅 + /// </summary> + /// <param name="sourceFileNames">瑕佺Щ鍔ㄧ殑鏂囦欢鍚嶆暟缁�</param> + /// <param name="destinationPath">绉诲姩鍒扮殑鐩殑璺緞</param> + /// <param name="showDialog">鎸囩ず鏄惁鏄剧ず纭瀵硅瘽妗嗭紝true-鏄剧ず纭瀵硅瘽妗嗭紝false-涓嶆樉绀虹‘璁ゅ璇濇</param> + /// <param name="showProgress">鎸囩ず鏄惁鏄剧ず杩涘害瀵硅瘽妗�</param> + /// <param name="autoRename">鎸囩ず褰撴枃浠跺悕閲嶅鏃讹紝鏄惁鑷姩涓烘柊鏂囦欢鍔犱笂鍚庣紑鍚�</param> + /// <param name="errorMsg">鍙嶉閿欒娑堟伅鐨勫瓧绗︿覆</param> + /// <returns>杩斿洖绉诲姩鎿嶄綔鏄惁鎴愬姛鐨勬爣璇嗭紝鎴愬姛杩斿洖0锛屽け璐ヨ繑鍥為敊璇唬鐮�,-200:琛ㄧず鍏朵粬寮傚父</returns> + public static int MoveFiles(string[] sourceFileNames, string destinationPath, bool showDialog, bool showProgress, bool autoRename, ref string errorMsg) + { + try + { + string sfName = ""; + foreach (string str in sourceFileNames) + { + sfName += GetFullName(str) + "\0"; //缁勪欢鏂囦欢缁勫瓧绗︿覆 + } + string dfName = GetFullName(destinationPath); + + return ToMoveOrCopy(wFunc.FO_MOVE, sfName, dfName, showDialog, showProgress, autoRename, ref errorMsg); + } + catch (Exception ex) + { + errorMsg = ex.Message; + return -200; + } + } + #endregion 銆愮Щ鍔ㄦ枃浠舵搷浣溿�� + + #region 銆愬鍒舵枃浠舵搷浣溿�� + /// <summary> + /// 澶嶅埗涓�涓枃浠跺埌鎸囧畾鐨勬枃浠跺悕鎴栬矾寰� + /// </summary> + /// <param name="sourceFileName">瑕佸鍒剁殑鏂囦欢鍚�</param> + /// <param name="destinationFileName">澶嶅埗鍒扮殑鐩殑鏂囦欢鍚嶆垨璺緞</param> + /// <param name="showDialog">鎸囩ず鏄惁鏄剧ず纭瀵硅瘽妗嗭紝true-鏄剧ず纭瀵硅瘽妗嗭紝false-涓嶆樉绀虹‘璁ゅ璇濇</param> + /// <param name="showProgress">鎸囩ず鏄惁鏄剧ず杩涘害瀵硅瘽妗�</param> + /// <param name="autoRename">鎸囩ず褰撴枃浠跺悕閲嶅鏃讹紝鏄惁鑷姩涓烘柊鏂囦欢鍔犱笂鍚庣紑鍚�</param> + /// <returns>杩斿洖绉诲姩鎿嶄綔鏄惁鎴愬姛鐨勬爣璇嗭紝鎴愬姛杩斿洖0锛屽け璐ヨ繑鍥為敊璇唬鐮�,-200:琛ㄧず鍏朵粬寮傚父</returns> + public static int CopyFile(string sourceFileName, string destinationFileName, bool showDialog, bool showProgress, bool autoRename, ref string errorMsg) + { + try + { + string sfName = GetFullName(sourceFileName); + string dfName = GetFullName(destinationFileName); + + return ToMoveOrCopy(wFunc.FO_COPY, sfName, dfName, showDialog, showProgress, autoRename, ref errorMsg); + } + catch (Exception ex) + { + errorMsg = ex.Message; + return -200; + } + } + + /// <summary> + /// 澶嶅埗涓�缁勬枃浠跺埌鎸囧畾鐨勮矾寰� + /// </summary> + /// <param name="sourceFileNames">瑕佸鍒剁殑鏂囦欢鍚嶆暟缁�</param> + /// <param name="destinationPath">澶嶅埗鍒扮殑鐩殑璺緞</param> + /// <param name="showDialog">鎸囩ず鏄惁鏄剧ず纭瀵硅瘽妗嗭紝true-鏄剧ず纭瀵硅瘽妗嗭紝false-涓嶆樉绀虹‘璁ゅ璇濇</param> + /// <param name="showProgress">鎸囩ず鏄惁鏄剧ず杩涘害瀵硅瘽妗�</param> + /// <param name="autoRename">鎸囩ず褰撴枃浠跺悕閲嶅鏃讹紝鏄惁鑷姩涓烘柊鏂囦欢鍔犱笂鍚庣紑鍚�</param> + /// <returns>杩斿洖绉诲姩鎿嶄綔鏄惁鎴愬姛鐨勬爣璇嗭紝鎴愬姛杩斿洖0锛屽け璐ヨ繑鍥為敊璇唬鐮�,-200:琛ㄧず鍏朵粬寮傚父</returns> + public static int CopyFiles(string[] sourceFileNames, string destinationPath, bool showDialog, bool showProgress, bool autoRename, ref string errorMsg) + { + try + { + string sfName = ""; + foreach (string str in sourceFileNames) + { + sfName += GetFullName(str) + "\0"; //缁勪欢鏂囦欢缁勫瓧绗︿覆 + } + string dfName = GetFullName(destinationPath); + + return ToMoveOrCopy(wFunc.FO_COPY, sfName, dfName, showDialog, showProgress, autoRename, ref errorMsg); + } + catch (Exception ex) + { + errorMsg = ex.Message; + return -200; + } + } + #endregion 銆愬鍒舵枃浠舵搷浣溿�� + + #region 銆愰噸鍛藉悕鏂囦欢銆� + /// <summary> + /// 閲嶅懡鍚嶄竴涓枃浠朵负鏂板悕绉帮紝寤鸿鎮ㄤ娇鐢ㄦ洿鏂逛究鐨凪icrosoft.VisualBasic.FileSystem.ReName();鏇挎崲璇ユ柟娉� + /// </summary> + /// <param name="sourceFileName">瑕佸鍒剁殑鏂囦欢鍚�</param> + /// <param name="destinationFileName">澶嶅埗鍒扮殑鐩殑鏂囦欢鍚嶆垨璺緞</param> + /// <param name="showDialog">鎸囩ず鏄惁鏄剧ず纭瀵硅瘽妗嗭紝true-鏄剧ず纭瀵硅瘽妗嗭紝false-涓嶆樉绀虹‘璁ゅ璇濇</param> + /// <returns>杩斿洖绉诲姩鎿嶄綔鏄惁鎴愬姛鐨勬爣璇嗭紝鎴愬姛杩斿洖0锛屽け璐ヨ繑鍥為敊璇唬鐮�,-200:琛ㄧず鍏朵粬寮傚父</returns> + [Obsolete("寤鸿浣跨敤 Microsoft.VisualBasic.FileSystem.ReName()鏂规硶")] + public static int ReNameFile(string sourceFileName, string destinationFileName, bool showDialog, ref string errorMsg) + { + + try + { + SHFILEOPSTRUCT lpFileOp = new SHFILEOPSTRUCT(); + lpFileOp.wFunc = wFunc.FO_RENAME; + lpFileOp.pFrom = GetFullName(sourceFileName) + "\0\0"; //灏嗘枃浠跺悕浠ョ粨灏惧瓧绗�"\0\0"缁撴潫 + lpFileOp.pTo = GetFullName(destinationFileName) + "\0\0"; + + lpFileOp.fFlags = FILEOP_FLAGS.FOF_NOERRORUI; + if (!showDialog) + lpFileOp.fFlags |= FILEOP_FLAGS.FOF_NOCONFIRMATION; //璁惧畾涓嶆樉绀烘彁绀哄璇濇 + + + lpFileOp.fAnyOperationsAborted = true; + + int n = SHFileOperation(ref lpFileOp); + if (n == 0) + return 0; + + string tmp = GetErrorString(n); + + errorMsg = string.Format("{0}({1})", tmp, sourceFileName); + + return n; + } + catch (Exception ex) + { + errorMsg = ex.Message; + return -200; + } + } + + /// <summary> + /// 鍒╃敤Microsoft.VisualBasic.FileSystem.ReName()鏂规硶瀹炵幇 + /// </summary> + /// <param name="filePath"></param> + /// <param name="newFileName"></param> + public static void ReNameFile(string filePath, string newFileName) + { + try + { + string extensName = Path.GetExtension(filePath); + string newName = newFileName + extensName; + Microsoft.VisualBasic.FileIO.FileSystem.RenameFile(filePath, newName); + } + catch (Exception ex) + { + throw ex; + } + } + + #endregion 銆愰噸鍛藉悕鏂囦欢銆� + + /// <summary> + /// 鍒犻櫎鍗曚釜鎴栧涓枃浠� + /// </summary> + /// <param name="fileName">鍒犻櫎鐨勬枃浠跺悕锛屽鏋滄槸澶氫釜鏂囦欢锛屾枃浠跺悕涔嬮棿浠ュ瓧绗︿覆缁撳熬绗�'\0'闅斿紑</param> + /// <param name="toRecycle">鎸囩ず鏄皢鏂囦欢鏀惧叆鍥炴敹绔欒繕鏄案涔呭垹闄わ紝true-鏀惧叆鍥炴敹绔欙紝false-姘镐箙鍒犻櫎</param> + /// <param name="showDialog">鎸囩ず鏄惁鏄剧ず纭瀵硅瘽妗嗭紝true-鏄剧ず纭鍒犻櫎瀵硅瘽妗嗭紝false-涓嶆樉绀虹‘璁ゅ垹闄ゅ璇濇</param> + /// <param name="showProgress">鎸囩ず鏄惁鏄剧ず杩涘害瀵硅瘽妗嗭紝true-鏄剧ず锛宖alse-涓嶆樉绀恒�傝鍙傛暟褰撴寚瀹氭案涔呭垹闄ゆ枃浠舵椂鏈夋晥</param> + /// <param name="errorMsg">鍙嶉閿欒娑堟伅鐨勫瓧绗︿覆</param> + /// <returns>鎿嶄綔鎵ц缁撴灉鏍囪瘑锛屽垹闄ゆ枃浠舵垚鍔熻繑鍥�0锛屽惁鍒欙紝杩斿洖閿欒浠g爜</returns> + private static int ToDelete(string fileName, bool toRecycle, bool showDialog, bool showProgress, ref string errorMsg) + { + SHFILEOPSTRUCT lpFileOp = new SHFILEOPSTRUCT(); + lpFileOp.wFunc = wFunc.FO_DELETE; + lpFileOp.pFrom = fileName + "\0"; //灏嗘枃浠跺悕浠ョ粨灏惧瓧绗�"\0"缁撴潫 + + lpFileOp.fFlags = FILEOP_FLAGS.FOF_NOERRORUI; + if (toRecycle) + lpFileOp.fFlags |= FILEOP_FLAGS.FOF_ALLOWUNDO; //璁惧畾鍒犻櫎鍒板洖鏀剁珯 + if (!showDialog) + lpFileOp.fFlags |= FILEOP_FLAGS.FOF_NOCONFIRMATION; //璁惧畾涓嶆樉绀烘彁绀哄璇濇 + if (!showProgress) + lpFileOp.fFlags |= FILEOP_FLAGS.FOF_SILENT; //璁惧畾涓嶆樉绀鸿繘搴﹀璇濇 + + lpFileOp.fAnyOperationsAborted = true; + + int n = SHFileOperation(ref lpFileOp); + if (n == 0) + return 0; + + string tmp = GetErrorString(n); + + //.av 鏂囦欢姝e父鍒犻櫎浜嗕絾涔熸彁绀� 402 閿欒锛屼笉鐭ラ亾涓轰粈涔堛�傚睆钄戒箣銆� + if ((fileName.ToLower().EndsWith(".av") && n.ToString("X") == "402")) + return 0; + + errorMsg = string.Format("{0}({1})", tmp, fileName); + + return n; + } + + /// <summary> + /// 绉诲姩鎴栧鍒朵竴涓垨澶氫釜鏂囦欢鍒版寚瀹氳矾寰勪笅 + /// </summary> + /// <param name="flag">鎿嶄綔绫诲瀷锛屾槸绉诲姩鎿嶄綔杩樻槸澶嶅埗鎿嶄綔</param> + /// <param name="sourceFileName">瑕佺Щ鍔ㄦ垨澶嶅埗鐨勬枃浠跺悕锛屽鏋滄槸澶氫釜鏂囦欢锛屾枃浠跺悕涔嬮棿浠ュ瓧绗︿覆缁撳熬绗�'\0'闅斿紑</param> + /// <param name="destinationFileName">绉诲姩鍒扮殑鐩殑浣嶇疆</param> + /// <param name="showDialog">鎸囩ず鏄惁鏄剧ず纭瀵硅瘽妗嗭紝true-鏄剧ず纭瀵硅瘽妗嗭紝false-涓嶆樉绀虹‘璁ゅ璇濇</param> + /// <param name="showProgress">鎸囩ず鏄惁鏄剧ず杩涘害瀵硅瘽妗�</param> + /// <param name="autoRename">鎸囩ず褰撴枃浠跺悕閲嶅鏃讹紝鏄惁鑷姩涓烘柊鏂囦欢鍔犱笂鍚庣紑鍚�</param> + /// <param name="errorMsg">鍙嶉閿欒娑堟伅鐨勫瓧绗︿覆</param> + /// <returns>杩斿洖绉诲姩鎿嶄綔鏄惁鎴愬姛鐨勬爣璇嗭紝鎴愬姛杩斿洖0锛屽け璐ヨ繑鍥為敊璇唬鐮�</returns> + private static int ToMoveOrCopy(wFunc flag, string sourceFileName, string destinationFileName, bool showDialog, bool showProgress, bool autoRename, ref string errorMsg) + { + SHFILEOPSTRUCT lpFileOp = new SHFILEOPSTRUCT(); + lpFileOp.wFunc = flag; + lpFileOp.pFrom = sourceFileName + "\0"; //灏嗘枃浠跺悕浠ョ粨灏惧瓧绗�"\0\0"缁撴潫 + lpFileOp.pTo = destinationFileName + "\0\0"; + + lpFileOp.fFlags = FILEOP_FLAGS.FOF_NOERRORUI; + lpFileOp.fFlags |= FILEOP_FLAGS.FOF_NOCONFIRMMKDIR; //鎸囧畾鍦ㄩ渶瑕佹椂鍙互鐩存帴鍒涘缓璺緞 + if (!showDialog) + lpFileOp.fFlags |= FILEOP_FLAGS.FOF_NOCONFIRMATION; //璁惧畾涓嶆樉绀烘彁绀哄璇濇 + if (!showProgress) + lpFileOp.fFlags |= FILEOP_FLAGS.FOF_SILENT; //璁惧畾涓嶆樉绀鸿繘搴﹀璇濇 + if (autoRename) + lpFileOp.fFlags |= FILEOP_FLAGS.FOF_RENAMEONCOLLISION; //鑷姩涓洪噸鍚嶆枃浠舵坊鍔犲悕绉板悗缂� + + lpFileOp.fAnyOperationsAborted = true; + + int n = SHFileOperation(ref lpFileOp); + if (n == 0) + return 0; + + string tmp = GetErrorString(n); + + errorMsg = string.Format("{0}({1})", tmp, sourceFileName); + + return n; + } + + /// <summary> + /// 鑾峰彇涓�涓枃浠剁殑鍏ㄥ悕 + /// </summary> + /// <param name="fileName">鏂囦欢鍚�</param> + /// <returns>杩斿洖鐢熸垚鏂囦欢鐨勫畬鏁磋矾寰勫悕</returns> + private static string GetFullName(string fileName) + { + System.IO.FileInfo fi = new System.IO.FileInfo(fileName); + return fi.FullName; + } + + /// <summary> + /// 瑙i噴閿欒浠g爜 + /// </summary> + /// <param name="n">浠g爜鍙�</param> + /// <returns>杩斿洖鍏充簬閿欒浠g爜鐨勬枃瀛楁弿杩�</returns> + private static string GetErrorString(int n) + { + if (n == 0) return string.Empty; + + switch (n) + { + case 2: + return "绯荤粺鎵句笉鍒版寚瀹氱殑鏂囦欢銆�"; + case 7: + return "瀛樺偍鎺у埗鍧楄閿�姣併�傛偍鏄惁閫夋嫨鐨勨�滃彇娑堚�濇搷浣滐紵"; + case 113: + return "鏂囦欢宸插瓨鍦紒"; + case 115: + return "閲嶅懡鍚嶆枃浠舵搷浣�,鍘熷鏂囦欢鍜岀洰鏍囨枃浠跺繀椤诲叿鏈夌浉鍚岀殑璺緞鍚嶃�備笉鑳戒娇鐢ㄧ浉瀵硅矾寰勩��"; + case 117: + return "I/O鎺у埗閿欒"; + case 123: + return "鎸囧畾浜嗛噸澶嶇殑鏂囦欢鍚�"; + case 116: + return "The source is a root directory, which cannot be moved or renamed."; + case 118: + return "Security settings denied access to the source."; + case 124: + return "The path in the source or destination or both was invalid."; + case 65536: + return "An unspecified error occurred on the destination."; + case 1026: + return "鍦ㄨ瘯鍥剧Щ鍔ㄦ垨鎷疯礉涓�涓笉瀛樺湪鐨勬枃浠�."; + case 1223: + return "鎿嶄綔琚彇娑堬紒"; + default: + return "鏈瘑鍒殑閿欒浠g爜锛�" + n; + } + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FindFiles.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FindFiles.cs new file mode 100644 index 0000000..30ed4f0 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FindFiles.cs @@ -0,0 +1,133 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// FindFiles 瀹炴椂鏌ユ壘鏂囦欢 + /// </summary> + /// <remarks> + /// FindFiles e = new FindFiles(); + /// e.SearchPath = @"c:\"; + /// e.ReturnStringType = true ; + /// e.SearchPattern = "*.exe"; + /// e.SearchForDirectory = false ; + /// e.SearchForFile = true; + /// e.SearchCreationTime = DateTime.Now.AddDays(-1); + /// foreach (object name in e) + /// { + /// System.Console.WriteLine(name); + /// } + /// System.Console.ReadLine(); + /// + ///</remarks> + public class FindFiles : System.Collections.IEnumerable + { + private bool bolReturnStringType = true; + /// <summary> + /// 濡傛灉涓篢rue杩斿洖鏂囦欢鍚�,鍚﹀垯杩斿洖 System.IO.FileInfo 鎴� System.IO.DirectoryInfo + /// </summary> + public bool ReturnStringType + { + get { return bolReturnStringType; } + set { bolReturnStringType = value; } + } + /// <summary> + /// 鏌ヨ鏂囦欢鍒涘缓寮�濮嬫椂闂� + /// </summary> + public DateTime? SearchCreationTime { get; set; } + /// <summary> + /// 鏌ヨ鏂囦欢鍒涘缓缁撴潫鏃堕棿 + /// </summary> + public DateTime? SearchCreationEndTime { get; set; } + + /// <summary> + /// 鏌ヨ鏂囦欢淇敼寮�濮嬫椂闂� + /// </summary> + public DateTime? SearchModifyTime { get; set; } + /// <summary> + /// 鏌ヨ鏂囦欢淇敼缁撴潫鏃堕棿 + /// </summary> + public DateTime? SearchModifyEndTime { get; set; } + + private string strSearchPattern = "*"; + /// <summary> + /// 鏌ヨ鏉′欢 + /// </summary> + public string SearchPattern + { + get { return strSearchPattern; } + set { strSearchPattern = value; } + } + private string strSearchPath = null; + /// <summary> + /// 鏌ヨ璺緞 + /// </summary> + public string SearchPath + { + get { return strSearchPath; } + set { strSearchPath = value; } + } + private bool bolSearchForFile = true; + /// <summary> + /// 鏌ヨ鏂囦欢 + /// </summary> + public bool SearchForFile + { + get { return bolSearchForFile; } + set { bolSearchForFile = value; } + } + private bool bolSearchForDirectory = true; + /// <summary> + /// 鏌ヨ鏂囦欢澶� + /// </summary> + public bool SearchForDirectory + { + get { return bolSearchForDirectory; } + set { bolSearchForDirectory = value; } + } + private bool bolThrowIOException = true; + /// <summary> + /// 鏄惁鎶涘嚭寮傚父 + /// </summary> + public bool ThrowIOException + { + get { return this.bolThrowIOException; } + set { this.bolThrowIOException = value; } + } + /// <summary> + /// IEnumerator鎺ュ彛 + /// </summary> + /// <returns></returns> + public System.Collections.IEnumerator GetEnumerator() + { + FileDirectoryEnumerator e = new FileDirectoryEnumerator(); + e.ReturnStringType = this.bolReturnStringType; + e.SearchForDirectory = this.bolSearchForDirectory; + e.SearchForFile = this.bolSearchForFile; + e.SearchPath = this.strSearchPath; + e.SearchPattern = this.strSearchPattern; + e.ThrowIOException = this.bolThrowIOException; + e.SearchCreationTime = this.SearchCreationTime; + e.SearchCreationEndTime = this.SearchCreationEndTime; + e.SearchModifyTime = this.SearchModifyTime; + e.SearchModifyEndTime = this.SearchModifyEndTime; + myList.Add(e); + return e; + } + /// <summary> + /// 鍏抽棴瀵硅薄 + /// </summary> + public void Close() + { + foreach (FileDirectoryEnumerator e in myList) + { + e.Close(); + } + myList.Clear(); + } + private System.Collections.ArrayList myList = new System.Collections.ArrayList(); + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FolderHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FolderHelper.cs new file mode 100644 index 0000000..169ec30 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/FolderHelper.cs @@ -0,0 +1,51 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// 鏂囦欢澶瑰府鍔� + /// </summary> + public class FolderHelper + { + /// <summary> + /// 鑾峰彇鏌愭枃浠跺す鐨勬墍鏈夊瓙鐩綍 + /// </summary> + /// <param name="folderPath"></param> + /// <returns></returns> + public static DirectoryInfo[] GetDirectories(string folderPath) + { + DirectoryInfo mainFolder = new DirectoryInfo(folderPath); + //鎵惧埌璇ユ枃浠跺す涓嬬殑瀛愮洰褰� + return mainFolder.GetDirectories(); + } + + /// <summary> + /// 鍒楀嚭path璺緞瀵瑰簲鐨勬枃浠跺す涓殑瀛愭枃浠跺す鍜屾枃浠� + /// 鐒跺悗鍐嶉�掑綊鍒楀嚭瀛愭枃浠跺す鍐呯殑鏂囦欢澶� + /// </summary> + /// <param name="path">闇�瑕佸垪鍑哄唴瀹圭殑鏂囦欢澶圭殑璺緞</param> + /// <param name="leval">褰撳墠閫掑綊灞傜骇锛岀敤浜庢帶鍒惰緭鍑哄墠瀵肩┖鏍肩殑鏁伴噺,浠�0寮�濮�</param> + public static void ListDirectory(string path, int leval, ref List<string> findFolderList) + { + DirectoryInfo theFolder = new DirectoryInfo(@path); + findFolderList.Add(theFolder.FullName); + leval++; + + //閬嶅巻鏂囦欢 + foreach (FileInfo NextFile in theFolder.GetFiles()) + { + + } + + //閬嶅巻鏂囦欢澶� + foreach (DirectoryInfo NextFolder in theFolder.GetDirectories()) + { + findFolderList.Add(NextFolder.FullName); + ListDirectory(NextFolder.FullName, leval, ref findFolderList); + } + } + } +} \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/Log4Net/C_LogWriter.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/Log4Net/C_LogWriter.cs new file mode 100644 index 0000000..54f52a4 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/Log4Net/C_LogWriter.cs @@ -0,0 +1,111 @@ +锘縰sing iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +//閰嶇疆config鏂囦欢鍚� +[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net_iWare.config", Watch = true)] +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// 鏃ュ織绛夌骇 + /// </summary> + enum LogLevel + { + Error, + Debug, + Warning, + Info + } + + /// <summary> + /// 鏃ュ織璁板綍鏈嶅姟 + /// </summary> + + class C_LogWriter + { + + /// <summary> + /// 鏃ュ織鎺ュ彛 + /// </summary> + private log4net.ILog m_Log; + + /// <summary> + /// 鍒濆鍖杔og4net瀵硅薄 + /// </summary> + /// <param name="_LogType">鏃ュ織绫诲瀷</param> + /// <param name="suffix">鍚庣紑</param> + public void Init(LogType _LogType, string suffix) + { + string s = _LogType.ToString() + suffix; + m_Log = log4net.LogManager.GetLogger(s); + } + /// <summary> + /// 杈撳嚭閿欒绾у埆鏃ュ織 + /// </summary> + /// <param name="message">杈撳嚭鐨勬秷鎭�</param> + public void Error(string message, Exception ex) + { + //璁板綍鏃ュ織 + WriteLog(LogLevel.Error, message, ex); + } + + /// <summary> + /// 杈撳嚭璀﹀憡绾у埆鏃ュ織 + /// </summary> + /// <param name="message">杈撳嚭鐨勬秷鎭�</param> + public void Warning(string message) + { + //璁板綍鏃ュ織 + WriteLog(LogLevel.Warning, message); + } + + /// <summary> + /// 杈撳嚭淇℃伅绾у埆鏃ュ織 + /// </summary> + /// <param name="message">杈撳嚭鐨勬秷鎭�</param> + public void Info(string message) + { + //璁板綍鏃ュ織 + WriteLog(LogLevel.Info, message); + } + + /// <summary> + /// 杈撳嚭璋冭瘯绾у埆鏃ュ織 + /// </summary> + /// <param name="message">杈撳嚭鐨勬秷鎭�</param> + public void Debug(string message) + { + //璁板綍鏃ュ織 + WriteLog(LogLevel.Debug, message); + } + + /// <summary> + /// 璁板綍绯荤粺鏃ュ織 + /// </summary> + /// <param name="logLevel">鏃ュ織绾у埆</param> + /// <param name="message">杈撳嚭鐨勬秷鎭�</param> + private void WriteLog(LogLevel logLevel, string message, Exception ex = null) + { + switch (logLevel) + { + case LogLevel.Debug: + m_Log.Debug(message); + break; + case LogLevel.Error: + m_Log.Error(message, ex); + break; + case LogLevel.Info: + m_Log.Info(message); + break; + case LogLevel.Warning: + m_Log.Warn(message); + break; + } + + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/Log4Net/Log4netHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/Log4Net/Log4netHelper.cs new file mode 100644 index 0000000..4756741 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/Log4Net/Log4netHelper.cs @@ -0,0 +1,37 @@ +锘縰sing iWare_SCADA_Model; +using System; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// Log4Net鏃ュ織甯姪 + /// </summary> + public class Log4NetHelper + { + + /// <summary> + /// 杈撳嚭寮傚父鏃ュ織鍒癓og4Net + /// </summary> + /// <param name="_LogType">鏃ュ織绫诲瀷</param> + /// <param name="msg">娑堟伅鍐呭</param> + /// <param name="ex">寮傚父瀵硅薄</param> + public static void WriteErrorLog(LogType _LogType, string msg, Exception ex = null) + { + C_LogWriter log = new C_LogWriter(); + log.Init(_LogType, "_Error"); + log.Error(msg, ex); + } + /// <summary> + /// 杈撳嚭info鏃ュ織鍒癓og4Net + /// </summary> + /// <param name="_LogType">鏃ュ織绫诲瀷</param> + /// <param name="msg">娑堟伅鍐呭</param> + public static void WriteInfoLog(LogType _LogType, string msg) + { + C_LogWriter log = new C_LogWriter(); + log.Init(_LogType, "_Info"); + log.Info(msg); + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/LogTextHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/LogTextHelper.cs new file mode 100644 index 0000000..3db6aee --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/LogTextHelper.cs @@ -0,0 +1,99 @@ +锘縰sing Newtonsoft.Json; +using System; +using System.IO; +using System.Collections; +using System.Collections.Generic; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + public class LogTextHelper + { + /// <summary> + /// 鎵规鍒犻櫎鏃ュ織鏂囦欢 + /// </summary> + public static void BatchDeleteLog() + { + List<string> deleteFolder = new System.Collections.Generic.List<string>(); + string folderPath = @"d:\\Log"; + FolderHelper.ListDirectory(folderPath, 0, ref deleteFolder); + + foreach (var item in deleteFolder) + { + FileHelper.DeleteOldFiles(item, 30);//鍒犻櫎涓�涓湀鐨勬暟鎹� + } + } + + /// <summary> + /// 寰�鏃ュ織閲岃拷鍔犲唴瀹� + /// </summary> + /// <param name="folder">鏃ュ織鐩綍</param> + /// <param name="logContent">鍐呭</param> + private static void DoWriteLogContent(string folder, string logContent, Exception ex) + { + try + { + if (!Directory.Exists(folder)) + { + Directory.CreateDirectory(folder); + } + string message = string.Format("銆恵0}銆憑1}\r\n", DateTime.Now.ToString("HH:mm:ss"), logContent); + if (ex != null) + { + message += ",寮傚父鍫嗘爤:" + JsonConvert.SerializeObject(ex); + } + File.AppendAllText(Path.Combine(folder, DateTime.Now.ToString("yyyyMMdd") + ".txt"), message); + } + catch (Exception) + { + } + } + + /// <summary> + /// 寰�鏃ュ織閲岃拷鍔犲唴瀹� + /// </summary> + /// <param name="folder">鏃ュ織鐩綍</param> + /// <param name="format">鍐呭鏍煎紡</param> + /// <param name="args">鍐呭鍙傛暟</param> + public static void WriteLine(string folder, string format, params object[] args) + { + try + { + if (!Directory.Exists(folder)) + { + Directory.CreateDirectory(folder); + } + string message = string.Format("銆恵0}銆憑1}\r\n", DateTime.Now.ToString("HH:mm:ss"), string.Format(format, args)); + File.AppendAllText(Path.Combine(folder, DateTime.Now.ToString("yyyyMMdd") + ".txt"), message); + } + catch (Exception) + { + } + } + + /// <summary> + /// 娣诲姞鏃ュ織 + /// </summary> + /// <param name="folder">鏃ュ織鐩綍</param> + /// <param name="className">绫诲悕</param> + /// <param name="methodName">鏂规硶鍚�</param> + /// <param name="format">鍐呭鏍煎紡</param> + /// <param name="args">鍐呭鍙傛暟</param> + public static void WriteLog(string folder, string className, string methodName, string format, params object[] args) + { + WriteLine(folder, "鍦ㄧ被{0}鐨剓1}鏂规硶涓細{2}", className, methodName, string.Format(format, args)); + + } + /// <summary> + /// 鍐欏叆鏃ュ織 + /// </summary> + /// <param name="folder">鏃ュ織鐩綍</param> + /// <param name="className">绫诲悕</param> + /// <param name="methodName">鏂规硶鍚�</param> + /// <param name="format">鍐呭鏍煎紡</param> + /// <param name="args">鍐呭鍙傛暟</param> + public static void WriteLogContent(string folder, string className, string methodName, string logContent, Exception ex) + { + DoWriteLogContent(folder, string.Format("鍦ㄧ被{0}鐨剓1}鏂规硶涓細{2}", className, methodName, logContent), ex); + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/RandomHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/RandomHelper.cs new file mode 100644 index 0000000..4164267 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/RandomHelper.cs @@ -0,0 +1,27 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + public class RandomHelper + { + /// <summary> + ///鐢熸垚鍒跺畾浣嶆暟鐨勯殢鏈虹爜锛堟暟瀛楋級 + /// </summary> + /// <param name="length"></param> + /// <returns></returns> + public static string GenerateRandomCode(int length) + { + var result = new StringBuilder(); + for (var i = 0; i < length; i++) + { + var r = new Random(Guid.NewGuid().GetHashCode()); + result.Append(r.Next(0, 10)); + } + return result.ToString(); + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/RegexExtension.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/RegexExtension.cs new file mode 100644 index 0000000..ae6c8e5 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/RegexExtension.cs @@ -0,0 +1,213 @@ +锘縰sing System; +using System.Text.RegularExpressions; +using System.Threading; + +namespace iWare_SCADA_BusinessLogical +{ + public static class RegexExtension + { + /// <summary> + /// 鍚姩涓�涓嚎绋嬫墽琛屾搷浣滐紝鍚屾椂璁剧疆瓒呮椂鏃堕棿銆� + /// var r = WithTimeout(() => regex.Match(foo), 1000); + /// </summary> + /// <typeparam name="TR"></typeparam> + /// <param name="proc"></param> + /// <param name="duration"></param> + /// <returns></returns> + private static TR WithTimeout<TR>(Func<TR> proc, int duration) + { + var reset = new AutoResetEvent(false); + var r = default(TR); + Exception ex = null; + + var t = new Thread(() => + { + try + { + r = proc(); + } + catch (Exception e) + { + ex = e; + } + reset.Set(); + }); + + t.Start(); + + if (!reset.WaitOne(duration)) + { + t.Abort(); + throw new TimeoutException(); + } + + if (ex != null) + { + throw ex; + } + + return r; + } + + /// <summary> + /// 鍒ゆ柇姝e垯鏄惁鍖归厤, duration姣鍚庢姤瓒呮椂寮傚父 + /// </summary> + /// <param name="regex"></param> + /// <param name="input"></param> + /// <param name="startat"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static bool IsMatchWithTimeout(this Regex regex, string input, int startat, int duration) + { + return regex.IsMatchWithTimeout(input, 0, duration); + } + + /// <summary> + /// 鍒ゆ柇姝e垯鏄惁鍖归厤, duration姣鍚庢姤瓒呮椂寮傚父 + /// </summary> + /// <param name="regex"></param> + /// <param name="input"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static bool IsMatchWithTimeout(this Regex regex, string input, int duration) + { + if (regex == null) + throw new NullReferenceException(); + + return WithTimeout(() => regex.IsMatch(input), duration); + } + /// <summary> + /// 鍖归厤姝e垯, duration姣鍚庢姤瓒呮椂寮傚父 + /// </summary> + /// <param name="regex"></param> + /// <param name="input"></param> + /// <param name="startat"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static Match MatchWithTimeout(this Regex regex, string input, int startat, int duration) + { + if (regex == null) + throw new NullReferenceException(); + + return WithTimeout(() => regex.Match(input, startat), duration); + } + + /// <summary> + /// 鍖归厤姝e垯, duration姣鍚庢姤瓒呮椂寮傚父 + /// </summary> + /// <param name="regex"></param> + /// <param name="input"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static Match MatchWithTimeout(this Regex regex, string input, int duration) + { + return regex.MatchWithTimeout(input, 0, duration); + } + + /// <summary> + /// 鍖归厤姝e垯, duration姣鍚庢姤瓒呮椂寮傚父 + /// </summary> + /// <param name="regex"></param> + /// <param name="input"></param> + /// <param name="startat"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static MatchCollection MatchesWithTimeout(this Regex regex, string input, int startat, int duration) + { + if (regex == null) + throw new NullReferenceException(); + + return WithTimeout(() => regex.Matches(input, startat), duration); + } + + /// <summary> + /// 鍖归厤姝e垯, duration姣鍚庢姤瓒呮椂寮傚父 + /// </summary> + /// <param name="regex"></param> + /// <param name="input"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static MatchCollection MatchesWithTimeout(this Regex regex, string input, int duration) + { + return regex.MatchesWithTimeout(input, 0, duration); + } + + /// <summary> + /// + /// </summary> + /// <param name="input"></param> + /// <param name="pattern"></param> + /// <param name="options"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static bool IsMatch(string input, string pattern, RegexOptions options, int duration) + { + var regex = new Regex(pattern, options); + return regex.IsMatchWithTimeout(input, duration); + } + + /// <summary> + /// + /// </summary> + /// <param name="input"></param> + /// <param name="pattern"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static bool IsMatch(string input, string pattern, int duration) + { + return IsMatch(input, pattern, RegexOptions.None, duration); + } + + /// <summary> + /// + /// </summary> + /// <param name="input"></param> + /// <param name="pattern"></param> + /// <param name="options"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static Match Match(string input, string pattern, RegexOptions options, int duration) + { + var regex = new Regex(pattern, options); + return regex.MatchWithTimeout(input, duration); + } + + /// <summary> + /// + /// </summary> + /// <param name="input"></param> + /// <param name="pattern"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static Match Match(string input, string pattern, int duration) + { + return Match(input, pattern, RegexOptions.None, duration); + } + + /// <summary> + /// + /// </summary> + /// <param name="input"></param> + /// <param name="pattern"></param> + /// <param name="options"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static MatchCollection Matches(string input, string pattern, RegexOptions options, int duration) + { + var regex = new Regex(pattern, options); + return regex.MatchesWithTimeout(input, duration); + } + + /// <summary> + /// + /// </summary> + /// <param name="input"></param> + /// <param name="pattern"></param> + /// <param name="duration"></param> + /// <returns></returns> + public static MatchCollection Matches(string input, string pattern, int duration) + { + return Matches(input, pattern, RegexOptions.None, duration); + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/SystemHelper.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/SystemHelper.cs new file mode 100644 index 0000000..8b4eccb --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/Utils/SystemHelper.cs @@ -0,0 +1,51 @@ +锘� +using iWare_SCADA_Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_BusinessLogical.Utils +{ + /// <summary> + /// 绯荤粺甯姪绫� + /// </summary> + public class SystemHelper + { + /// <summary> + /// 瀛楃涓茶浆鎹ecimal绫诲瀷 + /// </summary> + /// <param name="value"></param> + /// <returns></returns> + public static decimal GetDecimal(string value) + { + if (string.IsNullOrEmpty(value)) + { + return 0; + } + decimal decimalValue = 0; + var isRight = decimal.TryParse(value, out decimalValue); + if (isRight) + { + return decimalValue; + } + return 0; + } + + /// <summary> + /// decimal闆嗗悎璁$畻骞冲潎鍊� + /// </summary> + /// <param name="valueList">闆嗗悎</param> + /// <param name="digits">绮惧害</param> + /// <returns></returns> + public static string CalcDecimalAvg(List<decimal> valueList, int digits) + { + var sum = valueList.Sum(); + var count = valueList.Count; + var bb = Convert.ToDecimal((sum / (decimal)count).ToString("f" + digits.ToString())); + return bb.ToString(); + } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj new file mode 100644 index 0000000..6cf209f --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj @@ -0,0 +1,159 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" /> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{32708F19-FE1A-48F5-B373-8E1C776F216C}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>iWare_SCADA_BusinessLogical</RootNamespace> + <AssemblyName>iWare_SCADA_BusinessLogical</AssemblyName> + <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <Deterministic>true</Deterministic> + <NuGetPackageImportStamp> + </NuGetPackageImportStamp> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="BouncyCastle.Crypto, Version=1.8.9.0, Culture=neutral, PublicKeyToken=0e99375e54769942"> + <HintPath>..\packages\BouncyCastle.1.8.9\lib\BouncyCastle.Crypto.dll</HintPath> + </Reference> + <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> + <HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath> + </Reference> + <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> + <HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath> + </Reference> + <Reference Include="HslCommunication"> + <HintPath>..\DLL\HslCommunication.dll</HintPath> + </Reference> + <Reference Include="itextsharp, Version=5.5.13.3, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL"> + <HintPath>..\packages\iTextSharp.5.5.13.3\lib\itextsharp.dll</HintPath> + </Reference> + <Reference Include="log4net"> + <HintPath>..\DLL\log4net.dll</HintPath> + </Reference> + <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\DLL\Newtonsoft.Json.dll</HintPath> + </Reference> + <Reference Include="Spire.Pdf, Version=9.11.4.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL"> + <HintPath>..\packages\Spire.PDF.9.11.4\lib\net40\Spire.Pdf.dll</HintPath> + </Reference> + <Reference Include="System" /> + <Reference Include="System.ComponentModel.DataAnnotations" /> + <Reference Include="System.Configuration" /> + <Reference Include="System.Core" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Web" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Data" /> + <Reference Include="System.Net.Http" /> + <Reference Include="System.Xml" /> + <Reference Include="Yitter.IdGenerator.Net45, Version=1.0.0.4, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Yitter.IdGenerator.Net45.1.0.0\lib\net452\Yitter.IdGenerator.Net45.dll</HintPath> + </Reference> + </ItemGroup> + <ItemGroup> + <Compile Include="BLL\CommonManager.cs" /> + <Compile Include="BLL\DataCaptureColumnDictManager.cs" /> + <Compile Include="BLL\DataCaptureConfigManager.cs" /> + <Compile Include="BLL\SystemValue.cs" /> + <Compile Include="BLL\WorkPieceInfoManager.cs" /> + <Compile Include="BLL\WorkPieceLogManager.cs" /> + <Compile Include="DataCaptureHandler\DBDataCapture\AlarmLogManager.cs" /> + <Compile Include="DLA\Dao\CommonDao.cs" /> + <Compile Include="DLA\Dao\CommonService.cs" /> + <Compile Include="DLA\EFHelp.cs" /> + <Compile Include="DLA\ICommonEntity.cs" /> + <Compile Include="DLA\IService.cs" /> + <Compile Include="DLA\QueryParam.cs" /> + <Compile Include="DataCaptureHandler\PLCDataCapture\PLCService.cs" /> + <Compile Include="DataCaptureHandler\PLCDataCapture\Siemens_HslCommunicationService.cs" /> + <Compile Include="DataCaptureHandler\PLCDataCapture\PLCFactory.cs" /> + <Compile Include="DataCaptureHandler\PLCDataCapture\PLCManger.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="Properties\Resources.Designer.cs"> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + <Compile Include="Test\MyTest.cs" /> + <Compile Include="Utils\SystemHelper.cs" /> + <Compile Include="Utils\ComboBoxHelper.cs" /> + <Compile Include="Utils\ConfigHelper.cs" /> + <Compile Include="Utils\CSVHelper.cs" /> + <Compile Include="Utils\DataCache.cs" /> + <Compile Include="Utils\DateTimeHelper.cs" /> + <Compile Include="Utils\EntityPropHelper.cs" /> + <Compile Include="Utils\EnumberHelper.cs" /> + <Compile Include="Utils\FileDirectoryEnumerator.cs" /> + <Compile Include="Utils\FileHelper.cs" /> + <Compile Include="Utils\FindFiles.cs" /> + <Compile Include="Utils\FolderHelper.cs" /> + <Compile Include="Utils\Log4Net\C_LogWriter.cs" /> + <Compile Include="Utils\Log4Net\Log4netHelper.cs" /> + <Compile Include="Utils\LogTextHelper.cs" /> + <Compile Include="Utils\RandomHelper.cs" /> + <Compile Include="Utils\RegexExtension.cs" /> + </ItemGroup> + <ItemGroup> + <Folder Include="DataCaptureHandlerV2\" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\iWare_SCADA_Model\iWare_SCADA_Model.csproj"> + <Project>{91c185de-15ab-44ae-b585-53799fc51be0}</Project> + <Name>iWare_SCADA_Model</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="App.config" /> + <None Include="DLA\Dao\_system~.ini" /> + <None Include="log4net_iWare - 澶嶅埗鐢�.config"> + <SubType>Designer</SubType> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </None> + <None Include="log4net_iWare.config"> + <SubType>Designer</SubType> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </None> + <None Include="packages.config" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="Properties\Resources.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + </EmbeddedResource> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>杩欏彴璁$畻鏈轰笂缂哄皯姝ら」鐩紩鐢ㄧ殑 NuGet 绋嬪簭鍖呫�備娇鐢ㄢ�淣uGet 绋嬪簭鍖呰繕鍘熲�濆彲涓嬭浇杩欎簺绋嬪簭鍖呫�傛湁鍏虫洿澶氫俊鎭紝璇峰弬瑙� http://go.microsoft.com/fwlink/?LinkID=322105銆傜己灏戠殑鏂囦欢鏄� {0}銆�</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" /> + <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" /> + </Target> + <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" /> +</Project> \ No newline at end of file diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/log4net_iWare - \345\244\215\345\210\266\347\224\250.config" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/log4net_iWare - \345\244\215\345\210\266\347\224\250.config" new file mode 100644 index 0000000..9d2ac5d --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/log4net_iWare - \345\244\215\345\210\266\347\224\250.config" @@ -0,0 +1,46 @@ +锘�<configuration> + <configSections> + <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> + </configSections> + <appSettings> + </appSettings> + <log4net> + <!-- OP80璐ㄩ噺閲囬泦绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP80_QC_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log\\SCADALog\\PLCOP80_QC_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP80_QC_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--OP80璐ㄩ噺閲囬泦绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP80_QC_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log\\SCADALog\\PLCOP80_QC_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP80_QC_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <root> + <level value="ALL"/> + <appender-ref ref="PLCOP80_QC_Info"/> + <appender-ref ref="PLCOP80_QC_Error"/> + </root> + </log4net> +</configuration> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/log4net_iWare.config b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/log4net_iWare.config new file mode 100644 index 0000000..125c785 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/log4net_iWare.config @@ -0,0 +1,528 @@ +锘�<configuration> + <configSections> + <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> + </configSections> + <appSettings> + </appSettings> + <log4net> + <!-- OP80璐ㄩ噺閲囬泦绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP80_QC_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP80_QC_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP80_QC_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--OP80璐ㄩ噺閲囬泦绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP80_QC_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP80_QC_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP80_QC_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!-- 铏氭嫙搴撳瓨鍑哄簱绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="FormMain_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\FormMain_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="FormMain_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--铏氭嫙搴撳瓨鍑哄簱绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="FormMain_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\FormMain_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="FormMain_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!-- PLCOP05绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP05_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP05_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP05_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCOP05绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP05_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP05_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP05_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!-- PLCOP10绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP10_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP10_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP10_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCOP10绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP10_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP10_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP10_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + + <!-- PLCOP20绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP20_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP20_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP20_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCOP20绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP20_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP20_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP20_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!-- PLCOP30绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP30_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP30_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP30_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCOP30绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP30_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP30_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP30_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + + <!-- PLCOP35绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP35_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP35_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP35_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCOP35绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP35_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP35_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP35_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + + <!-- PLCOP40绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP40_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP40_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP40_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCOP40绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP40_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP40_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP40_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + + <!-- PLCOP50绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP50_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP50_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP50_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCOP50绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP50_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP50_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP50_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!-- PLCOP60绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP60_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP60_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP60_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCOP60绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP60_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP60_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP60_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + + <!-- PLCOP70绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP70_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP70_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP70_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCOP70绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP70_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP70_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP70_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + + <!-- PLCOP80绾跨▼銆愪俊鎭�戞棩蹇�--> + <appender name="PLCOP80_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP80_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP80_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCOP80绾跨▼銆愰敊璇�戞棩蹇�--> + <appender name="PLCOP80_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCOP80_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCOP80_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!-- HslCommunicationService銆愪俊鎭�戞棩蹇�--> + <appender name="HslCommunicationService_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\HslCommunicationService_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="HslCommunicationService_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--HslCommunicationService銆愰敊璇�戞棩蹇�--> + <appender name="HslCommunicationService_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\HslCommunicationService_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="HslCommunicationService_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!-- PLCService銆愪俊鎭�戞棩蹇�--> + <appender name="PLCService_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCService_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCService_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--PLCService銆愰敊璇�戞棩蹇�--> + <appender name="PLCService_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\PLCService_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="PLCService_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!-- DBDataCapture銆愪俊鎭�戞棩蹇�--> + <appender name="DBDataCapture_Info" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\DBDataCapture_Info\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="DBDataCapture_Info" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <!--DBDataCapture銆愰敊璇�戞棩蹇�--> + <appender name="DBDataCapture_Error" type="log4net.Appender.RollingFileAppender"> + <file value="D:\\Log_Test\\SCADALog\\DBDataCapture_Error\\" /> + <appendToFile value="true" /> + <rollingStyle value="Date" /> + <staticLogFileName value="false" /> + <datePattern value="yyyy-MM-dd.LOG" /> + <layout type="log4net.Layout.PatternLayout"> + <!--杈撳嚭鏍煎紡--> + <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/> + </layout> + <filter type="log4net.Filter.LoggerMatchFilter"> + <loggerToMatch value="DBDataCapture_Error" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + </appender> + <root> + <level value="ALL"/> + <appender-ref ref="PLCOP80_QC_Info"/> + <appender-ref ref="PLCOP80_QC_Error"/> + <appender-ref ref="FormMain_Info"/> + <appender-ref ref="FormMain_Error"/> + <appender-ref ref="PLCOP05_Info"/> + <appender-ref ref="PLCOP05_Error"/> + <appender-ref ref="PLCOP10_Info"/> + <appender-ref ref="PLCOP10_Error"/> + <appender-ref ref="PLCOP20_Info"/> + <appender-ref ref="PLCOP20_Error"/> + <appender-ref ref="PLCOP30_Info"/> + <appender-ref ref="PLCOP30_Error"/> + <appender-ref ref="PLCOP35_Info"/> + <appender-ref ref="PLCOP35_Error"/> + <appender-ref ref="PLCOP40_Info"/> + <appender-ref ref="PLCOP40_Error"/> + <appender-ref ref="PLCOP50_Info"/> + <appender-ref ref="PLCOP50_Error"/> + <appender-ref ref="PLCOP60_Info"/> + <appender-ref ref="PLCOP60_Error"/> + <appender-ref ref="PLCOP70_Info"/> + <appender-ref ref="PLCOP70_Error"/> + <appender-ref ref="PLCOP80_Info"/> + <appender-ref ref="PLCOP80_Error"/> + <appender-ref ref="HslCommunicationService_Info"/> + <appender-ref ref="HslCommunicationService_Error"/> + <appender-ref ref="PLCService_Info"/> + <appender-ref ref="PLCService_Error"/> + <appender-ref ref="DBDataCapture_Info"/> + <appender-ref ref="DBDataCapture_Error"/> + </root> + </log4net> +</configuration> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/packages.config b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/packages.config new file mode 100644 index 0000000..c5511af --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_BusinessLogical/packages.config @@ -0,0 +1,8 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="BouncyCastle" version="1.8.9" targetFramework="net472" /> + <package id="EntityFramework" version="6.4.4" targetFramework="net472" /> + <package id="iTextSharp" version="5.5.13.3" targetFramework="net472" /> + <package id="Spire.PDF" version="9.11.4" targetFramework="net472" /> + <package id="Yitter.IdGenerator.Net45" version="1.0.0" targetFramework="net472" /> +</packages> \ No newline at end of file diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App - \346\234\254\346\234\272\347\216\257\345\242\203.config" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App - \346\234\254\346\234\272\347\216\257\345\242\203.config" new file mode 100644 index 0000000..c5a3127 --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App - \346\234\254\346\234\272\347\216\257\345\242\203.config" @@ -0,0 +1,49 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<configuration> + <configSections> + <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> + <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> + </configSections> + + <appSettings> + + <!--net use x: \\192.168.216.133\Destination /savecred /persistent:yes + net use z: \\192.168.216.130\kistler /savecred /persistent:yes + net use y: \\192.168.216.6\data /savecred /persistent:yes + net use u: \\192.168.216.130\NutrunnerData /savecred /persistent:yes--> + + <!-- 鍒ゆ柇宸ュ簭鏄惁璺冲簭鐨勫熀鍑嗛厤缃� --> + <add key="WorkingProcedureAllStr" value="OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80" /> + <add key="WorkPeiceIDPath" value="Y:\qualified" /> + <!-- op30宸ュ簭鐨勫伐浣嶈川閲忎俊鎭� --> + <add key="OP30QualityDataFor36Station" value="Z:\" /> + <add key="OP30QualityDataFor45Station" value="U:\" /> + <add key="OP60QualityData" value="V:\" /> + <add key="OP20QualityData" value="W:\" /> + <add key="OP80QualityData" value="X:\CA4GC20TD\" /> + <!--<add key="WorkPeiceIDPath" value="C:\Users\13650\Desktop\yiqi" />--> + <add key="HeartBeatAlertInterval" value="2000" /> + </appSettings> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> + </startup> + <entityFramework> + <providers> + <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> + </providers> + </entityFramework> + <connectionStrings> + <!--<add name="SCADA_DF22001_CORE" connectionString="Server=.;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />--> + <!--<add name="SCADA_DF22001_CORE" connectionString="Server=10.10.40.166;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />--> + <add name="SCADA_DF22001_CORE" connectionString="Server=.;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> + <add name="SCModel" connectionString="data source=.;initial catalog=SCTest_new;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> + </connectionStrings> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration> \ No newline at end of file diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App - \347\224\237\344\272\247\347\216\257\345\242\203.config" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App - \347\224\237\344\272\247\347\216\257\345\242\203.config" new file mode 100644 index 0000000..1cdfa6e --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App - \347\224\237\344\272\247\347\216\257\345\242\203.config" @@ -0,0 +1,49 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<configuration> + <configSections> + <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> + <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> + </configSections> + + <appSettings> + + <!--net use x: \\192.168.216.133\Destination /savecred /persistent:yes + net use z: \\192.168.216.130\kistler /savecred /persistent:yes + net use y: \\192.168.216.6\data /savecred /persistent:yes + net use u: \\192.168.216.130\NutrunnerData /savecred /persistent:yes--> + + <!-- 鍒ゆ柇宸ュ簭鏄惁璺冲簭鐨勫熀鍑嗛厤缃� --> + <add key="WorkingProcedureAllStr" value="OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80" /> + <add key="WorkPeiceIDPath" value="Y:\qualified" /> + <!-- op30宸ュ簭鐨勫伐浣嶈川閲忎俊鎭� --> + <add key="OP30QualityDataFor36Station" value="Z:\" /> + <add key="OP30QualityDataFor45Station" value="U:\" /> + <add key="OP60QualityData" value="V:\" /> + <add key="OP20QualityData" value="W:\" /> + <add key="OP80QualityData" value="X:\CA4GC20TD\" /> + <!--<add key="WorkPeiceIDPath" value="C:\Users\13650\Desktop\yiqi" />--> + <add key="HeartBeatAlertInterval" value="2000" /> + </appSettings> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> + </startup> + <entityFramework> + <providers> + <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> + </providers> + </entityFramework> + <connectionStrings> + <!--<add name="SCADA_DF22001_CORE" connectionString="Server=.;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />--> + <!--<add name="SCADA_DF22001_CORE" connectionString="Server=10.10.40.166;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />--> + <add name="SCADA_DF22001_CORE" connectionString="Server=192.168.216.203;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> + <add name="SCModel" connectionString="data source=192.168.216.203;initial catalog=SCTest_new;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> + </connectionStrings> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App.config b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App.config new file mode 100644 index 0000000..a06a145 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/App.config @@ -0,0 +1,49 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<configuration> + <configSections> + <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> + <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> + </configSections> + + <appSettings> + + <!--net use x: \\192.168.216.133\Destination /savecred /persistent:yes + net use z: \\192.168.216.130\kistler /savecred /persistent:yes + net use y: \\192.168.216.6\data /savecred /persistent:yes + net use u: \\192.168.216.130\NutrunnerData /savecred /persistent:yes--> + + <!-- 鍒ゆ柇宸ュ簭鏄惁璺冲簭鐨勫熀鍑嗛厤缃� --> + <add key="WorkingProcedureAllStr" value="OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80" /> + <add key="WorkPeiceIDPath" value="Y:\qualified" /> + <!-- op30宸ュ簭鐨勫伐浣嶈川閲忎俊鎭� --> + <add key="OP30QualityDataFor36Station" value="Z:\" /> + <add key="OP30QualityDataFor45Station" value="U:\" /> + <add key="OP60QualityData" value="V:\" /> + <add key="OP20QualityData" value="W:\" /> + <add key="OP80QualityData" value="X:\CA4GC20TD\" /> + <!--<add key="WorkPeiceIDPath" value="C:\Users\13650\Desktop\yiqi" />--> + <add key="HeartBeatAlertInterval" value="2000" /> + </appSettings> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> + </startup> + <entityFramework> + <providers> + <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> + </providers> + </entityFramework> + <connectionStrings> + <!--<add name="SCADA_DF22001_CORE" connectionString="Server=.;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />--> + <!--<add name="SCADA_DF22001_CORE" connectionString="Server=10.10.40.166;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />--> + <add name="SCADA_DF22001_CORE" connectionString="Server=.;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> + <add name="SCModel" connectionString="data source=.;initial catalog=SCTest_new;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> + </connectionStrings> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.Designer.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.Designer.cs new file mode 100644 index 0000000..5ae2248 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.Designer.cs @@ -0,0 +1,2941 @@ +锘� +namespace iWare_SCADA_DataCaptureV3 +{ + partial class FormMain + { + /// <summary> + /// 蹇呴渶鐨勮璁″櫒鍙橀噺銆� + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// 娓呯悊鎵�鏈夋鍦ㄤ娇鐢ㄧ殑璧勬簮銆� + /// </summary> + /// <param name="disposing">濡傛灉搴旈噴鏀炬墭绠¤祫婧愶紝涓� true锛涘惁鍒欎负 false銆�</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows 绐椾綋璁捐鍣ㄧ敓鎴愮殑浠g爜 + + /// <summary> + /// 璁捐鍣ㄦ敮鎸佹墍闇�鐨勬柟娉� - 涓嶈淇敼 + /// 浣跨敤浠g爜缂栬緫鍣ㄤ慨鏀规鏂规硶鐨勫唴瀹广�� + /// </summary> + private void InitializeComponent() + { + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage5 = new System.Windows.Forms.TabPage(); + this.groupBox11 = new System.Windows.Forms.GroupBox(); + this.dataGridView2 = new System.Windows.Forms.DataGridView(); + this.Threadcode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Threadcname = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column6 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.button23 = new System.Windows.Forms.Button(); + this.button24 = new System.Windows.Forms.Button(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.button27 = new System.Windows.Forms.Button(); + this.textBox12 = new System.Windows.Forms.TextBox(); + this.btnHMIWrite = new System.Windows.Forms.Button(); + this.button17 = new System.Windows.Forms.Button(); + this.button18 = new System.Windows.Forms.Button(); + this.button19 = new System.Windows.Forms.Button(); + this.button20 = new System.Windows.Forms.Button(); + this.button21 = new System.Windows.Forms.Button(); + this.button22 = new System.Windows.Forms.Button(); + this.btnHMI04Reading = new System.Windows.Forms.Button(); + this.button15 = new System.Windows.Forms.Button(); + this.button14 = new System.Windows.Forms.Button(); + this.button13 = new System.Windows.Forms.Button(); + this.button12 = new System.Windows.Forms.Button(); + this.button11 = new System.Windows.Forms.Button(); + this.button10 = new System.Windows.Forms.Button(); + this.button9 = new System.Windows.Forms.Button(); + this.label34 = new System.Windows.Forms.Label(); + this.textBox10 = new System.Windows.Forms.TextBox(); + this.button8 = new System.Windows.Forms.Button(); + this.button25 = new System.Windows.Forms.Button(); + this.button16 = new System.Windows.Forms.Button(); + this.button26 = new System.Windows.Forms.Button(); + this.button1 = new System.Windows.Forms.Button(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.groupBox10 = new System.Windows.Forms.GroupBox(); + this.panel4 = new System.Windows.Forms.Panel(); + this.HMIOP60Write = new System.Windows.Forms.CheckBox(); + this.HMIOP50Write = new System.Windows.Forms.CheckBox(); + this.HMIOP3035Write = new System.Windows.Forms.CheckBox(); + this.HMIOP20Write = new System.Windows.Forms.CheckBox(); + this.HMIOP1040Write = new System.Windows.Forms.CheckBox(); + this.lbl_Alert_HMIOP6001 = new System.Windows.Forms.Label(); + this.ckHMIOP60Reading = new System.Windows.Forms.CheckBox(); + this.lbl_Alert_HMIOP5001 = new System.Windows.Forms.Label(); + this.ckHMIOP50Reading = new System.Windows.Forms.CheckBox(); + this.lbl_Alert_HMIOP303501 = new System.Windows.Forms.Label(); + this.ckHMIOP3035Reading = new System.Windows.Forms.CheckBox(); + this.lbl_Alert_HMIOP6002 = new System.Windows.Forms.Label(); + this.lbl_Alert_HMIOP2001 = new System.Windows.Forms.Label(); + this.lbl_Alert_HMIOP5002 = new System.Windows.Forms.Label(); + this.ckHMIOP20Reading = new System.Windows.Forms.CheckBox(); + this.lbl_Alert_HMIOP303502 = new System.Windows.Forms.Label(); + this.lbl_Alert_HMIOP104001 = new System.Windows.Forms.Label(); + this.lbl_Alert_HMIOP2002 = new System.Windows.Forms.Label(); + this.ckHMIOP1040Reading = new System.Windows.Forms.CheckBox(); + this.lbl_Alert_HMIOP104002 = new System.Windows.Forms.Label(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.panel3 = new System.Windows.Forms.Panel(); + this.label35 = new System.Windows.Forms.Label(); + this.checkBox1 = new System.Windows.Forms.CheckBox(); + this.label36 = new System.Windows.Forms.Label(); + this.checkBox2 = new System.Windows.Forms.CheckBox(); + this.checkBox10 = new System.Windows.Forms.CheckBox(); + this.label6 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.checkBox6 = new System.Windows.Forms.CheckBox(); + this.checkBox9 = new System.Windows.Forms.CheckBox(); + this.label7 = new System.Windows.Forms.Label(); + this.checkBox8 = new System.Windows.Forms.CheckBox(); + this.label8 = new System.Windows.Forms.Label(); + this.checkBox7 = new System.Windows.Forms.CheckBox(); + this.label9 = new System.Windows.Forms.Label(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.panel2 = new System.Windows.Forms.Panel(); + this.lbl_Alter_OP2007 = new System.Windows.Forms.Label(); + this.ckBOP2007 = new System.Windows.Forms.CheckBox(); + this.ckBOP2001 = new System.Windows.Forms.CheckBox(); + this.lbl_Alter_OP2006 = new System.Windows.Forms.Label(); + this.lbl_Alter_OP2001 = new System.Windows.Forms.Label(); + this.ckBOP2006 = new System.Windows.Forms.CheckBox(); + this.ckBOP2002 = new System.Windows.Forms.CheckBox(); + this.lbl_Alter_OP2005 = new System.Windows.Forms.Label(); + this.ckBOP2003 = new System.Windows.Forms.CheckBox(); + this.ckBOP2005 = new System.Windows.Forms.CheckBox(); + this.ckBOP2004 = new System.Windows.Forms.CheckBox(); + this.lbl_Alter_OP2004 = new System.Windows.Forms.Label(); + this.lbl_Alter_OP2002 = new System.Windows.Forms.Label(); + this.lbl_Alter_OP2003 = new System.Windows.Forms.Label(); + this.btn_StopAllThread = new System.Windows.Forms.Button(); + this.btn_StartUpAllThread = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.ckBOP0501 = new System.Windows.Forms.CheckBox(); + this.lbl_Alter_OP0504 = new System.Windows.Forms.Label(); + this.lbl_Alter_OP0501 = new System.Windows.Forms.Label(); + this.lbl_Alter_OP0503 = new System.Windows.Forms.Label(); + this.ckBOP0502 = new System.Windows.Forms.CheckBox(); + this.lbl_Alter_OP0502 = new System.Windows.Forms.Label(); + this.ckBOP0503 = new System.Windows.Forms.CheckBox(); + this.ckBOP0504 = new System.Windows.Forms.CheckBox(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.groupBox7 = new System.Windows.Forms.GroupBox(); + this.txt_ID = new System.Windows.Forms.TextBox(); + this.label19 = new System.Windows.Forms.Label(); + this.cbox_DataCapturePLCType = new System.Windows.Forms.ComboBox(); + this.txt_PLCPort = new System.Windows.Forms.TextBox(); + this.label18 = new System.Windows.Forms.Label(); + this.cbox_DataCaptureColumnType = new System.Windows.Forms.ComboBox(); + this.cbox_DataCaptureType = new System.Windows.Forms.ComboBox(); + this.cbox_WorkingProcedure = new System.Windows.Forms.ComboBox(); + this.txt_DbNumber = new System.Windows.Forms.TextBox(); + this.btn_Cancel = new System.Windows.Forms.Button(); + this.btn_Save = new System.Windows.Forms.Button(); + this.label15 = new System.Windows.Forms.Label(); + this.txt_Offset = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.txt_DataCapturePointCode = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.txt_DataCapturePointCname = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.txt_PLCIP = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.txt_EquipmentID = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.btn_Delete = new System.Windows.Forms.Button(); + this.dgv_DataCaptureConfig = new System.Windows.Forms.DataGridView(); + this.EquipmentID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.WorkingProcedure = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.DataCapturePointCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.DataCapturePointCname = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.DataCaptureType = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.DataCapturePLCType = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.PLCIP = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.PLCPort = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.DataCaptureColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.DataCaptureColumnType = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.btn_Update = new System.Windows.Forms.Button(); + this.btn_Insert = new System.Windows.Forms.Button(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.cbox_WorkingProcedure_Query = new System.Windows.Forms.ComboBox(); + this.label17 = new System.Windows.Forms.Label(); + this.textBox11 = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.btn_Query = new System.Windows.Forms.Button(); + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.groupBox9 = new System.Windows.Forms.GroupBox(); + this.comboBox5 = new System.Windows.Forms.ComboBox(); + this.label32 = new System.Windows.Forms.Label(); + this.textBox9 = new System.Windows.Forms.TextBox(); + this.label33 = new System.Windows.Forms.Label(); + this.button7 = new System.Windows.Forms.Button(); + this.groupBox8 = new System.Windows.Forms.GroupBox(); + this.button4 = new System.Windows.Forms.Button(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn7 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn8 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn9 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn10 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.button5 = new System.Windows.Forms.Button(); + this.button6 = new System.Windows.Forms.Button(); + this.groupBox6 = new System.Windows.Forms.GroupBox(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.label20 = new System.Windows.Forms.Label(); + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.label21 = new System.Windows.Forms.Label(); + this.comboBox2 = new System.Windows.Forms.ComboBox(); + this.comboBox3 = new System.Windows.Forms.ComboBox(); + this.comboBox4 = new System.Windows.Forms.ComboBox(); + this.textBox3 = new System.Windows.Forms.TextBox(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.label22 = new System.Windows.Forms.Label(); + this.textBox4 = new System.Windows.Forms.TextBox(); + this.label23 = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); + this.textBox5 = new System.Windows.Forms.TextBox(); + this.label25 = new System.Windows.Forms.Label(); + this.textBox6 = new System.Windows.Forms.TextBox(); + this.label26 = new System.Windows.Forms.Label(); + this.label27 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.textBox7 = new System.Windows.Forms.TextBox(); + this.label29 = new System.Windows.Forms.Label(); + this.label30 = new System.Windows.Forms.Label(); + this.textBox8 = new System.Windows.Forms.TextBox(); + this.label31 = new System.Windows.Forms.Label(); + this.tabControl1.SuspendLayout(); + this.tabPage5.SuspendLayout(); + this.groupBox11.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).BeginInit(); + this.tabPage1.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.groupBox10.SuspendLayout(); + this.panel4.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.panel3.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.panel2.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.panel1.SuspendLayout(); + this.tabPage3.SuspendLayout(); + this.groupBox7.SuspendLayout(); + this.groupBox5.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgv_DataCaptureConfig)).BeginInit(); + this.groupBox4.SuspendLayout(); + this.tabPage4.SuspendLayout(); + this.groupBox9.SuspendLayout(); + this.groupBox8.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.groupBox6.SuspendLayout(); + this.SuspendLayout(); + // + // tabControl1 + // + this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tabControl1.Controls.Add(this.tabPage5); + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Controls.Add(this.tabPage3); + this.tabControl1.Controls.Add(this.tabPage4); + this.tabControl1.Location = new System.Drawing.Point(13, 12); + this.tabControl1.Margin = new System.Windows.Forms.Padding(4); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(1451, 729); + this.tabControl1.TabIndex = 0; + // + // tabPage5 + // + this.tabPage5.Controls.Add(this.groupBox11); + this.tabPage5.Controls.Add(this.button23); + this.tabPage5.Controls.Add(this.button24); + this.tabPage5.Location = new System.Drawing.Point(4, 25); + this.tabPage5.Margin = new System.Windows.Forms.Padding(4); + this.tabPage5.Name = "tabPage5"; + this.tabPage5.Padding = new System.Windows.Forms.Padding(4); + this.tabPage5.Size = new System.Drawing.Size(1443, 700); + this.tabPage5.TabIndex = 4; + this.tabPage5.Text = "绾跨▼鐩戞帶"; + this.tabPage5.UseVisualStyleBackColor = true; + // + // groupBox11 + // + this.groupBox11.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox11.Controls.Add(this.dataGridView2); + this.groupBox11.Location = new System.Drawing.Point(4, 71); + this.groupBox11.Margin = new System.Windows.Forms.Padding(4); + this.groupBox11.Name = "groupBox11"; + this.groupBox11.Padding = new System.Windows.Forms.Padding(4); + this.groupBox11.Size = new System.Drawing.Size(1428, 598); + this.groupBox11.TabIndex = 5; + this.groupBox11.TabStop = false; + this.groupBox11.Text = "绾跨▼淇℃伅"; + // + // dataGridView2 + // + this.dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.Threadcode, + this.Threadcname, + this.Column1, + this.Column2, + this.Column3, + this.Column4, + this.Column5, + this.Column6}); + this.dataGridView2.Dock = System.Windows.Forms.DockStyle.Fill; + this.dataGridView2.Location = new System.Drawing.Point(4, 22); + this.dataGridView2.Margin = new System.Windows.Forms.Padding(4); + this.dataGridView2.Name = "dataGridView2"; + this.dataGridView2.RowHeadersWidth = 51; + this.dataGridView2.RowTemplate.Height = 23; + this.dataGridView2.Size = new System.Drawing.Size(1420, 572); + this.dataGridView2.TabIndex = 0; + // + // Threadcode + // + this.Threadcode.DataPropertyName = "Threadcode"; + this.Threadcode.HeaderText = "閲囬泦缂栧彿"; + this.Threadcode.MinimumWidth = 6; + this.Threadcode.Name = "Threadcode"; + this.Threadcode.Width = 125; + // + // Threadcname + // + this.Threadcname.DataPropertyName = "Threadcname"; + this.Threadcname.HeaderText = "閲囬泦鐐规弿杩�"; + this.Threadcname.MinimumWidth = 6; + this.Threadcname.Name = "Threadcname"; + this.Threadcname.Width = 125; + // + // Column1 + // + this.Column1.DataPropertyName = "Threadendtime"; + dataGridViewCellStyle1.Format = "yyyy/MM/dd hh:mm:ss"; + this.Column1.DefaultCellStyle = dataGridViewCellStyle1; + this.Column1.HeaderText = "鏈�鏂版墽琛屾椂闂�"; + this.Column1.MinimumWidth = 6; + this.Column1.Name = "Column1"; + this.Column1.Width = 125; + // + // Column2 + // + this.Column2.DataPropertyName = "Threadlastmodifytime"; + dataGridViewCellStyle2.Format = "yyyy/MM/dd hh:mm:ss"; + this.Column2.DefaultCellStyle = dataGridViewCellStyle2; + this.Column2.HeaderText = "鏈�鏂拌窇閫昏緫鏃堕棿"; + this.Column2.MinimumWidth = 6; + this.Column2.Name = "Column2"; + this.Column2.Width = 125; + // + // Column3 + // + this.Column3.DataPropertyName = "ThreadId"; + this.Column3.HeaderText = "绾跨▼ID"; + this.Column3.MinimumWidth = 6; + this.Column3.Name = "Column3"; + this.Column3.Width = 125; + // + // Column4 + // + this.Column4.DataPropertyName = "ThreadFrequency"; + this.Column4.HeaderText = "绾跨▼棰戠巼"; + this.Column4.MinimumWidth = 6; + this.Column4.Name = "Column4"; + this.Column4.Width = 125; + // + // Column5 + // + this.Column5.DataPropertyName = "Remarks"; + this.Column5.HeaderText = "澶囨敞"; + this.Column5.MinimumWidth = 6; + this.Column5.Name = "Column5"; + this.Column5.Width = 150; + // + // Column6 + // + this.Column6.DataPropertyName = "ErrorMsg"; + this.Column6.HeaderText = "寮傚父淇℃伅"; + this.Column6.MinimumWidth = 6; + this.Column6.Name = "Column6"; + this.Column6.Width = 200; + // + // button23 + // + this.button23.Location = new System.Drawing.Point(380, 22); + this.button23.Margin = new System.Windows.Forms.Padding(4); + this.button23.Name = "button23"; + this.button23.Size = new System.Drawing.Size(195, 41); + this.button23.TabIndex = 4; + this.button23.Text = "鍋滄鎵�鏈夐�変腑绾跨▼"; + this.button23.UseVisualStyleBackColor = true; + this.button23.Click += new System.EventHandler(this.button23_Click); + // + // button24 + // + this.button24.Location = new System.Drawing.Point(69, 22); + this.button24.Margin = new System.Windows.Forms.Padding(4); + this.button24.Name = "button24"; + this.button24.Size = new System.Drawing.Size(195, 41); + this.button24.TabIndex = 3; + this.button24.Text = "鍚姩鎵�鏈夐�変腑绾跨▼"; + this.button24.UseVisualStyleBackColor = true; + this.button24.Click += new System.EventHandler(this.button24_Click); + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.button27); + this.tabPage1.Controls.Add(this.textBox12); + this.tabPage1.Controls.Add(this.btnHMIWrite); + this.tabPage1.Controls.Add(this.button17); + this.tabPage1.Controls.Add(this.button18); + this.tabPage1.Controls.Add(this.button19); + this.tabPage1.Controls.Add(this.button20); + this.tabPage1.Controls.Add(this.button21); + this.tabPage1.Controls.Add(this.button22); + this.tabPage1.Controls.Add(this.btnHMI04Reading); + this.tabPage1.Controls.Add(this.button15); + this.tabPage1.Controls.Add(this.button14); + this.tabPage1.Controls.Add(this.button13); + this.tabPage1.Controls.Add(this.button12); + this.tabPage1.Controls.Add(this.button11); + this.tabPage1.Controls.Add(this.button10); + this.tabPage1.Controls.Add(this.button9); + this.tabPage1.Controls.Add(this.label34); + this.tabPage1.Controls.Add(this.textBox10); + this.tabPage1.Controls.Add(this.button8); + this.tabPage1.Controls.Add(this.button25); + this.tabPage1.Controls.Add(this.button16); + this.tabPage1.Controls.Add(this.button26); + this.tabPage1.Controls.Add(this.button1); + this.tabPage1.Location = new System.Drawing.Point(4, 25); + this.tabPage1.Margin = new System.Windows.Forms.Padding(4); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(4); + this.tabPage1.Size = new System.Drawing.Size(1443, 700); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "棣栭〉"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // button27 + // + this.button27.Location = new System.Drawing.Point(669, 432); + this.button27.Margin = new System.Windows.Forms.Padding(4); + this.button27.Name = "button27"; + this.button27.Size = new System.Drawing.Size(100, 29); + this.button27.TabIndex = 18; + this.button27.Text = "鏂囦欢鎵弿"; + this.button27.UseVisualStyleBackColor = true; + this.button27.Click += new System.EventHandler(this.button27_Click); + // + // textBox12 + // + this.textBox12.Location = new System.Drawing.Point(643, 55); + this.textBox12.Margin = new System.Windows.Forms.Padding(4); + this.textBox12.Name = "textBox12"; + this.textBox12.Size = new System.Drawing.Size(236, 25); + this.textBox12.TabIndex = 17; + this.textBox12.Text = "DZ045L2104250100001A1A\n"; + // + // btnHMIWrite + // + this.btnHMIWrite.Location = new System.Drawing.Point(356, 420); + this.btnHMIWrite.Margin = new System.Windows.Forms.Padding(4); + this.btnHMIWrite.Name = "btnHMIWrite"; + this.btnHMIWrite.Size = new System.Drawing.Size(139, 29); + this.btnHMIWrite.TabIndex = 16; + this.btnHMIWrite.Text = "HMI04鍐欏叆"; + this.btnHMIWrite.UseVisualStyleBackColor = true; + this.btnHMIWrite.Click += new System.EventHandler(this.btnHMIWrite_Click); + // + // button17 + // + this.button17.Location = new System.Drawing.Point(403, 340); + this.button17.Margin = new System.Windows.Forms.Padding(4); + this.button17.Name = "button17"; + this.button17.Size = new System.Drawing.Size(139, 29); + this.button17.TabIndex = 16; + this.button17.Text = "OP8007鍛婅鐩戞帶"; + this.button17.UseVisualStyleBackColor = true; + this.button17.Click += new System.EventHandler(this.button17_Click); + // + // button18 + // + this.button18.Location = new System.Drawing.Point(403, 282); + this.button18.Margin = new System.Windows.Forms.Padding(4); + this.button18.Name = "button18"; + this.button18.Size = new System.Drawing.Size(139, 29); + this.button18.TabIndex = 15; + this.button18.Text = "OP8005宸ュ簭瀹屾垚"; + this.button18.UseVisualStyleBackColor = true; + this.button18.Click += new System.EventHandler(this.button18_Click); + // + // button19 + // + this.button19.Location = new System.Drawing.Point(403, 246); + this.button19.Margin = new System.Windows.Forms.Padding(4); + this.button19.Name = "button19"; + this.button19.Size = new System.Drawing.Size(139, 29); + this.button19.TabIndex = 14; + this.button19.Text = "OP8004 buyong"; + this.button19.UseVisualStyleBackColor = true; + this.button19.Click += new System.EventHandler(this.button19_Click); + // + // button20 + // + this.button20.Location = new System.Drawing.Point(403, 210); + this.button20.Margin = new System.Windows.Forms.Padding(4); + this.button20.Name = "button20"; + this.button20.Size = new System.Drawing.Size(139, 29); + this.button20.TabIndex = 13; + this.button20.Text = "OP3003鎺ㄥ嚭"; + this.button20.UseVisualStyleBackColor = true; + this.button20.Click += new System.EventHandler(this.button20_Click); + // + // button21 + // + this.button21.Location = new System.Drawing.Point(403, 174); + this.button21.Margin = new System.Windows.Forms.Padding(4); + this.button21.Name = "button21"; + this.button21.Size = new System.Drawing.Size(139, 29); + this.button21.TabIndex = 12; + this.button21.Text = "OP3002妫�娴嬪畬鎴�"; + this.button21.UseVisualStyleBackColor = true; + this.button21.Click += new System.EventHandler(this.button21_Click); + // + // button22 + // + this.button22.Location = new System.Drawing.Point(403, 138); + this.button22.Margin = new System.Windows.Forms.Padding(4); + this.button22.Name = "button22"; + this.button22.Size = new System.Drawing.Size(124, 29); + this.button22.TabIndex = 11; + this.button22.Text = "OP8001璇荤爜"; + this.button22.UseVisualStyleBackColor = true; + this.button22.Click += new System.EventHandler(this.button22_Click); + // + // btnHMI04Reading + // + this.btnHMI04Reading.Location = new System.Drawing.Point(192, 420); + this.btnHMI04Reading.Margin = new System.Windows.Forms.Padding(4); + this.btnHMI04Reading.Name = "btnHMI04Reading"; + this.btnHMI04Reading.Size = new System.Drawing.Size(139, 29); + this.btnHMI04Reading.TabIndex = 10; + this.btnHMI04Reading.Text = "HMI04璇诲彇"; + this.btnHMI04Reading.UseVisualStyleBackColor = true; + this.btnHMI04Reading.Click += new System.EventHandler(this.btnHMI04Reading_Click); + // + // button15 + // + this.button15.Location = new System.Drawing.Point(192, 340); + this.button15.Margin = new System.Windows.Forms.Padding(4); + this.button15.Name = "button15"; + this.button15.Size = new System.Drawing.Size(139, 29); + this.button15.TabIndex = 10; + this.button15.Text = "OP3007鍛婅鐩戞帶"; + this.button15.UseVisualStyleBackColor = true; + this.button15.Click += new System.EventHandler(this.button15_Click); + // + // button14 + // + this.button14.Location = new System.Drawing.Point(192, 282); + this.button14.Margin = new System.Windows.Forms.Padding(4); + this.button14.Name = "button14"; + this.button14.Size = new System.Drawing.Size(139, 29); + this.button14.TabIndex = 9; + this.button14.Text = "OP3005宸ュ簭瀹屾垚"; + this.button14.UseVisualStyleBackColor = true; + this.button14.Click += new System.EventHandler(this.button14_Click); + // + // button13 + // + this.button13.Location = new System.Drawing.Point(192, 246); + this.button13.Margin = new System.Windows.Forms.Padding(4); + this.button13.Name = "button13"; + this.button13.Size = new System.Drawing.Size(139, 29); + this.button13.TabIndex = 8; + this.button13.Text = "OP3004SPC鎺ㄥ嚭"; + this.button13.UseVisualStyleBackColor = true; + this.button13.Click += new System.EventHandler(this.button13_Click); + // + // button12 + // + this.button12.Location = new System.Drawing.Point(192, 210); + this.button12.Margin = new System.Windows.Forms.Padding(4); + this.button12.Name = "button12"; + this.button12.Size = new System.Drawing.Size(139, 29); + this.button12.TabIndex = 7; + this.button12.Text = "OP3003鎺ㄥ嚭"; + this.button12.UseVisualStyleBackColor = true; + this.button12.Click += new System.EventHandler(this.button12_Click); + // + // button11 + // + this.button11.Location = new System.Drawing.Point(192, 174); + this.button11.Margin = new System.Windows.Forms.Padding(4); + this.button11.Name = "button11"; + this.button11.Size = new System.Drawing.Size(139, 29); + this.button11.TabIndex = 6; + this.button11.Text = "OP3002妫�娴嬪畬鎴�"; + this.button11.UseVisualStyleBackColor = true; + this.button11.Click += new System.EventHandler(this.button11_Click); + // + // button10 + // + this.button10.Location = new System.Drawing.Point(192, 101); + this.button10.Margin = new System.Windows.Forms.Padding(4); + this.button10.Name = "button10"; + this.button10.Size = new System.Drawing.Size(124, 29); + this.button10.TabIndex = 5; + this.button10.Text = "OP0501 璇荤爜"; + this.button10.UseVisualStyleBackColor = true; + this.button10.Click += new System.EventHandler(this.button10_Click); + // + // button9 + // + this.button9.Location = new System.Drawing.Point(192, 138); + this.button9.Margin = new System.Windows.Forms.Padding(4); + this.button9.Name = "button9"; + this.button9.Size = new System.Drawing.Size(124, 29); + this.button9.TabIndex = 4; + this.button9.Text = "OP3001璇荤爜"; + this.button9.UseVisualStyleBackColor = true; + this.button9.Click += new System.EventHandler(this.button9_Click); + // + // label34 + // + this.label34.AutoSize = true; + this.label34.Location = new System.Drawing.Point(16, 55); + this.label34.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label34.Name = "label34"; + this.label34.Size = new System.Drawing.Size(52, 15); + this.label34.TabIndex = 3; + this.label34.Text = "宸ヤ欢鍙�"; + // + // textBox10 + // + this.textBox10.Location = new System.Drawing.Point(79, 24); + this.textBox10.Margin = new System.Windows.Forms.Padding(4); + this.textBox10.Multiline = true; + this.textBox10.Name = "textBox10"; + this.textBox10.Size = new System.Drawing.Size(473, 53); + this.textBox10.TabIndex = 2; + this.textBox10.Text = "DZ045L2104250100001A1A\n"; + // + // button8 + // + this.button8.BackColor = System.Drawing.Color.OrangeRed; + this.button8.Location = new System.Drawing.Point(37, 101); + this.button8.Margin = new System.Windows.Forms.Padding(4); + this.button8.Name = "button8"; + this.button8.Size = new System.Drawing.Size(100, 54); + this.button8.TabIndex = 1; + this.button8.Text = "鍚姩妯℃嫙"; + this.button8.UseVisualStyleBackColor = false; + this.button8.Click += new System.EventHandler(this.button8_Click); + // + // button25 + // + this.button25.Location = new System.Drawing.Point(669, 329); + this.button25.Margin = new System.Windows.Forms.Padding(4); + this.button25.Name = "button25"; + this.button25.Size = new System.Drawing.Size(153, 29); + this.button25.TabIndex = 0; + this.button25.Text = "鍚勭嚎绋嬪崟鐙祴璇�"; + this.button25.UseVisualStyleBackColor = true; + this.button25.Click += new System.EventHandler(this.button25_Click); + // + // button16 + // + this.button16.Location = new System.Drawing.Point(669, 246); + this.button16.Margin = new System.Windows.Forms.Padding(4); + this.button16.Name = "button16"; + this.button16.Size = new System.Drawing.Size(100, 29); + this.button16.TabIndex = 0; + this.button16.Text = "button1"; + this.button16.UseVisualStyleBackColor = true; + this.button16.Click += new System.EventHandler(this.button16_Click); + // + // button26 + // + this.button26.Location = new System.Drawing.Point(900, 329); + this.button26.Margin = new System.Windows.Forms.Padding(4); + this.button26.Name = "button26"; + this.button26.Size = new System.Drawing.Size(100, 29); + this.button26.TabIndex = 0; + this.button26.Text = "涓埆绾跨▼璋冭瘯"; + this.button26.UseVisualStyleBackColor = true; + this.button26.Click += new System.EventHandler(this.button26_Click); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(643, 151); + this.button1.Margin = new System.Windows.Forms.Padding(4); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(100, 29); + this.button1.TabIndex = 0; + this.button1.Text = "button1"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.groupBox10); + this.tabPage2.Controls.Add(this.groupBox3); + this.tabPage2.Controls.Add(this.groupBox2); + this.tabPage2.Controls.Add(this.btn_StopAllThread); + this.tabPage2.Controls.Add(this.btn_StartUpAllThread); + this.tabPage2.Controls.Add(this.groupBox1); + this.tabPage2.Location = new System.Drawing.Point(4, 25); + this.tabPage2.Margin = new System.Windows.Forms.Padding(4); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(4); + this.tabPage2.Size = new System.Drawing.Size(1443, 700); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = " 绾跨▼鎺у埗"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // groupBox10 + // + this.groupBox10.Controls.Add(this.panel4); + this.groupBox10.Location = new System.Drawing.Point(513, 119); + this.groupBox10.Margin = new System.Windows.Forms.Padding(4); + this.groupBox10.Name = "groupBox10"; + this.groupBox10.Padding = new System.Windows.Forms.Padding(4); + this.groupBox10.Size = new System.Drawing.Size(900, 286); + this.groupBox10.TabIndex = 5; + this.groupBox10.TabStop = false; + this.groupBox10.Text = "HMI"; + // + // panel4 + // + this.panel4.AutoScroll = true; + this.panel4.Controls.Add(this.HMIOP60Write); + this.panel4.Controls.Add(this.HMIOP50Write); + this.panel4.Controls.Add(this.HMIOP3035Write); + this.panel4.Controls.Add(this.HMIOP20Write); + this.panel4.Controls.Add(this.HMIOP1040Write); + this.panel4.Controls.Add(this.lbl_Alert_HMIOP6001); + this.panel4.Controls.Add(this.ckHMIOP60Reading); + this.panel4.Controls.Add(this.lbl_Alert_HMIOP5001); + this.panel4.Controls.Add(this.ckHMIOP50Reading); + this.panel4.Controls.Add(this.lbl_Alert_HMIOP303501); + this.panel4.Controls.Add(this.ckHMIOP3035Reading); + this.panel4.Controls.Add(this.lbl_Alert_HMIOP6002); + this.panel4.Controls.Add(this.lbl_Alert_HMIOP2001); + this.panel4.Controls.Add(this.lbl_Alert_HMIOP5002); + this.panel4.Controls.Add(this.ckHMIOP20Reading); + this.panel4.Controls.Add(this.lbl_Alert_HMIOP303502); + this.panel4.Controls.Add(this.lbl_Alert_HMIOP104001); + this.panel4.Controls.Add(this.lbl_Alert_HMIOP2002); + this.panel4.Controls.Add(this.ckHMIOP1040Reading); + this.panel4.Controls.Add(this.lbl_Alert_HMIOP104002); + this.panel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel4.Location = new System.Drawing.Point(4, 22); + this.panel4.Margin = new System.Windows.Forms.Padding(0); + this.panel4.Name = "panel4"; + this.panel4.Size = new System.Drawing.Size(892, 260); + this.panel4.TabIndex = 21; + // + // HMIOP60Write + // + this.HMIOP60Write.AutoSize = true; + this.HMIOP60Write.Checked = true; + this.HMIOP60Write.CheckState = System.Windows.Forms.CheckState.Checked; + this.HMIOP60Write.Location = new System.Drawing.Point(16, 239); + this.HMIOP60Write.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.HMIOP60Write.Name = "HMIOP60Write"; + this.HMIOP60Write.Size = new System.Drawing.Size(145, 19); + this.HMIOP60Write.TabIndex = 13; + this.HMIOP60Write.Text = "HMIOP60鍐欏叆鐩戞帶"; + this.HMIOP60Write.UseVisualStyleBackColor = true; + // + // HMIOP50Write + // + this.HMIOP50Write.AutoSize = true; + this.HMIOP50Write.Checked = true; + this.HMIOP50Write.CheckState = System.Windows.Forms.CheckState.Checked; + this.HMIOP50Write.Location = new System.Drawing.Point(16, 212); + this.HMIOP50Write.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.HMIOP50Write.Name = "HMIOP50Write"; + this.HMIOP50Write.Size = new System.Drawing.Size(145, 19); + this.HMIOP50Write.TabIndex = 13; + this.HMIOP50Write.Text = "HMIOP50鍐欏叆鐩戞帶"; + this.HMIOP50Write.UseVisualStyleBackColor = true; + // + // HMIOP3035Write + // + this.HMIOP3035Write.AutoSize = true; + this.HMIOP3035Write.Checked = true; + this.HMIOP3035Write.CheckState = System.Windows.Forms.CheckState.Checked; + this.HMIOP3035Write.Location = new System.Drawing.Point(16, 186); + this.HMIOP3035Write.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.HMIOP3035Write.Name = "HMIOP3035Write"; + this.HMIOP3035Write.Size = new System.Drawing.Size(161, 19); + this.HMIOP3035Write.TabIndex = 13; + this.HMIOP3035Write.Text = "HMIOP3035鍐欏叆鐩戞帶"; + this.HMIOP3035Write.UseVisualStyleBackColor = true; + // + // HMIOP20Write + // + this.HMIOP20Write.AutoSize = true; + this.HMIOP20Write.Checked = true; + this.HMIOP20Write.CheckState = System.Windows.Forms.CheckState.Checked; + this.HMIOP20Write.Location = new System.Drawing.Point(16, 160); + this.HMIOP20Write.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.HMIOP20Write.Name = "HMIOP20Write"; + this.HMIOP20Write.Size = new System.Drawing.Size(145, 19); + this.HMIOP20Write.TabIndex = 13; + this.HMIOP20Write.Text = "HMIOP20鍐欏叆鐩戞帶"; + this.HMIOP20Write.UseVisualStyleBackColor = true; + // + // HMIOP1040Write + // + this.HMIOP1040Write.AutoSize = true; + this.HMIOP1040Write.Checked = true; + this.HMIOP1040Write.CheckState = System.Windows.Forms.CheckState.Checked; + this.HMIOP1040Write.Location = new System.Drawing.Point(16, 134); + this.HMIOP1040Write.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.HMIOP1040Write.Name = "HMIOP1040Write"; + this.HMIOP1040Write.Size = new System.Drawing.Size(161, 19); + this.HMIOP1040Write.TabIndex = 13; + this.HMIOP1040Write.Text = "HMIOP1040鍐欏叆鐩戞帶"; + this.HMIOP1040Write.UseVisualStyleBackColor = true; + // + // lbl_Alert_HMIOP6001 + // + this.lbl_Alert_HMIOP6001.AutoSize = true; + this.lbl_Alert_HMIOP6001.BackColor = System.Drawing.Color.White; + this.lbl_Alert_HMIOP6001.ForeColor = System.Drawing.Color.Red; + this.lbl_Alert_HMIOP6001.Location = new System.Drawing.Point(367, 109); + this.lbl_Alert_HMIOP6001.Name = "lbl_Alert_HMIOP6001"; + this.lbl_Alert_HMIOP6001.Size = new System.Drawing.Size(52, 15); + this.lbl_Alert_HMIOP6001.TabIndex = 14; + this.lbl_Alert_HMIOP6001.Text = "鏈繛鎺�"; + // + // ckHMIOP60Reading + // + this.ckHMIOP60Reading.AutoSize = true; + this.ckHMIOP60Reading.Checked = true; + this.ckHMIOP60Reading.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckHMIOP60Reading.Location = new System.Drawing.Point(16, 108); + this.ckHMIOP60Reading.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckHMIOP60Reading.Name = "ckHMIOP60Reading"; + this.ckHMIOP60Reading.Size = new System.Drawing.Size(145, 19); + this.ckHMIOP60Reading.TabIndex = 15; + this.ckHMIOP60Reading.Text = "HMIOP60璇诲彇鐩戞帶"; + this.ckHMIOP60Reading.UseVisualStyleBackColor = true; + // + // lbl_Alert_HMIOP5001 + // + this.lbl_Alert_HMIOP5001.AutoSize = true; + this.lbl_Alert_HMIOP5001.BackColor = System.Drawing.Color.White; + this.lbl_Alert_HMIOP5001.ForeColor = System.Drawing.Color.Red; + this.lbl_Alert_HMIOP5001.Location = new System.Drawing.Point(367, 84); + this.lbl_Alert_HMIOP5001.Name = "lbl_Alert_HMIOP5001"; + this.lbl_Alert_HMIOP5001.Size = new System.Drawing.Size(52, 15); + this.lbl_Alert_HMIOP5001.TabIndex = 14; + this.lbl_Alert_HMIOP5001.Text = "鏈繛鎺�"; + // + // ckHMIOP50Reading + // + this.ckHMIOP50Reading.AutoSize = true; + this.ckHMIOP50Reading.Checked = true; + this.ckHMIOP50Reading.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckHMIOP50Reading.Location = new System.Drawing.Point(16, 81); + this.ckHMIOP50Reading.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckHMIOP50Reading.Name = "ckHMIOP50Reading"; + this.ckHMIOP50Reading.Size = new System.Drawing.Size(145, 19); + this.ckHMIOP50Reading.TabIndex = 15; + this.ckHMIOP50Reading.Text = "HMIOP50璇诲彇鐩戞帶"; + this.ckHMIOP50Reading.UseVisualStyleBackColor = true; + // + // lbl_Alert_HMIOP303501 + // + this.lbl_Alert_HMIOP303501.AutoSize = true; + this.lbl_Alert_HMIOP303501.BackColor = System.Drawing.Color.White; + this.lbl_Alert_HMIOP303501.ForeColor = System.Drawing.Color.Red; + this.lbl_Alert_HMIOP303501.Location = new System.Drawing.Point(367, 56); + this.lbl_Alert_HMIOP303501.Name = "lbl_Alert_HMIOP303501"; + this.lbl_Alert_HMIOP303501.Size = new System.Drawing.Size(52, 15); + this.lbl_Alert_HMIOP303501.TabIndex = 14; + this.lbl_Alert_HMIOP303501.Text = "鏈繛鎺�"; + // + // ckHMIOP3035Reading + // + this.ckHMIOP3035Reading.AutoSize = true; + this.ckHMIOP3035Reading.Checked = true; + this.ckHMIOP3035Reading.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckHMIOP3035Reading.Location = new System.Drawing.Point(16, 55); + this.ckHMIOP3035Reading.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckHMIOP3035Reading.Name = "ckHMIOP3035Reading"; + this.ckHMIOP3035Reading.Size = new System.Drawing.Size(161, 19); + this.ckHMIOP3035Reading.TabIndex = 15; + this.ckHMIOP3035Reading.Text = "HMIOP3035璇诲彇鐩戞帶"; + this.ckHMIOP3035Reading.UseVisualStyleBackColor = true; + // + // lbl_Alert_HMIOP6002 + // + this.lbl_Alert_HMIOP6002.AutoSize = true; + this.lbl_Alert_HMIOP6002.BackColor = System.Drawing.Color.White; + this.lbl_Alert_HMIOP6002.ForeColor = System.Drawing.Color.Red; + this.lbl_Alert_HMIOP6002.Location = new System.Drawing.Point(367, 241); + this.lbl_Alert_HMIOP6002.Name = "lbl_Alert_HMIOP6002"; + this.lbl_Alert_HMIOP6002.Size = new System.Drawing.Size(52, 15); + this.lbl_Alert_HMIOP6002.TabIndex = 18; + this.lbl_Alert_HMIOP6002.Text = "鏈繛鎺�"; + // + // lbl_Alert_HMIOP2001 + // + this.lbl_Alert_HMIOP2001.AutoSize = true; + this.lbl_Alert_HMIOP2001.BackColor = System.Drawing.Color.White; + this.lbl_Alert_HMIOP2001.ForeColor = System.Drawing.Color.Red; + this.lbl_Alert_HMIOP2001.Location = new System.Drawing.Point(367, 30); + this.lbl_Alert_HMIOP2001.Name = "lbl_Alert_HMIOP2001"; + this.lbl_Alert_HMIOP2001.Size = new System.Drawing.Size(52, 15); + this.lbl_Alert_HMIOP2001.TabIndex = 14; + this.lbl_Alert_HMIOP2001.Text = "鏈繛鎺�"; + // + // lbl_Alert_HMIOP5002 + // + this.lbl_Alert_HMIOP5002.AutoSize = true; + this.lbl_Alert_HMIOP5002.BackColor = System.Drawing.Color.White; + this.lbl_Alert_HMIOP5002.ForeColor = System.Drawing.Color.Red; + this.lbl_Alert_HMIOP5002.Location = new System.Drawing.Point(367, 215); + this.lbl_Alert_HMIOP5002.Name = "lbl_Alert_HMIOP5002"; + this.lbl_Alert_HMIOP5002.Size = new System.Drawing.Size(52, 15); + this.lbl_Alert_HMIOP5002.TabIndex = 18; + this.lbl_Alert_HMIOP5002.Text = "鏈繛鎺�"; + // + // ckHMIOP20Reading + // + this.ckHMIOP20Reading.AutoSize = true; + this.ckHMIOP20Reading.Checked = true; + this.ckHMIOP20Reading.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckHMIOP20Reading.Location = new System.Drawing.Point(16, 29); + this.ckHMIOP20Reading.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckHMIOP20Reading.Name = "ckHMIOP20Reading"; + this.ckHMIOP20Reading.Size = new System.Drawing.Size(145, 19); + this.ckHMIOP20Reading.TabIndex = 15; + this.ckHMIOP20Reading.Text = "HMIOP20璇诲彇鐩戞帶"; + this.ckHMIOP20Reading.UseVisualStyleBackColor = true; + // + // lbl_Alert_HMIOP303502 + // + this.lbl_Alert_HMIOP303502.AutoSize = true; + this.lbl_Alert_HMIOP303502.BackColor = System.Drawing.Color.White; + this.lbl_Alert_HMIOP303502.ForeColor = System.Drawing.Color.Red; + this.lbl_Alert_HMIOP303502.Location = new System.Drawing.Point(367, 189); + this.lbl_Alert_HMIOP303502.Name = "lbl_Alert_HMIOP303502"; + this.lbl_Alert_HMIOP303502.Size = new System.Drawing.Size(52, 15); + this.lbl_Alert_HMIOP303502.TabIndex = 18; + this.lbl_Alert_HMIOP303502.Text = "鏈繛鎺�"; + // + // lbl_Alert_HMIOP104001 + // + this.lbl_Alert_HMIOP104001.AutoSize = true; + this.lbl_Alert_HMIOP104001.BackColor = System.Drawing.Color.White; + this.lbl_Alert_HMIOP104001.ForeColor = System.Drawing.Color.Red; + this.lbl_Alert_HMIOP104001.Location = new System.Drawing.Point(367, 4); + this.lbl_Alert_HMIOP104001.Name = "lbl_Alert_HMIOP104001"; + this.lbl_Alert_HMIOP104001.Size = new System.Drawing.Size(52, 15); + this.lbl_Alert_HMIOP104001.TabIndex = 14; + this.lbl_Alert_HMIOP104001.Text = "鏈繛鎺�"; + // + // lbl_Alert_HMIOP2002 + // + this.lbl_Alert_HMIOP2002.AutoSize = true; + this.lbl_Alert_HMIOP2002.BackColor = System.Drawing.Color.White; + this.lbl_Alert_HMIOP2002.ForeColor = System.Drawing.Color.Red; + this.lbl_Alert_HMIOP2002.Location = new System.Drawing.Point(367, 162); + this.lbl_Alert_HMIOP2002.Name = "lbl_Alert_HMIOP2002"; + this.lbl_Alert_HMIOP2002.Size = new System.Drawing.Size(52, 15); + this.lbl_Alert_HMIOP2002.TabIndex = 18; + this.lbl_Alert_HMIOP2002.Text = "鏈繛鎺�"; + // + // ckHMIOP1040Reading + // + this.ckHMIOP1040Reading.AutoSize = true; + this.ckHMIOP1040Reading.Checked = true; + this.ckHMIOP1040Reading.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckHMIOP1040Reading.Location = new System.Drawing.Point(16, 2); + this.ckHMIOP1040Reading.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckHMIOP1040Reading.Name = "ckHMIOP1040Reading"; + this.ckHMIOP1040Reading.Size = new System.Drawing.Size(161, 19); + this.ckHMIOP1040Reading.TabIndex = 15; + this.ckHMIOP1040Reading.Text = "HMIOP1040璇诲彇鐩戞帶"; + this.ckHMIOP1040Reading.UseVisualStyleBackColor = true; + // + // lbl_Alert_HMIOP104002 + // + this.lbl_Alert_HMIOP104002.AutoSize = true; + this.lbl_Alert_HMIOP104002.BackColor = System.Drawing.Color.White; + this.lbl_Alert_HMIOP104002.ForeColor = System.Drawing.Color.Red; + this.lbl_Alert_HMIOP104002.Location = new System.Drawing.Point(367, 136); + this.lbl_Alert_HMIOP104002.Name = "lbl_Alert_HMIOP104002"; + this.lbl_Alert_HMIOP104002.Size = new System.Drawing.Size(52, 15); + this.lbl_Alert_HMIOP104002.TabIndex = 18; + this.lbl_Alert_HMIOP104002.Text = "鏈繛鎺�"; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.panel3); + this.groupBox3.Location = new System.Drawing.Point(8, 442); + this.groupBox3.Margin = new System.Windows.Forms.Padding(4); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Padding = new System.Windows.Forms.Padding(4); + this.groupBox3.Size = new System.Drawing.Size(447, 211); + this.groupBox3.TabIndex = 4; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "OP30"; + // + // panel3 + // + this.panel3.AutoScroll = true; + this.panel3.Controls.Add(this.label35); + this.panel3.Controls.Add(this.checkBox1); + this.panel3.Controls.Add(this.label36); + this.panel3.Controls.Add(this.checkBox2); + this.panel3.Controls.Add(this.checkBox10); + this.panel3.Controls.Add(this.label6); + this.panel3.Controls.Add(this.label10); + this.panel3.Controls.Add(this.checkBox6); + this.panel3.Controls.Add(this.checkBox9); + this.panel3.Controls.Add(this.label7); + this.panel3.Controls.Add(this.checkBox8); + this.panel3.Controls.Add(this.label8); + this.panel3.Controls.Add(this.checkBox7); + this.panel3.Controls.Add(this.label9); + this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel3.Location = new System.Drawing.Point(4, 22); + this.panel3.Margin = new System.Windows.Forms.Padding(4); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(439, 185); + this.panel3.TabIndex = 23; + // + // label35 + // + this.label35.AutoSize = true; + this.label35.BackColor = System.Drawing.Color.White; + this.label35.ForeColor = System.Drawing.Color.Red; + this.label35.Location = new System.Drawing.Point(224, 158); + this.label35.Name = "label35"; + this.label35.Size = new System.Drawing.Size(52, 15); + this.label35.TabIndex = 30; + this.label35.Text = "鏈繛鎺�"; + // + // checkBox1 + // + this.checkBox1.AutoSize = true; + this.checkBox1.Checked = true; + this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox1.Location = new System.Drawing.Point(16, 156); + this.checkBox1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.checkBox1.Name = "checkBox1"; + this.checkBox1.Size = new System.Drawing.Size(89, 19); + this.checkBox1.TabIndex = 29; + this.checkBox1.Text = "蹇冭烦鐩戞帶"; + this.checkBox1.UseVisualStyleBackColor = true; + // + // label36 + // + this.label36.AutoSize = true; + this.label36.BackColor = System.Drawing.Color.White; + this.label36.ForeColor = System.Drawing.Color.Red; + this.label36.Location = new System.Drawing.Point(224, 132); + this.label36.Name = "label36"; + this.label36.Size = new System.Drawing.Size(52, 15); + this.label36.TabIndex = 28; + this.label36.Text = "鏈繛鎺�"; + // + // checkBox2 + // + this.checkBox2.AutoSize = true; + this.checkBox2.Checked = true; + this.checkBox2.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox2.Location = new System.Drawing.Point(16, 131); + this.checkBox2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.checkBox2.Name = "checkBox2"; + this.checkBox2.Size = new System.Drawing.Size(119, 19); + this.checkBox2.TabIndex = 27; + this.checkBox2.Text = "鎶ヨ淇℃伅鐩戞帶"; + this.checkBox2.UseVisualStyleBackColor = true; + // + // checkBox10 + // + this.checkBox10.AutoSize = true; + this.checkBox10.Checked = true; + this.checkBox10.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox10.Location = new System.Drawing.Point(17, 5); + this.checkBox10.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.checkBox10.Name = "checkBox10"; + this.checkBox10.Size = new System.Drawing.Size(119, 19); + this.checkBox10.TabIndex = 13; + this.checkBox10.Text = "璇荤爜瀹屾垚鐩戞帶"; + this.checkBox10.UseVisualStyleBackColor = true; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.BackColor = System.Drawing.Color.White; + this.label6.ForeColor = System.Drawing.Color.Red; + this.label6.Location = new System.Drawing.Point(225, 106); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(52, 15); + this.label6.TabIndex = 22; + this.label6.Text = "鏈繛鎺�"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.BackColor = System.Drawing.Color.White; + this.label10.ForeColor = System.Drawing.Color.Red; + this.label10.Location = new System.Drawing.Point(225, 5); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(52, 15); + this.label10.TabIndex = 14; + this.label10.Text = "鏈繛鎺�"; + // + // checkBox6 + // + this.checkBox6.AutoSize = true; + this.checkBox6.Checked = true; + this.checkBox6.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox6.Location = new System.Drawing.Point(17, 105); + this.checkBox6.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.checkBox6.Name = "checkBox6"; + this.checkBox6.Size = new System.Drawing.Size(119, 19); + this.checkBox6.TabIndex = 21; + this.checkBox6.Text = "宸ュ簭瀹屾垚鐩戞帶"; + this.checkBox6.UseVisualStyleBackColor = true; + // + // checkBox9 + // + this.checkBox9.AutoSize = true; + this.checkBox9.Checked = true; + this.checkBox9.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox9.Location = new System.Drawing.Point(17, 30); + this.checkBox9.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.checkBox9.Name = "checkBox9"; + this.checkBox9.Size = new System.Drawing.Size(119, 19); + this.checkBox9.TabIndex = 15; + this.checkBox9.Text = "娴嬮噺瀹屾垚鐩戞帶"; + this.checkBox9.UseVisualStyleBackColor = true; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.BackColor = System.Drawing.Color.White; + this.label7.ForeColor = System.Drawing.Color.Red; + this.label7.Location = new System.Drawing.Point(225, 81); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(52, 15); + this.label7.TabIndex = 20; + this.label7.Text = "鏈繛鎺�"; + // + // checkBox8 + // + this.checkBox8.AutoSize = true; + this.checkBox8.Checked = true; + this.checkBox8.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox8.Location = new System.Drawing.Point(17, 55); + this.checkBox8.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.checkBox8.Name = "checkBox8"; + this.checkBox8.Size = new System.Drawing.Size(119, 19); + this.checkBox8.TabIndex = 16; + this.checkBox8.Text = "宸ヤ欢鎺ㄥ嚭鐩戞帶"; + this.checkBox8.UseVisualStyleBackColor = true; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.BackColor = System.Drawing.Color.White; + this.label8.ForeColor = System.Drawing.Color.Red; + this.label8.Location = new System.Drawing.Point(225, 55); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(52, 15); + this.label8.TabIndex = 19; + this.label8.Text = "鏈繛鎺�"; + // + // checkBox7 + // + this.checkBox7.AutoSize = true; + this.checkBox7.Checked = true; + this.checkBox7.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox7.Location = new System.Drawing.Point(17, 80); + this.checkBox7.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.checkBox7.Name = "checkBox7"; + this.checkBox7.Size = new System.Drawing.Size(143, 19); + this.checkBox7.TabIndex = 17; + this.checkBox7.Text = "宸ヤ欢SPC鎺ㄥ嚭鐩戞帶"; + this.checkBox7.UseVisualStyleBackColor = true; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.BackColor = System.Drawing.Color.White; + this.label9.ForeColor = System.Drawing.Color.Red; + this.label9.Location = new System.Drawing.Point(225, 31); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(52, 15); + this.label9.TabIndex = 18; + this.label9.Text = "鏈繛鎺�"; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.panel2); + this.groupBox2.Location = new System.Drawing.Point(8, 235); + this.groupBox2.Margin = new System.Windows.Forms.Padding(4); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Padding = new System.Windows.Forms.Padding(4); + this.groupBox2.Size = new System.Drawing.Size(447, 204); + this.groupBox2.TabIndex = 3; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "OP20"; + // + // panel2 + // + this.panel2.AutoScroll = true; + this.panel2.Controls.Add(this.lbl_Alter_OP2007); + this.panel2.Controls.Add(this.ckBOP2007); + this.panel2.Controls.Add(this.ckBOP2001); + this.panel2.Controls.Add(this.lbl_Alter_OP2006); + this.panel2.Controls.Add(this.lbl_Alter_OP2001); + this.panel2.Controls.Add(this.ckBOP2006); + this.panel2.Controls.Add(this.ckBOP2002); + this.panel2.Controls.Add(this.lbl_Alter_OP2005); + this.panel2.Controls.Add(this.ckBOP2003); + this.panel2.Controls.Add(this.ckBOP2005); + this.panel2.Controls.Add(this.ckBOP2004); + this.panel2.Controls.Add(this.lbl_Alter_OP2004); + this.panel2.Controls.Add(this.lbl_Alter_OP2002); + this.panel2.Controls.Add(this.lbl_Alter_OP2003); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(4, 22); + this.panel2.Margin = new System.Windows.Forms.Padding(4); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(439, 178); + this.panel2.TabIndex = 25; + // + // lbl_Alter_OP2007 + // + this.lbl_Alter_OP2007.AutoSize = true; + this.lbl_Alter_OP2007.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP2007.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP2007.Location = new System.Drawing.Point(227, 154); + this.lbl_Alter_OP2007.Name = "lbl_Alter_OP2007"; + this.lbl_Alter_OP2007.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP2007.TabIndex = 26; + this.lbl_Alter_OP2007.Text = "鏈繛鎺�"; + // + // ckBOP2007 + // + this.ckBOP2007.AutoSize = true; + this.ckBOP2007.Checked = true; + this.ckBOP2007.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP2007.Location = new System.Drawing.Point(19, 152); + this.ckBOP2007.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP2007.Name = "ckBOP2007"; + this.ckBOP2007.Size = new System.Drawing.Size(89, 19); + this.ckBOP2007.TabIndex = 25; + this.ckBOP2007.Text = "蹇冭烦鐩戞帶"; + this.ckBOP2007.UseVisualStyleBackColor = true; + // + // ckBOP2001 + // + this.ckBOP2001.AutoSize = true; + this.ckBOP2001.Checked = true; + this.ckBOP2001.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP2001.Location = new System.Drawing.Point(19, 2); + this.ckBOP2001.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP2001.Name = "ckBOP2001"; + this.ckBOP2001.Size = new System.Drawing.Size(119, 19); + this.ckBOP2001.TabIndex = 13; + this.ckBOP2001.Text = "璇荤爜瀹屾垚鐩戞帶"; + this.ckBOP2001.UseVisualStyleBackColor = true; + // + // lbl_Alter_OP2006 + // + this.lbl_Alter_OP2006.AutoSize = true; + this.lbl_Alter_OP2006.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP2006.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP2006.Location = new System.Drawing.Point(227, 129); + this.lbl_Alter_OP2006.Name = "lbl_Alter_OP2006"; + this.lbl_Alter_OP2006.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP2006.TabIndex = 24; + this.lbl_Alter_OP2006.Text = "鏈繛鎺�"; + // + // lbl_Alter_OP2001 + // + this.lbl_Alter_OP2001.AutoSize = true; + this.lbl_Alter_OP2001.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP2001.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP2001.Location = new System.Drawing.Point(227, 2); + this.lbl_Alter_OP2001.Name = "lbl_Alter_OP2001"; + this.lbl_Alter_OP2001.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP2001.TabIndex = 14; + this.lbl_Alter_OP2001.Text = "鏈繛鎺�"; + // + // ckBOP2006 + // + this.ckBOP2006.AutoSize = true; + this.ckBOP2006.Checked = true; + this.ckBOP2006.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP2006.Location = new System.Drawing.Point(19, 128); + this.ckBOP2006.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP2006.Name = "ckBOP2006"; + this.ckBOP2006.Size = new System.Drawing.Size(119, 19); + this.ckBOP2006.TabIndex = 23; + this.ckBOP2006.Text = "鎶ヨ淇℃伅鐩戞帶"; + this.ckBOP2006.UseVisualStyleBackColor = true; + // + // ckBOP2002 + // + this.ckBOP2002.AutoSize = true; + this.ckBOP2002.Checked = true; + this.ckBOP2002.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP2002.Location = new System.Drawing.Point(19, 28); + this.ckBOP2002.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP2002.Name = "ckBOP2002"; + this.ckBOP2002.Size = new System.Drawing.Size(119, 19); + this.ckBOP2002.TabIndex = 15; + this.ckBOP2002.Text = "娴嬮噺瀹屾垚鐩戞帶"; + this.ckBOP2002.UseVisualStyleBackColor = true; + // + // lbl_Alter_OP2005 + // + this.lbl_Alter_OP2005.AutoSize = true; + this.lbl_Alter_OP2005.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP2005.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP2005.Location = new System.Drawing.Point(227, 104); + this.lbl_Alter_OP2005.Name = "lbl_Alter_OP2005"; + this.lbl_Alter_OP2005.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP2005.TabIndex = 22; + this.lbl_Alter_OP2005.Text = "鏈繛鎺�"; + // + // ckBOP2003 + // + this.ckBOP2003.AutoSize = true; + this.ckBOP2003.Checked = true; + this.ckBOP2003.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP2003.Location = new System.Drawing.Point(19, 52); + this.ckBOP2003.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP2003.Name = "ckBOP2003"; + this.ckBOP2003.Size = new System.Drawing.Size(119, 19); + this.ckBOP2003.TabIndex = 16; + this.ckBOP2003.Text = "宸ヤ欢鎺ㄥ嚭鐩戞帶"; + this.ckBOP2003.UseVisualStyleBackColor = true; + // + // ckBOP2005 + // + this.ckBOP2005.AutoSize = true; + this.ckBOP2005.Checked = true; + this.ckBOP2005.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP2005.Location = new System.Drawing.Point(19, 102); + this.ckBOP2005.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP2005.Name = "ckBOP2005"; + this.ckBOP2005.Size = new System.Drawing.Size(119, 19); + this.ckBOP2005.TabIndex = 21; + this.ckBOP2005.Text = "宸ュ簭瀹屾垚鐩戞帶"; + this.ckBOP2005.UseVisualStyleBackColor = true; + // + // ckBOP2004 + // + this.ckBOP2004.AutoSize = true; + this.ckBOP2004.Checked = true; + this.ckBOP2004.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP2004.Location = new System.Drawing.Point(19, 78); + this.ckBOP2004.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP2004.Name = "ckBOP2004"; + this.ckBOP2004.Size = new System.Drawing.Size(143, 19); + this.ckBOP2004.TabIndex = 17; + this.ckBOP2004.Text = "宸ヤ欢SPC鎺ㄥ嚭鐩戞帶"; + this.ckBOP2004.UseVisualStyleBackColor = true; + // + // lbl_Alter_OP2004 + // + this.lbl_Alter_OP2004.AutoSize = true; + this.lbl_Alter_OP2004.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP2004.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP2004.Location = new System.Drawing.Point(227, 79); + this.lbl_Alter_OP2004.Name = "lbl_Alter_OP2004"; + this.lbl_Alter_OP2004.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP2004.TabIndex = 20; + this.lbl_Alter_OP2004.Text = "鏈繛鎺�"; + // + // lbl_Alter_OP2002 + // + this.lbl_Alter_OP2002.AutoSize = true; + this.lbl_Alter_OP2002.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP2002.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP2002.Location = new System.Drawing.Point(227, 29); + this.lbl_Alter_OP2002.Name = "lbl_Alter_OP2002"; + this.lbl_Alter_OP2002.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP2002.TabIndex = 18; + this.lbl_Alter_OP2002.Text = "鏈繛鎺�"; + // + // lbl_Alter_OP2003 + // + this.lbl_Alter_OP2003.AutoSize = true; + this.lbl_Alter_OP2003.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP2003.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP2003.Location = new System.Drawing.Point(227, 52); + this.lbl_Alter_OP2003.Name = "lbl_Alter_OP2003"; + this.lbl_Alter_OP2003.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP2003.TabIndex = 19; + this.lbl_Alter_OP2003.Text = "鏈繛鎺�"; + // + // btn_StopAllThread + // + this.btn_StopAllThread.Location = new System.Drawing.Point(375, 32); + this.btn_StopAllThread.Margin = new System.Windows.Forms.Padding(4); + this.btn_StopAllThread.Name = "btn_StopAllThread"; + this.btn_StopAllThread.Size = new System.Drawing.Size(195, 41); + this.btn_StopAllThread.TabIndex = 2; + this.btn_StopAllThread.Text = "鍋滄鎵�鏈夐�変腑绾跨▼"; + this.btn_StopAllThread.UseVisualStyleBackColor = true; + // + // btn_StartUpAllThread + // + this.btn_StartUpAllThread.Location = new System.Drawing.Point(64, 32); + this.btn_StartUpAllThread.Margin = new System.Windows.Forms.Padding(4); + this.btn_StartUpAllThread.Name = "btn_StartUpAllThread"; + this.btn_StartUpAllThread.Size = new System.Drawing.Size(195, 41); + this.btn_StartUpAllThread.TabIndex = 1; + this.btn_StartUpAllThread.Text = "鍚姩鎵�鏈夐�変腑绾跨▼"; + this.btn_StartUpAllThread.UseVisualStyleBackColor = true; + this.btn_StartUpAllThread.Click += new System.EventHandler(this.btn_StartUpAllThread_Click); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.panel1); + this.groupBox1.Location = new System.Drawing.Point(8, 110); + this.groupBox1.Margin = new System.Windows.Forms.Padding(4); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(4); + this.groupBox1.Size = new System.Drawing.Size(447, 125); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "OP05"; + // + // panel1 + // + this.panel1.AutoScroll = true; + this.panel1.Controls.Add(this.ckBOP0501); + this.panel1.Controls.Add(this.lbl_Alter_OP0504); + this.panel1.Controls.Add(this.lbl_Alter_OP0501); + this.panel1.Controls.Add(this.lbl_Alter_OP0503); + this.panel1.Controls.Add(this.ckBOP0502); + this.panel1.Controls.Add(this.lbl_Alter_OP0502); + this.panel1.Controls.Add(this.ckBOP0503); + this.panel1.Controls.Add(this.ckBOP0504); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(4, 22); + this.panel1.Margin = new System.Windows.Forms.Padding(0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(439, 99); + this.panel1.TabIndex = 21; + // + // ckBOP0501 + // + this.ckBOP0501.AutoSize = true; + this.ckBOP0501.Checked = true; + this.ckBOP0501.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP0501.Location = new System.Drawing.Point(16, 2); + this.ckBOP0501.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP0501.Name = "ckBOP0501"; + this.ckBOP0501.Size = new System.Drawing.Size(119, 19); + this.ckBOP0501.TabIndex = 13; + this.ckBOP0501.Text = "鎵撶爜瀹屾垚鐩戞帶"; + this.ckBOP0501.UseVisualStyleBackColor = true; + this.ckBOP0501.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged); + // + // lbl_Alter_OP0504 + // + this.lbl_Alter_OP0504.AutoSize = true; + this.lbl_Alter_OP0504.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP0504.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP0504.Location = new System.Drawing.Point(224, 79); + this.lbl_Alter_OP0504.Name = "lbl_Alter_OP0504"; + this.lbl_Alter_OP0504.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP0504.TabIndex = 20; + this.lbl_Alter_OP0504.Text = "鏈繛鎺�"; + // + // lbl_Alter_OP0501 + // + this.lbl_Alter_OP0501.AutoSize = true; + this.lbl_Alter_OP0501.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP0501.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP0501.Location = new System.Drawing.Point(224, 2); + this.lbl_Alter_OP0501.Name = "lbl_Alter_OP0501"; + this.lbl_Alter_OP0501.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP0501.TabIndex = 14; + this.lbl_Alter_OP0501.Text = "鏈繛鎺�"; + // + // lbl_Alter_OP0503 + // + this.lbl_Alter_OP0503.AutoSize = true; + this.lbl_Alter_OP0503.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP0503.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP0503.Location = new System.Drawing.Point(224, 52); + this.lbl_Alter_OP0503.Name = "lbl_Alter_OP0503"; + this.lbl_Alter_OP0503.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP0503.TabIndex = 19; + this.lbl_Alter_OP0503.Text = "鏈繛鎺�"; + // + // ckBOP0502 + // + this.ckBOP0502.AutoSize = true; + this.ckBOP0502.Checked = true; + this.ckBOP0502.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP0502.Location = new System.Drawing.Point(16, 28); + this.ckBOP0502.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP0502.Name = "ckBOP0502"; + this.ckBOP0502.Size = new System.Drawing.Size(119, 19); + this.ckBOP0502.TabIndex = 15; + this.ckBOP0502.Text = "璇荤爜瀹屾垚鐩戞帶"; + this.ckBOP0502.UseVisualStyleBackColor = true; + this.ckBOP0502.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged); + // + // lbl_Alter_OP0502 + // + this.lbl_Alter_OP0502.AutoSize = true; + this.lbl_Alter_OP0502.BackColor = System.Drawing.Color.White; + this.lbl_Alter_OP0502.ForeColor = System.Drawing.Color.Red; + this.lbl_Alter_OP0502.Location = new System.Drawing.Point(224, 29); + this.lbl_Alter_OP0502.Name = "lbl_Alter_OP0502"; + this.lbl_Alter_OP0502.Size = new System.Drawing.Size(52, 15); + this.lbl_Alter_OP0502.TabIndex = 18; + this.lbl_Alter_OP0502.Text = "鏈繛鎺�"; + // + // ckBOP0503 + // + this.ckBOP0503.AutoSize = true; + this.ckBOP0503.Checked = true; + this.ckBOP0503.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP0503.Location = new System.Drawing.Point(16, 52); + this.ckBOP0503.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP0503.Name = "ckBOP0503"; + this.ckBOP0503.Size = new System.Drawing.Size(119, 19); + this.ckBOP0503.TabIndex = 16; + this.ckBOP0503.Text = "宸ヤ欢鎺ㄥ嚭鐩戞帶"; + this.ckBOP0503.UseVisualStyleBackColor = true; + this.ckBOP0503.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged); + // + // ckBOP0504 + // + this.ckBOP0504.AutoSize = true; + this.ckBOP0504.Checked = true; + this.ckBOP0504.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckBOP0504.Location = new System.Drawing.Point(16, 78); + this.ckBOP0504.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ckBOP0504.Name = "ckBOP0504"; + this.ckBOP0504.Size = new System.Drawing.Size(119, 19); + this.ckBOP0504.TabIndex = 17; + this.ckBOP0504.Text = "宸ュ簭瀹屾垚鐩戞帶"; + this.ckBOP0504.UseVisualStyleBackColor = true; + this.ckBOP0504.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged); + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.groupBox7); + this.tabPage3.Controls.Add(this.groupBox5); + this.tabPage3.Controls.Add(this.groupBox4); + this.tabPage3.Location = new System.Drawing.Point(4, 25); + this.tabPage3.Margin = new System.Windows.Forms.Padding(4); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.Padding = new System.Windows.Forms.Padding(4); + this.tabPage3.Size = new System.Drawing.Size(1443, 700); + this.tabPage3.TabIndex = 2; + this.tabPage3.Text = "鏁版嵁鏀堕泦鐐归厤缃�"; + this.tabPage3.UseVisualStyleBackColor = true; + // + // groupBox7 + // + this.groupBox7.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox7.Controls.Add(this.txt_ID); + this.groupBox7.Controls.Add(this.label19); + this.groupBox7.Controls.Add(this.cbox_DataCapturePLCType); + this.groupBox7.Controls.Add(this.txt_PLCPort); + this.groupBox7.Controls.Add(this.label18); + this.groupBox7.Controls.Add(this.cbox_DataCaptureColumnType); + this.groupBox7.Controls.Add(this.cbox_DataCaptureType); + this.groupBox7.Controls.Add(this.cbox_WorkingProcedure); + this.groupBox7.Controls.Add(this.txt_DbNumber); + this.groupBox7.Controls.Add(this.btn_Cancel); + this.groupBox7.Controls.Add(this.btn_Save); + this.groupBox7.Controls.Add(this.label15); + this.groupBox7.Controls.Add(this.txt_Offset); + this.groupBox7.Controls.Add(this.label14); + this.groupBox7.Controls.Add(this.label13); + this.groupBox7.Controls.Add(this.txt_DataCapturePointCode); + this.groupBox7.Controls.Add(this.label12); + this.groupBox7.Controls.Add(this.txt_DataCapturePointCname); + this.groupBox7.Controls.Add(this.label11); + this.groupBox7.Controls.Add(this.label5); + this.groupBox7.Controls.Add(this.label4); + this.groupBox7.Controls.Add(this.txt_PLCIP); + this.groupBox7.Controls.Add(this.label3); + this.groupBox7.Controls.Add(this.label2); + this.groupBox7.Controls.Add(this.txt_EquipmentID); + this.groupBox7.Controls.Add(this.label1); + this.groupBox7.Location = new System.Drawing.Point(4, 515); + this.groupBox7.Margin = new System.Windows.Forms.Padding(4); + this.groupBox7.Name = "groupBox7"; + this.groupBox7.Padding = new System.Windows.Forms.Padding(4); + this.groupBox7.Size = new System.Drawing.Size(1420, 168); + this.groupBox7.TabIndex = 4; + this.groupBox7.TabStop = false; + this.groupBox7.Text = "缂栬緫鏀堕泦鐐逛俊鎭�"; + this.groupBox7.Visible = false; + // + // txt_ID + // + this.txt_ID.Location = new System.Drawing.Point(124, 101); + this.txt_ID.Margin = new System.Windows.Forms.Padding(4); + this.txt_ID.Name = "txt_ID"; + this.txt_ID.Size = new System.Drawing.Size(132, 25); + this.txt_ID.TabIndex = 27; + this.txt_ID.Visible = false; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(29, 105); + this.label19.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(68, 15); + this.label19.TabIndex = 26; + this.label19.Text = "涓婚敭ID锛�"; + this.label19.Visible = false; + // + // cbox_DataCapturePLCType + // + this.cbox_DataCapturePLCType.FormattingEnabled = true; + this.cbox_DataCapturePLCType.Location = new System.Drawing.Point(439, 26); + this.cbox_DataCapturePLCType.Margin = new System.Windows.Forms.Padding(4); + this.cbox_DataCapturePLCType.Name = "cbox_DataCapturePLCType"; + this.cbox_DataCapturePLCType.Size = new System.Drawing.Size(132, 23); + this.cbox_DataCapturePLCType.TabIndex = 25; + // + // txt_PLCPort + // + this.txt_PLCPort.Location = new System.Drawing.Point(439, 94); + this.txt_PLCPort.Margin = new System.Windows.Forms.Padding(4); + this.txt_PLCPort.Name = "txt_PLCPort"; + this.txt_PLCPort.Size = new System.Drawing.Size(132, 25); + this.txt_PLCPort.TabIndex = 24; + this.txt_PLCPort.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txt_PLCPort_KeyPress); + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(352, 98); + this.label18.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(76, 15); + this.label18.TabIndex = 23; + this.label18.Text = "PLC绔彛锛�"; + // + // cbox_DataCaptureColumnType + // + this.cbox_DataCaptureColumnType.FormattingEnabled = true; + this.cbox_DataCaptureColumnType.Items.AddRange(new object[] { + "Int", + "DInt", + "Char", + "Real", + "Bool", + "String"}); + this.cbox_DataCaptureColumnType.Location = new System.Drawing.Point(1029, 98); + this.cbox_DataCaptureColumnType.Margin = new System.Windows.Forms.Padding(4); + this.cbox_DataCaptureColumnType.Name = "cbox_DataCaptureColumnType"; + this.cbox_DataCaptureColumnType.Size = new System.Drawing.Size(132, 23); + this.cbox_DataCaptureColumnType.TabIndex = 22; + // + // cbox_DataCaptureType + // + this.cbox_DataCaptureType.FormattingEnabled = true; + this.cbox_DataCaptureType.Location = new System.Drawing.Point(720, 90); + this.cbox_DataCaptureType.Margin = new System.Windows.Forms.Padding(4); + this.cbox_DataCaptureType.Name = "cbox_DataCaptureType"; + this.cbox_DataCaptureType.Size = new System.Drawing.Size(132, 23); + this.cbox_DataCaptureType.TabIndex = 21; + // + // cbox_WorkingProcedure + // + this.cbox_WorkingProcedure.FormattingEnabled = true; + this.cbox_WorkingProcedure.Items.AddRange(new object[] { + "OP05", + "OP10", + "OP20", + "OP30", + "OP35", + "OP40", + "OP50", + "OP60", + "OP70", + "OP80"}); + this.cbox_WorkingProcedure.Location = new System.Drawing.Point(124, 61); + this.cbox_WorkingProcedure.Margin = new System.Windows.Forms.Padding(4); + this.cbox_WorkingProcedure.Name = "cbox_WorkingProcedure"; + this.cbox_WorkingProcedure.Size = new System.Drawing.Size(132, 23); + this.cbox_WorkingProcedure.TabIndex = 20; + // + // txt_DbNumber + // + this.txt_DbNumber.Location = new System.Drawing.Point(1029, 26); + this.txt_DbNumber.Margin = new System.Windows.Forms.Padding(4); + this.txt_DbNumber.Name = "txt_DbNumber"; + this.txt_DbNumber.Size = new System.Drawing.Size(132, 25); + this.txt_DbNumber.TabIndex = 19; + // + // btn_Cancel + // + this.btn_Cancel.Location = new System.Drawing.Point(660, 126); + this.btn_Cancel.Margin = new System.Windows.Forms.Padding(4); + this.btn_Cancel.Name = "btn_Cancel"; + this.btn_Cancel.Size = new System.Drawing.Size(100, 29); + this.btn_Cancel.TabIndex = 3; + this.btn_Cancel.Text = "鍙栨秷"; + this.btn_Cancel.UseVisualStyleBackColor = true; + this.btn_Cancel.Click += new System.EventHandler(this.btn_Cancel_Click); + // + // btn_Save + // + this.btn_Save.Location = new System.Drawing.Point(552, 126); + this.btn_Save.Margin = new System.Windows.Forms.Padding(4); + this.btn_Save.Name = "btn_Save"; + this.btn_Save.Size = new System.Drawing.Size(100, 29); + this.btn_Save.TabIndex = 2; + this.btn_Save.Text = "淇濆瓨"; + this.btn_Save.UseVisualStyleBackColor = true; + this.btn_Save.Click += new System.EventHandler(this.btn_Save_Click); + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(903, 30); + this.label15.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(113, 15); + this.label15.TabIndex = 18; + this.label15.Text = "鑺傜偣DB鍧楀湴鍧�锛�"; + // + // txt_Offset + // + this.txt_Offset.Location = new System.Drawing.Point(1029, 60); + this.txt_Offset.Margin = new System.Windows.Forms.Padding(4); + this.txt_Offset.Name = "txt_Offset"; + this.txt_Offset.Size = new System.Drawing.Size(132, 25); + this.txt_Offset.TabIndex = 17; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(919, 64); + this.label14.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(97, 15); + this.label14.TabIndex = 16; + this.label14.Text = "鑺傜偣鍋忕Щ閲忥細"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(903, 101); + this.label13.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(112, 15); + this.label13.TabIndex = 14; + this.label13.Text = "鑺傜偣鏁版嵁绫诲瀷锛�"; + // + // txt_DataCapturePointCode + // + this.txt_DataCapturePointCode.Location = new System.Drawing.Point(720, 26); + this.txt_DataCapturePointCode.Margin = new System.Windows.Forms.Padding(4); + this.txt_DataCapturePointCode.Name = "txt_DataCapturePointCode"; + this.txt_DataCapturePointCode.Size = new System.Drawing.Size(132, 25); + this.txt_DataCapturePointCode.TabIndex = 13; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(609, 30); + this.label12.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(97, 15); + this.label12.TabIndex = 12; + this.label12.Text = "鏀堕泦鐐逛唬鐮侊細"; + // + // txt_DataCapturePointCname + // + this.txt_DataCapturePointCname.Location = new System.Drawing.Point(720, 60); + this.txt_DataCapturePointCname.Margin = new System.Windows.Forms.Padding(4); + this.txt_DataCapturePointCname.Name = "txt_DataCapturePointCname"; + this.txt_DataCapturePointCname.Size = new System.Drawing.Size(132, 25); + this.txt_DataCapturePointCname.TabIndex = 11; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(609, 64); + this.label11.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(97, 15); + this.label11.TabIndex = 10; + this.label11.Text = "鏀堕泦鐐规弿杩帮細"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(625, 98); + this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(82, 15); + this.label5.TabIndex = 8; + this.label5.Text = "鏀堕泦鏂瑰紡锛�"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(352, 30); + this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(76, 15); + this.label4.TabIndex = 6; + this.label4.Text = "PLC鍨嬪彿锛�"; + // + // txt_PLCIP + // + this.txt_PLCIP.Location = new System.Drawing.Point(439, 60); + this.txt_PLCIP.Margin = new System.Windows.Forms.Padding(4); + this.txt_PLCIP.Name = "txt_PLCIP"; + this.txt_PLCIP.Size = new System.Drawing.Size(132, 25); + this.txt_PLCIP.TabIndex = 5; + this.txt_PLCIP.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txt_PLCIP_KeyPress); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(328, 64); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(100, 15); + this.label3.TabIndex = 4; + this.label3.Text = "PLC IP鍦板潃锛�"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(45, 64); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.TabIndex = 2; + this.label2.Text = "宸ュ簭鍙凤細"; + // + // txt_EquipmentID + // + this.txt_EquipmentID.Location = new System.Drawing.Point(124, 26); + this.txt_EquipmentID.Margin = new System.Windows.Forms.Padding(4); + this.txt_EquipmentID.Name = "txt_EquipmentID"; + this.txt_EquipmentID.Size = new System.Drawing.Size(132, 25); + this.txt_EquipmentID.TabIndex = 1; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(29, 30); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(82, 15); + this.label1.TabIndex = 0; + this.label1.Text = "璁惧缂栧彿锛�"; + // + // groupBox5 + // + this.groupBox5.Controls.Add(this.btn_Delete); + this.groupBox5.Controls.Add(this.dgv_DataCaptureConfig); + this.groupBox5.Controls.Add(this.btn_Update); + this.groupBox5.Controls.Add(this.btn_Insert); + this.groupBox5.Location = new System.Drawing.Point(4, 89); + this.groupBox5.Margin = new System.Windows.Forms.Padding(4); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.Padding = new System.Windows.Forms.Padding(4); + this.groupBox5.Size = new System.Drawing.Size(1428, 419); + this.groupBox5.TabIndex = 1; + this.groupBox5.TabStop = false; + this.groupBox5.Text = "鏀堕泦鐐逛俊鎭�"; + // + // btn_Delete + // + this.btn_Delete.Location = new System.Drawing.Point(720, 382); + this.btn_Delete.Margin = new System.Windows.Forms.Padding(4); + this.btn_Delete.Name = "btn_Delete"; + this.btn_Delete.Size = new System.Drawing.Size(100, 29); + this.btn_Delete.TabIndex = 7; + this.btn_Delete.Text = "鍒犻櫎"; + this.btn_Delete.UseVisualStyleBackColor = true; + this.btn_Delete.Click += new System.EventHandler(this.btn_Delete_Click); + // + // dgv_DataCaptureConfig + // + this.dgv_DataCaptureConfig.AllowUserToAddRows = false; + this.dgv_DataCaptureConfig.AllowUserToDeleteRows = false; + this.dgv_DataCaptureConfig.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgv_DataCaptureConfig.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.EquipmentID, + this.WorkingProcedure, + this.DataCapturePointCode, + this.DataCapturePointCname, + this.DataCaptureType, + this.DataCapturePLCType, + this.PLCIP, + this.PLCPort, + this.DataCaptureColumn, + this.DataCaptureColumnType}); + this.dgv_DataCaptureConfig.Location = new System.Drawing.Point(4, 21); + this.dgv_DataCaptureConfig.Margin = new System.Windows.Forms.Padding(4); + this.dgv_DataCaptureConfig.MultiSelect = false; + this.dgv_DataCaptureConfig.Name = "dgv_DataCaptureConfig"; + this.dgv_DataCaptureConfig.ReadOnly = true; + this.dgv_DataCaptureConfig.RowHeadersWidth = 51; + this.dgv_DataCaptureConfig.RowTemplate.Height = 23; + this.dgv_DataCaptureConfig.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.dgv_DataCaptureConfig.Size = new System.Drawing.Size(1420, 354); + this.dgv_DataCaptureConfig.TabIndex = 3; + // + // EquipmentID + // + this.EquipmentID.DataPropertyName = "EquipmentID"; + this.EquipmentID.HeaderText = "璁惧缂栧彿"; + this.EquipmentID.MinimumWidth = 6; + this.EquipmentID.Name = "EquipmentID"; + this.EquipmentID.ReadOnly = true; + this.EquipmentID.Width = 125; + // + // WorkingProcedure + // + this.WorkingProcedure.DataPropertyName = "WorkingProcedure"; + this.WorkingProcedure.HeaderText = "宸ュ簭鍙�"; + this.WorkingProcedure.MinimumWidth = 6; + this.WorkingProcedure.Name = "WorkingProcedure"; + this.WorkingProcedure.ReadOnly = true; + this.WorkingProcedure.Width = 125; + // + // DataCapturePointCode + // + this.DataCapturePointCode.DataPropertyName = "DataCapturePointCode"; + this.DataCapturePointCode.HeaderText = "鏁版嵁鏀堕泦鐐逛唬鐮�"; + this.DataCapturePointCode.MinimumWidth = 6; + this.DataCapturePointCode.Name = "DataCapturePointCode"; + this.DataCapturePointCode.ReadOnly = true; + this.DataCapturePointCode.Width = 125; + // + // DataCapturePointCname + // + this.DataCapturePointCname.DataPropertyName = "DataCapturePointCname"; + this.DataCapturePointCname.HeaderText = "鏀堕泦鏀堕泦鐐规弿杩�"; + this.DataCapturePointCname.MinimumWidth = 6; + this.DataCapturePointCname.Name = "DataCapturePointCname"; + this.DataCapturePointCname.ReadOnly = true; + this.DataCapturePointCname.Width = 125; + // + // DataCaptureType + // + this.DataCaptureType.DataPropertyName = "DataCaptureType"; + this.DataCaptureType.HeaderText = "鏀堕泦鏂瑰紡"; + this.DataCaptureType.MinimumWidth = 6; + this.DataCaptureType.Name = "DataCaptureType"; + this.DataCaptureType.ReadOnly = true; + this.DataCaptureType.Width = 125; + // + // DataCapturePLCType + // + this.DataCapturePLCType.DataPropertyName = "DataCapturePLCType"; + this.DataCapturePLCType.HeaderText = "鏀堕泦PLC鍨嬪彿"; + this.DataCapturePLCType.MinimumWidth = 6; + this.DataCapturePLCType.Name = "DataCapturePLCType"; + this.DataCapturePLCType.ReadOnly = true; + this.DataCapturePLCType.Width = 125; + // + // PLCIP + // + this.PLCIP.DataPropertyName = "PLCIP"; + this.PLCIP.HeaderText = "PLC鐨処P鍦板潃"; + this.PLCIP.MinimumWidth = 6; + this.PLCIP.Name = "PLCIP"; + this.PLCIP.ReadOnly = true; + this.PLCIP.Width = 125; + // + // PLCPort + // + this.PLCPort.DataPropertyName = "PLCPort"; + this.PLCPort.HeaderText = "PLC绔彛"; + this.PLCPort.MinimumWidth = 6; + this.PLCPort.Name = "PLCPort"; + this.PLCPort.ReadOnly = true; + this.PLCPort.Width = 125; + // + // DataCaptureColumn + // + this.DataCaptureColumn.DataPropertyName = "DataCaptureColumn"; + this.DataCaptureColumn.HeaderText = "鏀堕泦瀛楁鍚�"; + this.DataCaptureColumn.MinimumWidth = 6; + this.DataCaptureColumn.Name = "DataCaptureColumn"; + this.DataCaptureColumn.ReadOnly = true; + this.DataCaptureColumn.Width = 125; + // + // DataCaptureColumnType + // + this.DataCaptureColumnType.DataPropertyName = "DataCaptureColumnType"; + this.DataCaptureColumnType.HeaderText = "鏀堕泦瀛楁绫诲瀷"; + this.DataCaptureColumnType.MinimumWidth = 6; + this.DataCaptureColumnType.Name = "DataCaptureColumnType"; + this.DataCaptureColumnType.ReadOnly = true; + this.DataCaptureColumnType.Width = 125; + // + // btn_Update + // + this.btn_Update.Location = new System.Drawing.Point(569, 382); + this.btn_Update.Margin = new System.Windows.Forms.Padding(4); + this.btn_Update.Name = "btn_Update"; + this.btn_Update.Size = new System.Drawing.Size(100, 29); + this.btn_Update.TabIndex = 6; + this.btn_Update.Text = "淇敼"; + this.btn_Update.UseVisualStyleBackColor = true; + this.btn_Update.Click += new System.EventHandler(this.btn_Update_Click); + // + // btn_Insert + // + this.btn_Insert.Location = new System.Drawing.Point(423, 382); + this.btn_Insert.Margin = new System.Windows.Forms.Padding(4); + this.btn_Insert.Name = "btn_Insert"; + this.btn_Insert.Size = new System.Drawing.Size(100, 29); + this.btn_Insert.TabIndex = 5; + this.btn_Insert.Text = "鏂板"; + this.btn_Insert.UseVisualStyleBackColor = true; + this.btn_Insert.Click += new System.EventHandler(this.btn_Insert_Click); + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.cbox_WorkingProcedure_Query); + this.groupBox4.Controls.Add(this.label17); + this.groupBox4.Controls.Add(this.textBox11); + this.groupBox4.Controls.Add(this.label16); + this.groupBox4.Controls.Add(this.btn_Query); + this.groupBox4.Location = new System.Drawing.Point(4, 9); + this.groupBox4.Margin = new System.Windows.Forms.Padding(4); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Padding = new System.Windows.Forms.Padding(4); + this.groupBox4.Size = new System.Drawing.Size(1427, 72); + this.groupBox4.TabIndex = 0; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "鏌ヨ鏉′欢"; + // + // cbox_WorkingProcedure_Query + // + this.cbox_WorkingProcedure_Query.FormattingEnabled = true; + this.cbox_WorkingProcedure_Query.Items.AddRange(new object[] { + "OP05", + "OP10", + "OP20", + "OP30", + "OP35", + "OP40", + "OP50", + "OP60", + "OP70", + "OP80"}); + this.cbox_WorkingProcedure_Query.Location = new System.Drawing.Point(396, 31); + this.cbox_WorkingProcedure_Query.Margin = new System.Windows.Forms.Padding(4); + this.cbox_WorkingProcedure_Query.Name = "cbox_WorkingProcedure_Query"; + this.cbox_WorkingProcedure_Query.Size = new System.Drawing.Size(132, 23); + this.cbox_WorkingProcedure_Query.TabIndex = 22; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(317, 34); + this.label17.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(67, 15); + this.label17.TabIndex = 21; + this.label17.Text = "宸ュ簭鍙凤細"; + // + // textBox11 + // + this.textBox11.Location = new System.Drawing.Point(143, 28); + this.textBox11.Margin = new System.Windows.Forms.Padding(4); + this.textBox11.Name = "textBox11"; + this.textBox11.Size = new System.Drawing.Size(132, 25); + this.textBox11.TabIndex = 15; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(32, 31); + this.label16.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(97, 15); + this.label16.TabIndex = 14; + this.label16.Text = "鏀堕泦鐐逛唬鐮侊細"; + // + // btn_Query + // + this.btn_Query.Location = new System.Drawing.Point(1207, 25); + this.btn_Query.Margin = new System.Windows.Forms.Padding(4); + this.btn_Query.Name = "btn_Query"; + this.btn_Query.Size = new System.Drawing.Size(100, 29); + this.btn_Query.TabIndex = 1; + this.btn_Query.Text = "鏌ヨ"; + this.btn_Query.UseVisualStyleBackColor = true; + this.btn_Query.Click += new System.EventHandler(this.button5_Click); + // + // tabPage4 + // + this.tabPage4.Controls.Add(this.groupBox9); + this.tabPage4.Controls.Add(this.groupBox8); + this.tabPage4.Controls.Add(this.groupBox6); + this.tabPage4.Location = new System.Drawing.Point(4, 25); + this.tabPage4.Margin = new System.Windows.Forms.Padding(4); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.Padding = new System.Windows.Forms.Padding(4); + this.tabPage4.Size = new System.Drawing.Size(1443, 700); + this.tabPage4.TabIndex = 3; + this.tabPage4.Text = "鏁版嵁鏀堕泦瀛楁閰嶇疆"; + this.tabPage4.UseVisualStyleBackColor = true; + // + // groupBox9 + // + this.groupBox9.Controls.Add(this.comboBox5); + this.groupBox9.Controls.Add(this.label32); + this.groupBox9.Controls.Add(this.textBox9); + this.groupBox9.Controls.Add(this.label33); + this.groupBox9.Controls.Add(this.button7); + this.groupBox9.Location = new System.Drawing.Point(9, 9); + this.groupBox9.Margin = new System.Windows.Forms.Padding(4); + this.groupBox9.Name = "groupBox9"; + this.groupBox9.Padding = new System.Windows.Forms.Padding(4); + this.groupBox9.Size = new System.Drawing.Size(1427, 72); + this.groupBox9.TabIndex = 7; + this.groupBox9.TabStop = false; + this.groupBox9.Text = "鏌ヨ鏉′欢"; + // + // comboBox5 + // + this.comboBox5.FormattingEnabled = true; + this.comboBox5.Items.AddRange(new object[] { + "OP05", + "OP10", + "OP20", + "OP30", + "OP35", + "OP40", + "OP50", + "OP60", + "OP70", + "OP80"}); + this.comboBox5.Location = new System.Drawing.Point(396, 31); + this.comboBox5.Margin = new System.Windows.Forms.Padding(4); + this.comboBox5.Name = "comboBox5"; + this.comboBox5.Size = new System.Drawing.Size(132, 23); + this.comboBox5.TabIndex = 22; + // + // label32 + // + this.label32.AutoSize = true; + this.label32.Location = new System.Drawing.Point(317, 34); + this.label32.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label32.Name = "label32"; + this.label32.Size = new System.Drawing.Size(67, 15); + this.label32.TabIndex = 21; + this.label32.Text = "宸ュ簭鍙凤細"; + // + // textBox9 + // + this.textBox9.Location = new System.Drawing.Point(143, 28); + this.textBox9.Margin = new System.Windows.Forms.Padding(4); + this.textBox9.Name = "textBox9"; + this.textBox9.Size = new System.Drawing.Size(132, 25); + this.textBox9.TabIndex = 15; + // + // label33 + // + this.label33.AutoSize = true; + this.label33.Location = new System.Drawing.Point(32, 31); + this.label33.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label33.Name = "label33"; + this.label33.Size = new System.Drawing.Size(97, 15); + this.label33.TabIndex = 14; + this.label33.Text = "鏀堕泦鐐逛唬鐮侊細"; + // + // button7 + // + this.button7.Location = new System.Drawing.Point(1207, 25); + this.button7.Margin = new System.Windows.Forms.Padding(4); + this.button7.Name = "button7"; + this.button7.Size = new System.Drawing.Size(100, 29); + this.button7.TabIndex = 1; + this.button7.Text = "鏌ヨ"; + this.button7.UseVisualStyleBackColor = true; + // + // groupBox8 + // + this.groupBox8.Controls.Add(this.button4); + this.groupBox8.Controls.Add(this.dataGridView1); + this.groupBox8.Controls.Add(this.button5); + this.groupBox8.Controls.Add(this.button6); + this.groupBox8.Location = new System.Drawing.Point(8, 89); + this.groupBox8.Margin = new System.Windows.Forms.Padding(4); + this.groupBox8.Name = "groupBox8"; + this.groupBox8.Padding = new System.Windows.Forms.Padding(4); + this.groupBox8.Size = new System.Drawing.Size(1428, 419); + this.groupBox8.TabIndex = 6; + this.groupBox8.TabStop = false; + this.groupBox8.Text = "鏀堕泦鐐逛俊鎭�"; + // + // button4 + // + this.button4.Location = new System.Drawing.Point(720, 382); + this.button4.Margin = new System.Windows.Forms.Padding(4); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(100, 29); + this.button4.TabIndex = 7; + this.button4.Text = "鍒犻櫎"; + this.button4.UseVisualStyleBackColor = true; + // + // dataGridView1 + // + this.dataGridView1.AllowUserToAddRows = false; + this.dataGridView1.AllowUserToDeleteRows = false; + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dataGridViewTextBoxColumn1, + this.dataGridViewTextBoxColumn2, + this.dataGridViewTextBoxColumn3, + this.dataGridViewTextBoxColumn4, + this.dataGridViewTextBoxColumn5, + this.dataGridViewTextBoxColumn6, + this.dataGridViewTextBoxColumn7, + this.dataGridViewTextBoxColumn8, + this.dataGridViewTextBoxColumn9, + this.dataGridViewTextBoxColumn10}); + this.dataGridView1.Location = new System.Drawing.Point(4, 21); + this.dataGridView1.Margin = new System.Windows.Forms.Padding(4); + this.dataGridView1.MultiSelect = false; + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.ReadOnly = true; + this.dataGridView1.RowHeadersWidth = 51; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.dataGridView1.Size = new System.Drawing.Size(1420, 354); + this.dataGridView1.TabIndex = 3; + // + // dataGridViewTextBoxColumn1 + // + this.dataGridViewTextBoxColumn1.DataPropertyName = "EquipmentID"; + this.dataGridViewTextBoxColumn1.HeaderText = "璁惧缂栧彿"; + this.dataGridViewTextBoxColumn1.MinimumWidth = 6; + this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1"; + this.dataGridViewTextBoxColumn1.ReadOnly = true; + this.dataGridViewTextBoxColumn1.Width = 125; + // + // dataGridViewTextBoxColumn2 + // + this.dataGridViewTextBoxColumn2.DataPropertyName = "WorkingProcedure"; + this.dataGridViewTextBoxColumn2.HeaderText = "宸ュ簭鍙�"; + this.dataGridViewTextBoxColumn2.MinimumWidth = 6; + this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2"; + this.dataGridViewTextBoxColumn2.ReadOnly = true; + this.dataGridViewTextBoxColumn2.Width = 125; + // + // dataGridViewTextBoxColumn3 + // + this.dataGridViewTextBoxColumn3.DataPropertyName = "DataCapturePointCode"; + this.dataGridViewTextBoxColumn3.HeaderText = "鏁版嵁鏀堕泦鐐逛唬鐮�"; + this.dataGridViewTextBoxColumn3.MinimumWidth = 6; + this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3"; + this.dataGridViewTextBoxColumn3.ReadOnly = true; + this.dataGridViewTextBoxColumn3.Width = 125; + // + // dataGridViewTextBoxColumn4 + // + this.dataGridViewTextBoxColumn4.DataPropertyName = "DataCapturePointCname"; + this.dataGridViewTextBoxColumn4.HeaderText = "鏀堕泦鏀堕泦鐐规弿杩�"; + this.dataGridViewTextBoxColumn4.MinimumWidth = 6; + this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4"; + this.dataGridViewTextBoxColumn4.ReadOnly = true; + this.dataGridViewTextBoxColumn4.Width = 125; + // + // dataGridViewTextBoxColumn5 + // + this.dataGridViewTextBoxColumn5.DataPropertyName = "DataCaptureType"; + this.dataGridViewTextBoxColumn5.HeaderText = "鏀堕泦鏂瑰紡"; + this.dataGridViewTextBoxColumn5.MinimumWidth = 6; + this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5"; + this.dataGridViewTextBoxColumn5.ReadOnly = true; + this.dataGridViewTextBoxColumn5.Width = 125; + // + // dataGridViewTextBoxColumn6 + // + this.dataGridViewTextBoxColumn6.DataPropertyName = "DataCapturePLCType"; + this.dataGridViewTextBoxColumn6.HeaderText = "鏀堕泦PLC鍨嬪彿"; + this.dataGridViewTextBoxColumn6.MinimumWidth = 6; + this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6"; + this.dataGridViewTextBoxColumn6.ReadOnly = true; + this.dataGridViewTextBoxColumn6.Width = 125; + // + // dataGridViewTextBoxColumn7 + // + this.dataGridViewTextBoxColumn7.DataPropertyName = "PLCIP"; + this.dataGridViewTextBoxColumn7.HeaderText = "PLC鐨処P鍦板潃"; + this.dataGridViewTextBoxColumn7.MinimumWidth = 6; + this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7"; + this.dataGridViewTextBoxColumn7.ReadOnly = true; + this.dataGridViewTextBoxColumn7.Width = 125; + // + // dataGridViewTextBoxColumn8 + // + this.dataGridViewTextBoxColumn8.DataPropertyName = "PLCPort"; + this.dataGridViewTextBoxColumn8.HeaderText = "PLC绔彛"; + this.dataGridViewTextBoxColumn8.MinimumWidth = 6; + this.dataGridViewTextBoxColumn8.Name = "dataGridViewTextBoxColumn8"; + this.dataGridViewTextBoxColumn8.ReadOnly = true; + this.dataGridViewTextBoxColumn8.Width = 125; + // + // dataGridViewTextBoxColumn9 + // + this.dataGridViewTextBoxColumn9.DataPropertyName = "DataCaptureColumn"; + this.dataGridViewTextBoxColumn9.HeaderText = "鏀堕泦瀛楁鍚�"; + this.dataGridViewTextBoxColumn9.MinimumWidth = 6; + this.dataGridViewTextBoxColumn9.Name = "dataGridViewTextBoxColumn9"; + this.dataGridViewTextBoxColumn9.ReadOnly = true; + this.dataGridViewTextBoxColumn9.Width = 125; + // + // dataGridViewTextBoxColumn10 + // + this.dataGridViewTextBoxColumn10.DataPropertyName = "DataCaptureColumnType"; + this.dataGridViewTextBoxColumn10.HeaderText = "鏀堕泦瀛楁绫诲瀷"; + this.dataGridViewTextBoxColumn10.MinimumWidth = 6; + this.dataGridViewTextBoxColumn10.Name = "dataGridViewTextBoxColumn10"; + this.dataGridViewTextBoxColumn10.ReadOnly = true; + this.dataGridViewTextBoxColumn10.Width = 125; + // + // button5 + // + this.button5.Location = new System.Drawing.Point(569, 382); + this.button5.Margin = new System.Windows.Forms.Padding(4); + this.button5.Name = "button5"; + this.button5.Size = new System.Drawing.Size(100, 29); + this.button5.TabIndex = 6; + this.button5.Text = "淇敼"; + this.button5.UseVisualStyleBackColor = true; + // + // button6 + // + this.button6.Location = new System.Drawing.Point(423, 382); + this.button6.Margin = new System.Windows.Forms.Padding(4); + this.button6.Name = "button6"; + this.button6.Size = new System.Drawing.Size(100, 29); + this.button6.TabIndex = 5; + this.button6.Text = "鏂板"; + this.button6.UseVisualStyleBackColor = true; + // + // groupBox6 + // + this.groupBox6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox6.Controls.Add(this.textBox1); + this.groupBox6.Controls.Add(this.label20); + this.groupBox6.Controls.Add(this.comboBox1); + this.groupBox6.Controls.Add(this.textBox2); + this.groupBox6.Controls.Add(this.label21); + this.groupBox6.Controls.Add(this.comboBox2); + this.groupBox6.Controls.Add(this.comboBox3); + this.groupBox6.Controls.Add(this.comboBox4); + this.groupBox6.Controls.Add(this.textBox3); + this.groupBox6.Controls.Add(this.button2); + this.groupBox6.Controls.Add(this.button3); + this.groupBox6.Controls.Add(this.label22); + this.groupBox6.Controls.Add(this.textBox4); + this.groupBox6.Controls.Add(this.label23); + this.groupBox6.Controls.Add(this.label24); + this.groupBox6.Controls.Add(this.textBox5); + this.groupBox6.Controls.Add(this.label25); + this.groupBox6.Controls.Add(this.textBox6); + this.groupBox6.Controls.Add(this.label26); + this.groupBox6.Controls.Add(this.label27); + this.groupBox6.Controls.Add(this.label28); + this.groupBox6.Controls.Add(this.textBox7); + this.groupBox6.Controls.Add(this.label29); + this.groupBox6.Controls.Add(this.label30); + this.groupBox6.Controls.Add(this.textBox8); + this.groupBox6.Controls.Add(this.label31); + this.groupBox6.Location = new System.Drawing.Point(8, 515); + this.groupBox6.Margin = new System.Windows.Forms.Padding(4); + this.groupBox6.Name = "groupBox6"; + this.groupBox6.Padding = new System.Windows.Forms.Padding(4); + this.groupBox6.Size = new System.Drawing.Size(1420, 168); + this.groupBox6.TabIndex = 5; + this.groupBox6.TabStop = false; + this.groupBox6.Text = "缂栬緫鏀堕泦鐐逛俊鎭�"; + this.groupBox6.Visible = false; + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(124, 101); + this.textBox1.Margin = new System.Windows.Forms.Padding(4); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(132, 25); + this.textBox1.TabIndex = 27; + this.textBox1.Visible = false; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(29, 105); + this.label20.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(68, 15); + this.label20.TabIndex = 26; + this.label20.Text = "涓婚敭ID锛�"; + this.label20.Visible = false; + // + // comboBox1 + // + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Location = new System.Drawing.Point(439, 26); + this.comboBox1.Margin = new System.Windows.Forms.Padding(4); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(132, 23); + this.comboBox1.TabIndex = 25; + // + // textBox2 + // + this.textBox2.Location = new System.Drawing.Point(439, 94); + this.textBox2.Margin = new System.Windows.Forms.Padding(4); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(132, 25); + this.textBox2.TabIndex = 24; + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(352, 98); + this.label21.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(76, 15); + this.label21.TabIndex = 23; + this.label21.Text = "PLC绔彛锛�"; + // + // comboBox2 + // + this.comboBox2.FormattingEnabled = true; + this.comboBox2.Items.AddRange(new object[] { + "Int", + "DInt", + "Char", + "Real", + "Bool", + "String", + ""}); + this.comboBox2.Location = new System.Drawing.Point(1029, 98); + this.comboBox2.Margin = new System.Windows.Forms.Padding(4); + this.comboBox2.Name = "comboBox2"; + this.comboBox2.Size = new System.Drawing.Size(132, 23); + this.comboBox2.TabIndex = 22; + // + // comboBox3 + // + this.comboBox3.FormattingEnabled = true; + this.comboBox3.Location = new System.Drawing.Point(720, 90); + this.comboBox3.Margin = new System.Windows.Forms.Padding(4); + this.comboBox3.Name = "comboBox3"; + this.comboBox3.Size = new System.Drawing.Size(132, 23); + this.comboBox3.TabIndex = 21; + // + // comboBox4 + // + this.comboBox4.FormattingEnabled = true; + this.comboBox4.Items.AddRange(new object[] { + "OP05", + "OP10", + "OP20", + "OP30", + "OP35", + "OP40", + "OP50", + "OP60", + "OP70", + "OP80"}); + this.comboBox4.Location = new System.Drawing.Point(124, 61); + this.comboBox4.Margin = new System.Windows.Forms.Padding(4); + this.comboBox4.Name = "comboBox4"; + this.comboBox4.Size = new System.Drawing.Size(132, 23); + this.comboBox4.TabIndex = 20; + // + // textBox3 + // + this.textBox3.Location = new System.Drawing.Point(1029, 26); + this.textBox3.Margin = new System.Windows.Forms.Padding(4); + this.textBox3.Name = "textBox3"; + this.textBox3.Size = new System.Drawing.Size(132, 25); + this.textBox3.TabIndex = 19; + // + // button2 + // + this.button2.Location = new System.Drawing.Point(660, 126); + this.button2.Margin = new System.Windows.Forms.Padding(4); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(100, 29); + this.button2.TabIndex = 3; + this.button2.Text = "鍙栨秷"; + this.button2.UseVisualStyleBackColor = true; + // + // button3 + // + this.button3.Location = new System.Drawing.Point(552, 126); + this.button3.Margin = new System.Windows.Forms.Padding(4); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(100, 29); + this.button3.TabIndex = 2; + this.button3.Text = "淇濆瓨"; + this.button3.UseVisualStyleBackColor = true; + // + // label22 + // + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(903, 30); + this.label22.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(113, 15); + this.label22.TabIndex = 18; + this.label22.Text = "鑺傜偣DB鍧楀湴鍧�锛�"; + // + // textBox4 + // + this.textBox4.Location = new System.Drawing.Point(1029, 60); + this.textBox4.Margin = new System.Windows.Forms.Padding(4); + this.textBox4.Name = "textBox4"; + this.textBox4.Size = new System.Drawing.Size(132, 25); + this.textBox4.TabIndex = 17; + // + // label23 + // + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(919, 64); + this.label23.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(97, 15); + this.label23.TabIndex = 16; + this.label23.Text = "鑺傜偣鍋忕Щ閲忥細"; + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(903, 101); + this.label24.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(112, 15); + this.label24.TabIndex = 14; + this.label24.Text = "鑺傜偣鏁版嵁绫诲瀷锛�"; + // + // textBox5 + // + this.textBox5.Location = new System.Drawing.Point(720, 26); + this.textBox5.Margin = new System.Windows.Forms.Padding(4); + this.textBox5.Name = "textBox5"; + this.textBox5.Size = new System.Drawing.Size(132, 25); + this.textBox5.TabIndex = 13; + // + // label25 + // + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(609, 30); + this.label25.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(97, 15); + this.label25.TabIndex = 12; + this.label25.Text = "鏀堕泦鐐逛唬鐮侊細"; + // + // textBox6 + // + this.textBox6.Location = new System.Drawing.Point(720, 60); + this.textBox6.Margin = new System.Windows.Forms.Padding(4); + this.textBox6.Name = "textBox6"; + this.textBox6.Size = new System.Drawing.Size(132, 25); + this.textBox6.TabIndex = 11; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(609, 64); + this.label26.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(97, 15); + this.label26.TabIndex = 10; + this.label26.Text = "鏀堕泦鐐规弿杩帮細"; + // + // label27 + // + this.label27.AutoSize = true; + this.label27.Location = new System.Drawing.Point(625, 98); + this.label27.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(82, 15); + this.label27.TabIndex = 8; + this.label27.Text = "鏀堕泦鏂瑰紡锛�"; + // + // label28 + // + this.label28.AutoSize = true; + this.label28.Location = new System.Drawing.Point(352, 30); + this.label28.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(76, 15); + this.label28.TabIndex = 6; + this.label28.Text = "PLC鍨嬪彿锛�"; + // + // textBox7 + // + this.textBox7.Location = new System.Drawing.Point(439, 60); + this.textBox7.Margin = new System.Windows.Forms.Padding(4); + this.textBox7.Name = "textBox7"; + this.textBox7.Size = new System.Drawing.Size(132, 25); + this.textBox7.TabIndex = 5; + // + // label29 + // + this.label29.AutoSize = true; + this.label29.Location = new System.Drawing.Point(328, 64); + this.label29.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(100, 15); + this.label29.TabIndex = 4; + this.label29.Text = "PLC IP鍦板潃锛�"; + // + // label30 + // + this.label30.AutoSize = true; + this.label30.Location = new System.Drawing.Point(45, 64); + this.label30.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label30.Name = "label30"; + this.label30.Size = new System.Drawing.Size(67, 15); + this.label30.TabIndex = 2; + this.label30.Text = "宸ュ簭鍙凤細"; + // + // textBox8 + // + this.textBox8.Location = new System.Drawing.Point(124, 26); + this.textBox8.Margin = new System.Windows.Forms.Padding(4); + this.textBox8.Name = "textBox8"; + this.textBox8.Size = new System.Drawing.Size(132, 25); + this.textBox8.TabIndex = 1; + // + // label31 + // + this.label31.AutoSize = true; + this.label31.Location = new System.Drawing.Point(29, 30); + this.label31.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label31.Name = "label31"; + this.label31.Size = new System.Drawing.Size(82, 15); + this.label31.TabIndex = 0; + this.label31.Text = "璁惧缂栧彿锛�"; + // + // FormMain + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1448, 724); + this.Controls.Add(this.tabControl1); + this.Margin = new System.Windows.Forms.Padding(4); + this.Name = "FormMain"; + this.Text = "娴嬭瘯鐢�-涓�姹借繛鏉嗘暟鎹噰闆嗙郴缁熼噰闆嗗悗鍙�"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FormMain_FormClosed); + this.Load += new System.EventHandler(this.FormMain_Load); + this.Scroll += new System.Windows.Forms.ScrollEventHandler(this.FormMain_Scroll); + this.tabControl1.ResumeLayout(false); + this.tabPage5.ResumeLayout(false); + this.groupBox11.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).EndInit(); + this.tabPage1.ResumeLayout(false); + this.tabPage1.PerformLayout(); + this.tabPage2.ResumeLayout(false); + this.groupBox10.ResumeLayout(false); + this.panel4.ResumeLayout(false); + this.panel4.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.tabPage3.ResumeLayout(false); + this.groupBox7.ResumeLayout(false); + this.groupBox7.PerformLayout(); + this.groupBox5.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgv_DataCaptureConfig)).EndInit(); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.tabPage4.ResumeLayout(false); + this.groupBox9.ResumeLayout(false); + this.groupBox9.PerformLayout(); + this.groupBox8.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.groupBox6.ResumeLayout(false); + this.groupBox6.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.CheckBox ckBOP0504; + private System.Windows.Forms.CheckBox ckBOP0503; + private System.Windows.Forms.CheckBox ckBOP0502; + private System.Windows.Forms.Label lbl_Alter_OP0501; + private System.Windows.Forms.CheckBox ckBOP0501; + private System.Windows.Forms.Label lbl_Alter_OP0504; + private System.Windows.Forms.Label lbl_Alter_OP0503; + private System.Windows.Forms.Label lbl_Alter_OP0502; + private System.Windows.Forms.Button btn_StartUpAllThread; + private System.Windows.Forms.Button btn_StopAllThread; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Label lbl_Alter_OP2004; + private System.Windows.Forms.Label lbl_Alter_OP2003; + private System.Windows.Forms.Label lbl_Alter_OP2002; + private System.Windows.Forms.CheckBox ckBOP2004; + private System.Windows.Forms.CheckBox ckBOP2003; + private System.Windows.Forms.CheckBox ckBOP2002; + private System.Windows.Forms.Label lbl_Alter_OP2001; + private System.Windows.Forms.CheckBox ckBOP2001; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.CheckBox checkBox6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.CheckBox checkBox7; + private System.Windows.Forms.CheckBox checkBox8; + private System.Windows.Forms.CheckBox checkBox9; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.CheckBox checkBox10; + private System.Windows.Forms.Label lbl_Alter_OP2005; + private System.Windows.Forms.CheckBox ckBOP2005; + private System.Windows.Forms.Label lbl_Alter_OP2006; + private System.Windows.Forms.CheckBox ckBOP2006; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.Button btn_Cancel; + private System.Windows.Forms.Button btn_Save; + private System.Windows.Forms.GroupBox groupBox5; + private System.Windows.Forms.DataGridView dgv_DataCaptureConfig; + private System.Windows.Forms.DataGridViewTextBoxColumn EquipmentID; + private System.Windows.Forms.DataGridViewTextBoxColumn WorkingProcedure; + private System.Windows.Forms.DataGridViewTextBoxColumn DataCapturePointCode; + private System.Windows.Forms.DataGridViewTextBoxColumn DataCapturePointCname; + private System.Windows.Forms.DataGridViewTextBoxColumn DataCaptureType; + private System.Windows.Forms.DataGridViewTextBoxColumn DataCapturePLCType; + private System.Windows.Forms.DataGridViewTextBoxColumn PLCIP; + private System.Windows.Forms.DataGridViewTextBoxColumn PLCPort; + private System.Windows.Forms.DataGridViewTextBoxColumn DataCaptureColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn DataCaptureColumnType; + private System.Windows.Forms.TabPage tabPage4; + private System.Windows.Forms.GroupBox groupBox7; + private System.Windows.Forms.ComboBox cbox_DataCaptureType; + private System.Windows.Forms.ComboBox cbox_WorkingProcedure; + private System.Windows.Forms.TextBox txt_DbNumber; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.TextBox txt_Offset; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.TextBox txt_DataCapturePointCode; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.TextBox txt_DataCapturePointCname; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txt_PLCIP; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox txt_EquipmentID; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.TextBox textBox11; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.Button btn_Query; + private System.Windows.Forms.ComboBox cbox_WorkingProcedure_Query; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.ComboBox cbox_DataCaptureColumnType; + private System.Windows.Forms.TextBox txt_PLCPort; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.ComboBox cbox_DataCapturePLCType; + private System.Windows.Forms.Button btn_Delete; + private System.Windows.Forms.Button btn_Update; + private System.Windows.Forms.Button btn_Insert; + private System.Windows.Forms.TextBox txt_ID; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.GroupBox groupBox9; + private System.Windows.Forms.ComboBox comboBox5; + private System.Windows.Forms.Label label32; + private System.Windows.Forms.TextBox textBox9; + private System.Windows.Forms.Label label33; + private System.Windows.Forms.Button button7; + private System.Windows.Forms.GroupBox groupBox8; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10; + private System.Windows.Forms.Button button5; + private System.Windows.Forms.Button button6; + private System.Windows.Forms.GroupBox groupBox6; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.ComboBox comboBox2; + private System.Windows.Forms.ComboBox comboBox3; + private System.Windows.Forms.ComboBox comboBox4; + private System.Windows.Forms.TextBox textBox3; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.TextBox textBox4; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.TextBox textBox5; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.TextBox textBox6; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.Label label27; + private System.Windows.Forms.Label label28; + private System.Windows.Forms.TextBox textBox7; + private System.Windows.Forms.Label label29; + private System.Windows.Forms.Label label30; + private System.Windows.Forms.TextBox textBox8; + private System.Windows.Forms.Label label31; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Label lbl_Alter_OP2007; + private System.Windows.Forms.CheckBox ckBOP2007; + private System.Windows.Forms.Button button9; + private System.Windows.Forms.Label label34; + private System.Windows.Forms.TextBox textBox10; + private System.Windows.Forms.Button button8; + private System.Windows.Forms.Label label35; + private System.Windows.Forms.CheckBox checkBox1; + private System.Windows.Forms.Label label36; + private System.Windows.Forms.CheckBox checkBox2; + private System.Windows.Forms.Button button10; + private System.Windows.Forms.Button button11; + private System.Windows.Forms.Button button14; + private System.Windows.Forms.Button button13; + private System.Windows.Forms.Button button12; + private System.Windows.Forms.Button button15; + private System.Windows.Forms.Button button16; + private System.Windows.Forms.Button button17; + private System.Windows.Forms.Button button18; + private System.Windows.Forms.Button button19; + private System.Windows.Forms.Button button20; + private System.Windows.Forms.Button button21; + private System.Windows.Forms.Button button22; + private System.Windows.Forms.GroupBox groupBox10; + private System.Windows.Forms.Panel panel4; + private System.Windows.Forms.CheckBox HMIOP1040Write; + private System.Windows.Forms.Label lbl_Alert_HMIOP104001; + private System.Windows.Forms.CheckBox ckHMIOP1040Reading; + private System.Windows.Forms.Label lbl_Alert_HMIOP104002; + private System.Windows.Forms.Button btnHMIWrite; + private System.Windows.Forms.Button btnHMI04Reading; + private System.Windows.Forms.CheckBox HMIOP60Write; + private System.Windows.Forms.CheckBox HMIOP50Write; + private System.Windows.Forms.CheckBox HMIOP3035Write; + private System.Windows.Forms.CheckBox HMIOP20Write; + private System.Windows.Forms.Label lbl_Alert_HMIOP6001; + private System.Windows.Forms.CheckBox ckHMIOP60Reading; + private System.Windows.Forms.Label lbl_Alert_HMIOP5001; + private System.Windows.Forms.CheckBox ckHMIOP50Reading; + private System.Windows.Forms.Label lbl_Alert_HMIOP303501; + private System.Windows.Forms.CheckBox ckHMIOP3035Reading; + private System.Windows.Forms.Label lbl_Alert_HMIOP6002; + private System.Windows.Forms.Label lbl_Alert_HMIOP2001; + private System.Windows.Forms.Label lbl_Alert_HMIOP5002; + private System.Windows.Forms.CheckBox ckHMIOP20Reading; + private System.Windows.Forms.Label lbl_Alert_HMIOP303502; + private System.Windows.Forms.Label lbl_Alert_HMIOP2002; + private System.Windows.Forms.TabPage tabPage5; + private System.Windows.Forms.Button button23; + private System.Windows.Forms.Button button24; + private System.Windows.Forms.GroupBox groupBox11; + private System.Windows.Forms.DataGridView dataGridView2; + private System.Windows.Forms.DataGridViewTextBoxColumn Threadcode; + private System.Windows.Forms.DataGridViewTextBoxColumn Threadcname; + private System.Windows.Forms.DataGridViewTextBoxColumn Column1; + private System.Windows.Forms.DataGridViewTextBoxColumn Column2; + private System.Windows.Forms.DataGridViewTextBoxColumn Column3; + private System.Windows.Forms.DataGridViewTextBoxColumn Column4; + private System.Windows.Forms.DataGridViewTextBoxColumn Column5; + private System.Windows.Forms.DataGridViewTextBoxColumn Column6; + private System.Windows.Forms.TextBox textBox12; + private System.Windows.Forms.Button button25; + private System.Windows.Forms.Button button26; + private System.Windows.Forms.Button button27; + } +} + diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.cs new file mode 100644 index 0000000..5597be4 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.cs @@ -0,0 +1,1929 @@ +锘縰sing iTextSharp.text.pdf; +using iTextSharp.text.pdf.parser; +using iTextSharp.text.pdf.qrcode; +using iWare_SCADA_BusinessLogical; +using iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.Utils; +using iWare_SCADA_Model; +using iWare_SCADA_Model.TableModelSC; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using static System.Net.WebRequestMethods; +using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window; +using File = System.IO.File; + +namespace iWare_SCADA_DataCaptureV3 +{ + public partial class FormMain : Form + { + + #region 淇℃伅鑾峰彇绾跨▼ + Thread tskSetLableText;//鍚勭lable鍔ㄦ�佹樉绀� + Thread tskSetGridSource;//鍚勭lable鍔ㄦ�佹樉绀� + #endregion + + + + + public FormMain() + { + InitializeComponent(); + } + + + private void btn_StartUpAllThread_Click(object sender, EventArgs e) + { + try + { + #region 鏁版嵁閲囬泦椤圭‘瀹� + var dataCaptureConfigslist = DataCaptureConfigManager.GetDataCaptureConfigs(); + var columnList = DataCaptureConfigManager.GetDataCaptureColumnConfig(); + //var keyvalue = dataCaptureConfigslist.GroupBy(o => o.WorkingProcedure).Select(g => new + //{ + // keyword = g.Key, + // RecordIDs = g.Where(c =>c.WorkingProcedure.Equals(g.Key)).ToList() + //}); + + foreach (var config in dataCaptureConfigslist) + { + + switch (config.DataCapturePointCode) + { + + + } + } + #endregion + + try + { + + + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.FormMain, "鍚姩绾跨▼鏃�----btn_StartUpAllThread_Click鎶ラ敊锛�", ex); + } + + #region 璁剧疆鏄剧ずUI + tskSetLableText = new Thread(DataRead_Label); + tskSetLableText.Start(); + #endregion + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.FormMain, "鍚姩绾跨▼鏃�----btn_StartUpAllThread_Click all鎶ラ敊锛�", ex); + } + } + + private void FormMain_Load(object sender, EventArgs e) + { + try + {//鍔犺浇闇�瑕佺殑鏁版嵁 + + } + catch (Exception ex) + { + + } + } + private void LoadItemType() + { + List<ListItem> itemList = new List<ListItem>(); + itemList.Add(new ListItem() { Value = "-1", Text = "璇烽�夋嫨" }); + itemList.Add(new ListItem() + { + Text = "PLC", + Value = "1" + }); + itemList.Add(new ListItem() + { + Text = "鏁版嵁缃戝叧", + Value = "2" + }); + itemList.Add(new ListItem() + { + Text = "宸ユ帶鏈�", + Value = "3" + }); + + cbox_DataCaptureType.ValueMember = "Value"; + cbox_DataCaptureType.DisplayMember = "Text"; + cbox_DataCaptureType.DataSource = itemList; + cbox_DataCaptureType.SelectedIndex = 0; + + List<ListItem> itemList2 = new List<ListItem>(); + itemList2.Add(new ListItem() { Value = "-1", Text = "璇烽�夋嫨" }); + itemList2.Add(new ListItem() + { + Text = "瑗块棬瀛怱7", + Value = "1" + }); + itemList2.Add(new ListItem() + { + Text = "瑗块棬瀛�300", + Value = "2" + }); + + cbox_DataCapturePLCType.ValueMember = "Value"; + cbox_DataCapturePLCType.DisplayMember = "Text"; + cbox_DataCapturePLCType.DataSource = itemList2; + cbox_DataCapturePLCType.SelectedIndex = 0; + + } + List<ThreadStatusMonitor> sourcelist = new List<ThreadStatusMonitor>(); + /// <summary> + /// 璁剧疆鐜板満鍛婅淇℃伅鍓嶇鏄剧ず + /// </summary> + private void GridRefresh() + { + //while (true) + //{ + try + { + Action action = () => + { + using (DbModel db = new DbModel()) + { + sourcelist = db.ThreadStatusMonitor.Where(o => o.IsDeleted == false).ToList(); + dataGridView2.DataSource = sourcelist.OrderBy(o => o.Threadcode); + dataGridView2.Refresh(); + } + //dataGridView2.DataSource = null; + //dataGridView2.DataSource = SystemValue.MainList; + }; + Invoke(action); + + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.FormMain, "鏂规硶GridRefresh鍑虹幇寮傚父锛�" + ex.Message, ex); + //continue; + } + //Thread.Sleep(10000); + //} + } + /// <summary> + /// 璁剧疆鐜板満鍛婅淇℃伅鍓嶇鏄剧ず + /// </summary> + private void DataRead_Label() + { + while (true) + { + Thread.Sleep(1000); + try + { + + var showNowTime = "(" + DateTimeHelper.ConvertToStringForOnlyShowTime(DateTime.Now) + ")"; + Action action = () => + { + //TimeBox.Text = TimeString; ResultBox.Text = hv_Resultstr; + //DisplayImageHalconwindow(AcqImage, GrayImage); + //DisplayImageHalconwindow(ThresholdImage锛孧eanImage); + //璁剧疆鍫嗗灈鏈轰换鍔′笅鍙戝拰浠诲姟纭绾跨▼娑堟伅 + this.lbl_Alter_OP0501.Text = showNowTime + SystemValue.lbl_Alert_OP0501; + this.lbl_Alter_OP0502.Text = showNowTime + SystemValue.lbl_Alert_OP0502; + this.lbl_Alter_OP0503.Text = showNowTime + SystemValue.lbl_Alert_OP0503; + this.lbl_Alter_OP0504.Text = showNowTime + SystemValue.lbl_Alert_OP0504; + + + this.lbl_Alter_OP2001.Text = showNowTime + SystemValue._lbl_Alert_OP2001; + this.lbl_Alter_OP2002.Text = showNowTime + SystemValue._lbl_Alert_OP2002; + this.lbl_Alter_OP2003.Text = showNowTime + SystemValue._lbl_Alert_OP2003; + this.lbl_Alter_OP2004.Text = showNowTime + SystemValue._lbl_Alert_OP2004; + this.lbl_Alter_OP2005.Text = showNowTime + SystemValue._lbl_Alert_OP2005; + this.lbl_Alter_OP2006.Text = showNowTime + SystemValue._lbl_Alert_OP2006; + + + this.lbl_Alert_HMIOP104001.Text = showNowTime + SystemValue.lbl_Alert_HMIOP104001; + this.lbl_Alert_HMIOP104002.Text = showNowTime + SystemValue.lbl_Alert_HMIOP104002; + this.lbl_Alert_HMIOP2001.Text = showNowTime + SystemValue.lbl_Alert_HMIOP2001; + this.lbl_Alert_HMIOP2002.Text = showNowTime + SystemValue.lbl_Alert_HMIOP2002; + this.lbl_Alert_HMIOP303501.Text = showNowTime + SystemValue.lbl_Alert_HMIOP303501; + this.lbl_Alert_HMIOP303502.Text = showNowTime + SystemValue.lbl_Alert_HMIOP303502; + this.lbl_Alert_HMIOP5001.Text = showNowTime + SystemValue.lbl_Alert_HMIOP5001; + this.lbl_Alert_HMIOP5002.Text = showNowTime + SystemValue.lbl_Alert_HMIOP5002; + this.lbl_Alert_HMIOP6001.Text = showNowTime + SystemValue.lbl_Alert_HMIOP6001; + this.lbl_Alert_HMIOP6002.Text = showNowTime + SystemValue.lbl_Alert_HMIOP6002; + }; + Invoke(action); + + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.FormMain, "鏂规硶DataRead_Label鍑虹幇寮傚父锛�" + ex.Message, ex); + continue; + } + } + } + /// <summary> + /// 閫氱敤鐨刢heckbox鏀瑰彉浜嬩欢 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void CommonCheckedChanged(object sender, EventArgs e) + { + // HMI + SystemValue.isAllowRuning_HMIOP104001 = DoCommonCheckedChanged(ckHMIOP1040Reading); + SystemValue.isAllowRuning_HMIOP104002 = DoCommonCheckedChanged(HMIOP1040Write); + SystemValue.isAllowRuning_HMIOP2001 = DoCommonCheckedChanged(ckHMIOP20Reading); + SystemValue.isAllowRuning_HMIOP2002 = DoCommonCheckedChanged(HMIOP20Write); + SystemValue.isAllowRuning_HMIOP303501 = DoCommonCheckedChanged(ckHMIOP3035Reading); + SystemValue.isAllowRuning_HMIOP303502 = DoCommonCheckedChanged(HMIOP3035Write); + SystemValue.isAllowRuning_HMIOP5001 = DoCommonCheckedChanged(ckHMIOP50Reading); + SystemValue.isAllowRuning_HMIOP5002 = DoCommonCheckedChanged(HMIOP50Write); + SystemValue.isAllowRuning_HMIOP6001 = DoCommonCheckedChanged(ckHMIOP60Reading); + SystemValue.isAllowRuning_HMIOP6002 = DoCommonCheckedChanged(HMIOP60Write); + + + //OP05宸ュ簭鐩戞帶浠诲姟 + SystemValue.isAllowRuning_OP0501 = DoCommonCheckedChanged(ckBOP0501); + SystemValue.isAllowRuning_OP0502 = DoCommonCheckedChanged(ckBOP0502); + SystemValue.isAllowRuning_OP0503 = DoCommonCheckedChanged(ckBOP0503); + SystemValue.isAllowRuning_OP0504 = DoCommonCheckedChanged(ckBOP0504); + + + SystemValue.isAllowRuning_OP2001 = DoCommonCheckedChanged(ckBOP2001); + SystemValue.isAllowRuning_OP2002 = DoCommonCheckedChanged(ckBOP2002); + SystemValue.isAllowRuning_OP2003 = DoCommonCheckedChanged(ckBOP2003); + SystemValue.isAllowRuning_OP2004 = DoCommonCheckedChanged(ckBOP2004); + } + + private bool DoCommonCheckedChanged(CheckBox cb) + { + return cb.Checked ? true : false; + } + + private void button1_Click(object sender, EventArgs e) + { + try + { + string Station = "03"; + string value_02 = ""; + string path = ConfigHelper.GetConfigString("OP30QualityDataForStation");//鎵撶爜鏈烘墦鐮佷簩缁寸爜璺緞 + if (string.IsNullOrEmpty(path)) + { + path = @"Z:\"; + } + if (Station.Equals("03")) + {//宸ヤ綅3 娑ㄦ柇鍔涚煩 + path = path + "kistler_crack"; + } + else if (Station.Equals("04")) + {//宸ヤ綅4 棰勬嫥绱у姏鐭� + + path = path + "Bosch_Rexroth"; + } + else if (Station.Equals("05")) + {//宸ヤ綅5 鎷х揣鍔涚煩 + + path = path + "Bosch_Rexroth"; + } + else if (Station.Equals("06")) + {//宸ヤ綅6 琛鍘嬭鍔涚煩 + + path = path + "kistler_bush"; + } + //鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖 涓�鑸妭鎷嶅湪15绉掑乏鍙筹紙鍙互纭涓�涓嬶級 + //鎵弿淇敼鏃堕棿鍦ㄤ笂娆℃壂鎻忔椂闂翠箣鍓�10绉掑埌褰撳墠鏃堕棿鐨勪箣闂寸殑鏂囦欢 + var startTime = CommonManager.Instance.CheackPath(Environment.CurrentDirectory + $"\\LastModifyTime\\OP30Station{Station}-LastScapTime.txt", 6, -10); + var endTime = DateTimeHelper.GetDateTime(); + var newFiles = FileHelper.DetectNewFilesCSV(textBox10.Text, 100000000, Convert.ToDateTime(startTime), endTime); + + var list = newFiles.GetEnumerator(); + foreach (System.IO.FileInfo file in newFiles) + { + + } + var a = ReadPdfConntent(textBox10.Text, textBox12.Text); + //var ccSystem = DataCaptureColumnDictManager.GetEquipmentBaseInfo(); + //if (ccSystem == null) + //{ + // MessageBox.Show("璇疯仈绯荤鐞嗗憳缁存姢绯荤粺璋冨害鐩稿叧鐨勬暟鎹�!"); + // return; + //}; + + //WorkPieceInfoManager.test(); + + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + } + + + private void button5_Click(object sender, EventArgs e) + { + try + { + var list = DataCaptureConfigManager.GetDataCaptureConfigs(); + if (list == null) + { + MessageBox.Show("璇疯仈绯荤鐞嗗憳缁存姢鏁版嵁鏀堕泦鐐圭浉鍏崇殑鏁版嵁!"); + return; + }; + dgv_DataCaptureConfig.DataSource = list; + + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + + } + + private void txt_PLCPort_KeyPress(object sender, KeyPressEventArgs e) + { + if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8) + { + e.Handled = true; + } + ///*鍙兘鏁板瓧閿�侀��鏍奸敭銆佽礋鍙枫�佸皬鏁扮偣*/ + //if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && + // (int)e.KeyChar != 45 && (int)e.KeyChar != 46) e.Handled = true; + ///*杈撳叆涓鸿礋鍙峰拰灏忔暟鐐规椂锛屼笖鍙兘杈撳叆涓�娆�(璐熷彿鍙兘鏈�鍓嶉潰杈撳叆锛屽皬鏁扮偣涓嶅彲鏈�鍓嶉潰杈撳叆)*/ + //if (e.KeyChar == 45 && (((TextBox)sender).SelectionStart != 0 || + // ((TextBox)sender).Text.IndexOf("-") >= 0)) e.Handled = true; + //if (e.KeyChar == 46 && (((TextBox)sender).SelectionStart == 0 || + // ((TextBox)sender).Text.IndexOf(".") >= 0)) e.Handled = true; + } + + private void txt_PLCIP_KeyPress(object sender, KeyPressEventArgs e) + { + + if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar != 46) + { + e.Handled = true; + } + } + + private void btn_Insert_Click(object sender, EventArgs e) + { + + btn_Save.Tag = "create"; + setControlsVisible(true); + setControlsEmpty(); + + btn_Update.Enabled = false; + btn_Delete.Enabled = false; + btn_Insert.Enabled = false; + } + private void setControlsVisible(bool flag) + { + groupBox7.Visible = flag; + } + + private void setControlsEmpty() + { + txt_EquipmentID.Text = ""; + txt_EquipmentID.Focus(); + + cbox_WorkingProcedure.SelectedIndex = -1; + cbox_DataCaptureColumnType.SelectedIndex = -1; + cbox_DataCapturePLCType.SelectedIndex = 0; + cbox_DataCaptureType.SelectedIndex = 0; + + } + + private void btn_Cancel_Click(object sender, EventArgs e) + { + setControlsVisible(false); + btn_Update.Enabled = true; + btn_Delete.Enabled = true; + btn_Insert.Enabled = true; + + } + + private void btn_Update_Click(object sender, EventArgs e) + { + + try + { + if (dgv_DataCaptureConfig.CurrentRow == null || dgv_DataCaptureConfig.CurrentRow.Index < 0) + { + MessageBox.Show("璇烽�夋嫨涓�鏉¢渶淇敼鐨勬暟鎹紒"); + return; + } + btn_Save.Tag = "update"; + setControlsVisible(true); + btn_Update.Enabled = false; + btn_Delete.Enabled = false; + btn_Insert.Enabled = false; + + var model = dgv_DataCaptureConfig.SelectedRows[0].DataBoundItem as DataCaptureConfig; + + txt_ID.Text = model.Id.ToString(); + txt_EquipmentID.Text = model.EquipmentID; + cbox_WorkingProcedure.Text = model.WorkingProcedure; + txt_DataCapturePointCode.Text = model.DataCapturePointCode; + txt_DataCapturePointCname.Text = model.DataCapturePointCname; + cbox_DataCaptureType.SelectedValue = model.DataCaptureType.ToString(); + cbox_DataCapturePLCType.SelectedValue = model.DataCapturePLCType.ToString(); + txt_PLCIP.Text = model.PLCIP; + txt_PLCPort.Text = model.PLCPort.ToString(); + txt_DbNumber.Text = model.DbNumber; + txt_Offset.Text = model.Offset; + cbox_DataCaptureColumnType.Text = model.DataCaptureColumnType; + + } + catch (Exception ex) + { + MessageBox.Show($"淇敼鏀堕泦鐐逛俊鎭け璐ワ紒 {ex.Message}"); + btn_Update.Enabled = true; + btn_Delete.Enabled = true; + btn_Insert.Enabled = true; + } + + } + + private void btn_Delete_Click(object sender, EventArgs e) + { + try + { + if (dgv_DataCaptureConfig.CurrentRow.Index < 0) + { + MessageBox.Show("璇烽�夋嫨涓�鏉℃敹闆嗙偣锛�"); + return; + } + if (MessageBox.Show("纭鍒犻櫎姝よ褰曪紵", "鍒犻櫎纭", MessageBoxButtons.OKCancel) != DialogResult.OK) + { + return; + } + var model = dgv_DataCaptureConfig.SelectedRows[0].DataBoundItem as DataCaptureConfig; + + var num = DataCaptureConfigManager.DeleteDataCaptureConfig(model); + if (num > 0) + { + MessageBox.Show($"鍒犻櫎鎴愬姛{num}鏉�"); + + } + else + { + + MessageBox.Show("鍒犻櫎寮傚父锛岃鍒锋柊鍚庨噸璇�"); + } + + button5_Click(null, null); + //if (service.DeleteAlertRule(ID)) + //{ + // ShowStatusMsg("鍒犻櫎鎴愬姛"); + // BindDataGrid(); + // dgAlertRuleList.Rows[0].Selected = true; + // dgAlertRuleList.CurrentCell = dgAlertRuleList.Rows[0].Cells[1]; + // dgAlertRuleList_SelectionChanged(null, null); + //} + //else + //{ + // ShowErrMsg("鍒犻櫎澶辫触"); + //} + + } + catch (Exception ex) + { + MessageBox.Show($"鍒犻櫎鏀堕泦鐐逛俊鎭紓甯革紒{ex.Message}"); + } + + } + private DataCaptureConfig GetFormDataCaptureConfigInfo() + { + ListItem DataCaptureTypeFlag = null; + var itemType = ComboBoxHelper.GetComboxSelectValue(cbox_DataCaptureType, ref DataCaptureTypeFlag); + ListItem DataCapturePLCTypeFlag = null; + var itemType2 = ComboBoxHelper.GetComboxSelectValue(cbox_DataCapturePLCType, ref DataCapturePLCTypeFlag); + + DataCaptureConfig model = new DataCaptureConfig(); + model.Id = string.IsNullOrEmpty(txt_ID.Text.Trim()) ? 0 : Convert.ToInt32(txt_ID.Text.Trim()); + model.EquipmentID = txt_EquipmentID.Text.Trim(); + model.WorkingProcedure = cbox_WorkingProcedure.Text.Trim(); + model.DataCapturePointCode = txt_DataCapturePointCode.Text.Trim(); + model.DataCapturePointCname = txt_DataCapturePointCname.Text.Trim(); + model.DataCaptureType = Convert.ToInt32(DataCaptureTypeFlag.Value); + model.DataCapturePLCType = Convert.ToInt32(DataCapturePLCTypeFlag.Value); + model.PLCIP = txt_PLCIP.Text; + model.PLCPort = Convert.ToInt32(txt_PLCPort.Text.Trim()); + model.DbNumber = txt_DbNumber.Text; + model.Offset = txt_Offset.Text; + model.DataCaptureColumnType = cbox_DataCaptureColumnType.Text; + return model; + } + + private void btn_Save_Click(object sender, EventArgs e) + { + + try + { + #region 鏍¢獙鏍煎紡 + + if (cbox_WorkingProcedure.SelectedIndex < 0) + { + MessageBox.Show($"璇烽�夋嫨宸ュ簭"); + return; + } + if (cbox_DataCapturePLCType.SelectedIndex < 0) + { + MessageBox.Show($"杈撳叆PLC鍨嬪彿寮傚父锛岃閫変腑PLC鍨嬪彿"); + return; + } + if (string.IsNullOrEmpty(txt_PLCIP.Text.Trim())) + { + MessageBox.Show($"PLC IP涓嶈兘涓虹┖"); + return; + } + if (string.IsNullOrEmpty(txt_PLCPort.Text.Trim())) + { + MessageBox.Show($"PLC绔彛涓嶈兘涓虹┖"); + return; + } + if (string.IsNullOrEmpty(txt_DataCapturePointCode.Text.Trim())) + { + MessageBox.Show($"鏀堕泦鐐逛唬鐮佷笉鑳戒负绌�"); + return; + } + if (string.IsNullOrEmpty(txt_DbNumber.Text.Trim())) + { + MessageBox.Show($"鑺傜偣DB鍧楀湴鍧�涓嶈兘涓虹┖"); + return; + } + if (string.IsNullOrEmpty(txt_Offset.Text.Trim())) + { + MessageBox.Show($"鑺傜偣鍋忕Щ閲忎笉鑳戒负绌�"); + return; + } + if (cbox_DataCaptureColumnType.SelectedIndex < 0) + { + MessageBox.Show($"璇烽�夋嫨鑺傜偣鏁版嵁绫诲瀷"); + return; + } + if (cbox_DataCaptureType.SelectedIndex < 1) + { + MessageBox.Show($"璇烽�夋嫨鏀堕泦鏂瑰紡"); + return; + + } + #endregion + + var data = GetFormDataCaptureConfigInfo(); + //data.ID = Convert.ToInt32(dgv_DataCaptureConfig.CurrentRow.Cells["ID"].Value); + if (btn_Save.Tag.Equals("update")) + {//淇敼 + string message = ""; + DataCaptureConfigManager.UpdateDataCaptureConfig(data, out message); + if (message.Length == 0) + { + setControlsVisible(false); + btn_Update.Enabled = true; + btn_Delete.Enabled = true; + btn_Insert.Enabled = true; + MessageBox.Show("淇敼鎴愬姛锛�"); + button5_Click(null, null); + } + else + { + MessageBox.Show($"淇敼澶辫触锛亄message}"); + + } + + } + else if (btn_Save.Tag.Equals("create")) + {//鏂板 + DataCaptureConfigManager.InsertDataCaptureConfig(data); + setControlsVisible(false); + btn_Update.Enabled = true; + btn_Delete.Enabled = true; + btn_Insert.Enabled = true; + + MessageBox.Show("鏂板鎴愬姛"); + button5_Click(null, null); + } + + } + catch (Exception ex) + { + MessageBox.Show($"淇濆瓨鏀堕泦鐐逛俊鎭紓甯革紒{ex.Message}"); + } + finally + { + } + } + + private void button8_Click(object sender, EventArgs e) + { + + } + + private void button10_Click(object sender, EventArgs e) + { + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button9_Click(object sender, EventArgs e) + { + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button11_Click(object sender, EventArgs e) + { + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button12_Click(object sender, EventArgs e) + { + + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button15_Click(object sender, EventArgs e) + { + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button13_Click(object sender, EventArgs e) + { + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button14_Click(object sender, EventArgs e) + { + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button16_Click(object sender, EventArgs e) + { + try + { + textBox10.Text = EnumberHelper.GetEnumName<WorkingProcedureForHMI>(int.Parse(textBox12.Text)).ToString(); + + var bb = EnumberHelper.GetEnumForString<WorkingProcedureForHMI>(textBox12.Text); + var A = EnumberHelper.GetEnumName<WorkingProcedureForHMI>(1); + + WorkingProcedureForHMI t = default(WorkingProcedureForHMI); + bool isRight = EnumberHelper.GetEnumObject<WorkingProcedureForHMI>("OP10", out t); + + //int workProcedure = 0; + //workProcedure = (int)((WorkingProcedureForHMI)"OP10"); + + //using (DbModel db = new DbModel()) + //{ + + // var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == "DZ045L2309210100201A1A").FirstOrDefault(); + //} + // WorkPieceLog wplog = new WorkPieceLog(); + //wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + //wplog.WorkingProcedure = "OP999"; + //wplog.EquipmentID = "AA"; + //wplog.Remarks = "CES"; + //wplog.MonitoringPoint = "AAA"; + //wplog.CreatedTime = DateTimeHelper.GetDateTime(); + //wplog.CreatedUserName = "BAO"; + //wplog.IsDeleted = false; + + + //wplog.GetType().GetProperty("workpieceid").SetValue(wplog, "WorkPieceIDGONGJIANMA");//缁欏姩鎬佸瓧娈佃祴鍊� + } + catch (Exception ex) + { + + } + } + /// <summary> + /// 瑙f瀽pdf鏂囦欢 + /// </summary> + /// <param name="filePath"></param> + /// <param name="getPdfValue"></param> + /// <returns></returns> + public static List<string> ReadPdfConntent(string filePath, string getPdfValue) + { + List<string> lst = new List<string>(); + try + { + + string pdffilename = filePath; + PdfReader pdfreader = new PdfReader(pdffilename); + int numberOfPages = pdfreader.NumberOfPages; + + //for (int i = 1; i <= numberOfPages; ++i) + //{ + // lst.Add(iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(pdfreader,i)); + // text.AppendLine(); + //} + + string text = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(pdfreader, 1); + + string[] words = text.Split('\n'); + + foreach (var item in words) + { + string value = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(item)); + + if (value.Contains(getPdfValue)) + { + string[] splitValue = value.Split(':'); + lst.Add(splitValue[1].Trim()); + } + } + + pdfreader.Close(); + return lst; + } + catch (Exception ex) + { + throw ex; + } + } + + private void button22_Click(object sender, EventArgs e) + { + + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button21_Click(object sender, EventArgs e) + { + + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button20_Click(object sender, EventArgs e) + { + + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button19_Click(object sender, EventArgs e) + { + + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button18_Click(object sender, EventArgs e) + { + + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void button17_Click(object sender, EventArgs e) + { + + + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + /// <summary> + /// HMI04璇诲彇 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void btnHMI04Reading_Click(object sender, EventArgs e) + { + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + + + var dataCaptureConfigslist = DataCaptureConfigManager.GetDataCaptureConfigs(); + + foreach (var config in dataCaptureConfigslist) + { + switch (config.DataCapturePointCode) + { + + } + + } + + + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + /// <summary> + /// HMI04鍐欏叆 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void btnHMIWrite_Click(object sender, EventArgs e) + { + try + { + if (!SystemValue.isStartedModel) + { + MessageBox.Show("璇风偣鍑昏皟璇曟ā寮忔寜閽�"); + return; + } + + var dataCaptureConfigslist = DataCaptureConfigManager.GetDataCaptureConfigs(); + + foreach (var config in dataCaptureConfigslist) + { + switch (config.DataCapturePointCode) + { + + } + + } + + + // DataCaptureHandler.WorkPieceID = textBox10.Text.Trim(); + + } + catch (Exception ex) + { + MessageBox.Show($"妯℃嫙寮傚父锛歿ex.Message}"); + Log4NetHelper.WriteErrorLog(LogType.FormMain, "----button10_Click all鎶ラ敊锛�", ex); + } + } + + private void FormMain_FormClosed(object sender, FormClosedEventArgs e) + { + Application.Exit(); + //寮哄埗缁撴潫杩涚▼骞堕��鍑� + //System.Diagnostics.Process.GetCurrentProcess().Kill(); + System.Environment.Exit(0); + } + + private void FormMain_FormClosing(object sender, FormClosingEventArgs e) + { + //if (MessageBox.Show("灏嗚鍏抽棴閲囬泦绋嬪簭锛屾槸鍚︾户缁紵", "璇㈤棶", MessageBoxButtons.YesNo) == DialogResult.Yes) + //{ + // e.Cancel = false; + //} + //else + //{ + // e.Cancel = true; + //} + e.Cancel = false; + + } + + private void button24_Click(object sender, EventArgs e) + { + + try + { + #region 鏁版嵁閲囬泦椤圭‘瀹� + var dataCaptureConfigslist = DataCaptureConfigManager.GetDataCaptureConfigs(); + var columnList = DataCaptureConfigManager.GetDataCaptureColumnConfig(); + //var keyvalue = dataCaptureConfigslist.GroupBy(o => o.WorkingProcedure).Select(g => new + //{ + // keyword = g.Key, + // RecordIDs = g.Where(c =>c.WorkingProcedure.Equals(g.Key)).ToList() + //}); + + foreach (var config in dataCaptureConfigslist) + { + switch (config.DataCapturePointCode) + { + + + + } + } + + + + #endregion + + try + { + + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.FormMain, "鍚姩绾跨▼鏃�----btn_StartUpAllThread_Click鎶ラ敊锛�", ex); + } + + + #region 璁剧疆鏄剧ずUI + tskSetGridSource = new Thread(GridRefresh); + tskSetGridSource.Start(); + dataGridView2.DataSource = sourcelist; + #endregion + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.FormMain, "鍚姩绾跨▼鏃�----btn_StartUpAllThread_Click all鎶ラ敊锛�", ex); + } + } + + private void FormMain_Scroll(object sender, ScrollEventArgs e) + { + Rectangle rect; + + DataGridView ctrl = (DataGridView)sender; + + + + Point pt = PointToScreen(ctrl.Location); + + + + if (pt.X < 0) + + { + int left = -pt.X; + + int top = ctrl.ColumnHeadersHeight; + + int width = e.OldValue - e.NewValue; + + int height = ctrl.ClientSize.Height; + + ctrl.Invalidate(new Rectangle(new Point(left, top), new Size(width, height))); + + } + + + + pt.X += ctrl.Width; + + rect = Screen.GetBounds(pt); + + + + if (pt.X > rect.Right) + + { + int left = ctrl.ClientSize.Width - (pt.X - rect.Right) - (e.NewValue - e.OldValue); + + int top = ctrl.ColumnHeadersHeight; + + int width = e.NewValue - e.OldValue; + + int height = ctrl.ClientSize.Height; + + ctrl.Invalidate(new Rectangle(new Point(left, top), new Size(width, height))); + + } + + + + pt.Y += ctrl.Height; + + if (pt.Y > rect.Bottom) + + { + int left = 0; + + int top = ctrl.ColumnHeadersHeight; + + int width = ctrl.ClientSize.Width; + + int height = ctrl.ClientSize.Height - (pt.Y - rect.Bottom) - (e.NewValue - e.OldValue); + + ctrl.Invalidate(new Rectangle(new Point(left, top), new Size(width, height))); + + } + } + + private void button23_Click(object sender, EventArgs e) + { + GridRefresh(); + } + + private void button25_Click(object sender, EventArgs e) + { + try + { + + var WorkingProcedure = "OP35"; + var EquipmentID = "EOP35"; + var DataCapturePointCode = "OP3502A"; + //var DataCapturePointCode = "OP3002CH3"; + WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wplog.WorkingProcedure = WorkingProcedure; + wplog.EquipmentID = EquipmentID; ; + wplog.Remarks = WorkingProcedure; + wplog.MonitoringPoint = DataCapturePointCode; + wplog.WorkPieceID = "DZ045L2309080100181A1A"; + wplog.CreatedTime = DateTimeHelper.GetDateTime(); + wplog.CreatedUserName = DataCapturePointCode; + wplog.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); + wplog.UpdatedTime = DateTimeHelper.GetDateTime(); + wplog.IsDeleted = false; + wplog.QualityOP10To1 = "-500"; + WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + + //string path = ConfigHelper.GetConfigString("OP30QualityDataForStation");//鎵撶爜鏈烘墦鐮佷簩缁寸爜璺緞 + //if (string.IsNullOrEmpty(path)) + //{ + // path = @"C:\work\003-涓�姹借繛鏉嗘暟鎹噰闆哱鏁寸悊鏂囨。\璁惧鎺ュ彛鏂囨。\"; + //} + //path = @"C:\work\003-涓�姹借繛鏉嗘暟鎹噰闆哱鏁寸悊鏂囨。\璁惧鎺ュ彛鏂囨。\"; + + //if (DataCapturePointCode.Contains("CH3")) + //{//宸ヤ綅3 娑ㄦ柇鍔涚煩 + // path = path + "kistler_crack"; + //} + //else if (DataCapturePointCode.Contains("CH4")) + //{//宸ヤ綅4 棰勬嫥绱у姏鐭� + + // path = path + "Bosch_Rexroth"; + //} + //else if (DataCapturePointCode.Contains("CH5")) + //{//宸ヤ綅5 鎷х揣鍔涚煩 + + // path = path + "Bosch_Rexroth"; + //} + //else if (DataCapturePointCode.Contains("CH6")) + //{//宸ヤ綅6 琛鍘嬭鍔涚煩 + + // path = path + "kistler_bush"; + //} + + //wplog.WorkPieceID = "DZ045L2309270100371A1A"; + + + //try + //{ + // var get = wplog.GetType().GetProperty("WorkPieceID"); + // if (get == null) + // { + // //Log4NetHelper.WriteErrorLog(LogType.DBDataCapture, $" {group.EquipmentNo}璁惧鐢变簬婧愬ご瀛楁鍚峽item.DataCaptureColumnTabelColName}娌℃壘鍒帮紝璧嬪�煎け璐currentlog.Id}"); + // //continue; + // } + // var valuecol = get.GetValue(wplog); + //} + //catch (Exception setex) + //{ + // } + ////wplog.QualityStateStr = "OK"; + ////wplog.QualityOP30To1 = "test0122"; + ////wplog.QualityOP30To2 = "test0122"; + ////wplog.QualityOP80To1 = "test990222"; + + //try + //{ + // if (WorkingProcedure.Equals("OP30")) + // { + // var time = DateTimeHelper.GetDateTime(); + // //鑾峰彇鏂囦欢澶瑰悕绉� + // List<string> directorylist = new List<string>(); + // string directory = time.ToString("yyyy-MM-dd_HH"); + // string directoryOther = time.AddSeconds(-30).ToString("yyyy-MM-dd_HH"); + // directorylist.Add(directory); + // if (!directory.Equals(directoryOther)) + // {//濡傛灉30绉掑墠鏄彟涓�涓枃浠跺す + // directorylist.Add(directoryOther); + // } + + // List<FileInfo> files = new List<FileInfo>(); + // foreach (var dir in directorylist) + // { + // try + // { + // //鎵弿褰撳墠鏃堕棿涓�30绉掑墠鍑虹幇鐨勬枃浠�,涓�鑸妭鎷嶅湪15绉掑乏鍙筹紙涓や釜鏈嶅姟鍣ㄦ椂闂翠笉涓�鏍蜂細瀵艰嚧鍙栦笉鍒版枃浠讹級 + // var newFiles = FileHelper.DetectNewFiles(path + @"\" + dir, "*.pdf", 1000000000, time, time); + // foreach (var file in newFiles) + // { + // files.Add((FileInfo)file); + // } + // } + // catch (Exception ex) + // { + // Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{dir}鏁版嵁鏃跺紓甯�,閬垮厤宸ュ簭瀹屾垚寮傚父1锛�", ex); + // } + + // } + // files = files.OrderByDescending(o => o.LastWriteTime).ToList(); + // if (files.Count > 0) + // { + // switch (DataCapturePointCode) + // { + // case "OP3002CH3": + // wplog.QualityStateStr = FileHelper.ReadPdfConntent(files[0].FullName, "Result"); + // wplog.QualityStateStr = FileHelper.ReadPdfConntent(files[1].FullName, "Result"); + // wplog.QualityOP30To1 = FileHelper.ReadPdfConntent(files[0].FullName, "Y-Maximum");//娑ㄦ柇鍔涚煩 + // break; + // case "OP3002CH4": + // wplog.QualityStateStr = FileHelper.ReadPdfConntent(files[0].FullName, "Result"); + // wplog.QualityOP30To2 = FileHelper.ReadPdfConntent(files[0].FullName, "Y-Maximum");//棰勬嫥绱у姏鐭� + // wplog.QualityOP30To3 = FileHelper.ReadPdfConntent(files[0].FullName, "Y-Maximum");//棰勬嫥绱ц搴� + // break; + // case "OP3002CH5": + // wplog.QualityStateStr = FileHelper.ReadPdfConntent(files[0].FullName, "Result"); + // wplog.QualityOP30To4 = FileHelper.ReadPdfConntent(files[0].FullName, "Y-Maximum");//缁堟嫥绱у姏鐭� + // wplog.QualityOP30To5 = FileHelper.ReadPdfConntent(files[0].FullName, "Y-Maximum");//缁堟嫥绱ц搴� + // break; + // case "OP3002CH6": + // wplog.QualityStateStr = FileHelper.ReadPdfConntent(files[0].FullName, "Result"); + // wplog.QualityOP30To6 = FileHelper.ReadPdfConntent(files[0].FullName, "Y-Maximum");//琛鍘嬭鍔涚煩 + // wplog.QualityOP30To7 = FileHelper.ReadPdfConntent(files[0].FullName, "Block X");//琛鍘嬭浣嶇Щ + // break; + // default: + // break; + // } + + // } + // } + + //} + //catch (Exception ex) + //{ + // //threadStatusMonitor.ErrorMsg = $" {RandomHelper.GenerateRandomCode(4)} 璇诲彇{DataCapturePointCode}涓嬬嚎鏍囪 鍑虹幇寮傚父锛岃鏌ョ湅鏃ュ織锛�"; + // Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢鏁版嵁鏃跺紓甯�,閬垮厤宸ュ簭瀹屾垚寮傚父锛�", ex); + //} + + ////鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + //WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + //threadStatusMonitor.Threadstatue = 1; + + //WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, LogType.PLCOP10); + + //WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + //WorkPieceInfoManager.WorkingProcedureComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + //WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + //WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), new PLCService(), 1); + + + //if (WorkingProcedure.Equals("OP20") + // //|| _dataCaptureConfig.WorkingProcedure.Equals("OP50")|| _dataCaptureConfig.WorkingProcedure.Equals("OP60") + // ) + //{//op20,op50,op60 浼氬悓鏃舵帹鍑哄浠讹紝鎵�浠ョ壒娈婂鐞� + // wplog.WorkPieceID = wplog.WorkPieceIDA; + // wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢A"; + // WorkPieceInfoManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + // wplog.WorkPieceID = wplog.WorkPieceIDB; + // wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢B"; + // WorkPieceInfoManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + // wplog.WorkPieceID = wplog.WorkPieceIDC; + // wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢C"; + // WorkPieceInfoManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + // wplog.WorkPieceID = wplog.WorkPieceIDD; + // wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢D"; + // WorkPieceInfoManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + //} + //else + //{ + // //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + // WorkPieceInfoManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + //} + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + + } + + private void button26_Click(object sender, EventArgs e) + { + try + { + MyTest myTest = new MyTest(); + Thread tskdataCapture = new Thread(myTest.DataCaptureStart); + tskdataCapture.Start(); + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.FormMain, "鍚姩绾跨▼鏃�----btn_StartUpAllThread_Click all鎶ラ敊锛�", ex); + } + } + + public WorkPieceLogMiddle GetCH4Info(string FullName, WorkPieceLogMiddle wplog) + { + try + { + string fileContent = File.ReadAllText(FullName); + string[] lines2 = fileContent.Split('\n'); + bool IDCodeIndex = false; + int Mcount = 0; + int i = 0; + int count = 0; + foreach (string line in lines2) + { + count++; + if (count == 4) + {//鑾峰彇璐ㄩ噺缁撴灉 + var list = line.Split(' '); + if (list.Count() > 0) + { + var str = list[list.Count() - 1].ToString().Trim(); + wplog.QualityStateStr = str.Equals("OK") ? "OK" : "NG"; + } + } + // 澶勭悊姣忎竴琛岀殑閫昏緫 + if (line.Contains("ID-Code"))//涓や釜鎷х揣锛屾瘡涓墠闈㈤兘鏈塈D-Code + { + i++; + IDCodeIndex = true; + Mcount = 0; + } + if (IDCodeIndex) + { + if (line.Contains(" M "))//绗笁涓狹琛屾槸鎷х揣鏁版嵁 + {//棰勬嫥绱у姏鐭� + Mcount++; + if (Mcount == 3) + { + i++; + var str = line.Replace("+", "").Replace("-", ""); + var list = str.Split('M'); + if (list.Count() == 4) + { + if (i <= 2) + {//CH1 + wplog.QualityOP30To2 = list[2].ToString().Trim(); + } + else + {//CH2 + wplog.QualityOP30To8 = list[2].ToString().Trim(); + } + } + IDCodeIndex = false; + } + } + } + } + } + catch (Exception ex) + { + //Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}CH4宸ヤ綅璐ㄩ噺鏁版嵁寮傚父宸ヤ欢鍙凤細{(wplog.WorkPieceID == null ? "" : wplog.WorkPieceID)} 鏂囦欢鍚嶏細{FullName}锛�", ex); + } + return wplog; + + } + + public WorkPieceLogMiddle GetCH5Info(string FullName, WorkPieceLogMiddle wplog) + { + try + { + string fileContent = File.ReadAllText(FullName); + string[] lines2 = fileContent.Split('\n'); + bool IDCodeIndex = false; + int Mcount = 0; + int i = 0; + int count = 0; + foreach (string line in lines2) + { + count++; + if (count == 4) + {//鑾峰彇璐ㄩ噺缁撴灉 + var list = line.Split(' '); + if (list.Count() > 0) + { + var str = list[list.Count() - 1].ToString().Trim(); + wplog.QualityStateStr = str.Equals("OK") ? "OK" : "NG"; + } + } + // 澶勭悊姣忎竴琛岀殑閫昏緫 + if (line.Contains("ID-Code"))//涓や釜鎷х揣锛屾瘡涓墠闈㈤兘鏈塈D-Code + { + i++; + IDCodeIndex = true; + Mcount = 0; + } + if (IDCodeIndex) + { + if (line.Contains(" M "))//绗笁涓狹琛屾槸鎷х揣鏁版嵁 + {//鏈�缁堝姏鐭� + Mcount++; + if (Mcount == 3) + { + var str = line.Replace("+", "").Replace("-", ""); + var list = str.Split('M'); + if (list.Count() == 4) + { + if (i == 1) + {//CH3 + wplog.QualityOP30To3 = list[2].ToString().Trim(); + } + else + {//CH4 + wplog.QualityOP30To9 = list[2].ToString().Trim(); + } + } + IDCodeIndex = false; + } + } + + } + if (line.Contains(" MWSP ")) + {//缁堟嫥绱у姏鐭� 缁堟嫥绱ц搴� + var list = line.Split(new String[] { " MWS " }, StringSplitOptions.None); + if (list.Count() == 2) + { + if (i == 1) + {//CH3 + wplog.QualityOP30To4 = list[1].ToString().Trim(); + } + else + {//CH4 + wplog.QualityOP30To10 = list[1].ToString().Trim(); + } + var list2 = list[0].Split(new String[] { " W " }, StringSplitOptions.None); + if (list2.Count() == 2) + { + var str = list2[1].ToString(); + if (i == 1) + {//CH3 + wplog.QualityOP30To5 = str.Substring(0, str.IndexOf("MWSP")).Trim(); + } + else + {//CH4 + wplog.QualityOP30To11 = str.Substring(0, str.IndexOf("MWSP")).Trim(); + } + } + } + + } + } + } + catch (Exception ex) + { + //Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}CH5宸ヤ綅璐ㄩ噺鏁版嵁寮傚父宸ヤ欢鍙凤細{(wplog.WorkPieceID == null ? "" : wplog.WorkPieceID)} 鏂囦欢鍚嶏細{FullName}锛�", ex); + } + return wplog; + + } + private void button27_Click(object sender, EventArgs e) + { + try + { + #region OP80 + + ////string str = "#123"; + ////str=str?.Replace("#", ""); + + + //WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + //string path = "C:\\Users\\SY-PC\\Desktop\\FO";//OP80鐨勫湴鍧� + //var time = DateTimeHelper.GetDateTime(); + //DateTime? fileFindTime = null; + //if (fileFindTime == null) + //{ + // fileFindTime = time.AddMinutes(-10); + //} + ////OP80 闇�瑕佹壂鎻忔枃浠惰鍙栬川閲忎俊鎭� + ////鎵弿淇敼鏃堕棿鍦ㄤ笂娆℃壂鎻忔椂闂翠箣鍓�30绉掑埌褰撳墠鏃堕棿鐨勪箣闂寸殑鏂囦欢 + //List<FileInfo> files = new List<FileInfo>(); + //var newFiles = FileHelper.DetectNewFilesCSV(path, 3000000, fileFindTime.Value, time.AddHours(2)); + //foreach (var file in newFiles) + //{ + // files.Add((FileInfo)file); + //} + //files = files.OrderByDescending(o => o.LastWriteTime).ToList(); + //foreach (var file in files) + //{//鍙栧�掑簭鍖归厤鐨勬枃浠跺悕涓哄伐浠跺彿鐨勬枃浠� + // var datatable = CSVHelper.ReadCSVList(file.FullName); + // List<string> rowFirst = new List<string>(); + // List<string> rowSecond = new List<string>(); + // if (datatable.Count == 2) + // { + // rowFirst = datatable[0].Split(',').ToList(); + // rowSecond = datatable[1].Split(',').ToList(); + // if (rowSecond.Count < 11) + // { + // continue; + // } + // //鏃ユ湡鍜屾椂闂� 鎵瑰彿/鏍囪瘑鍙� 宓屽鍙�/涓昏酱鍙� 鎿嶄綔绗� 鏂囨湰 娴嬮噺鏈� 杩囩▼鍙傛暟 娴嬮噺绯荤粺 杩囩▼鍙傛暟鍊� 搴忓垪鍙� 闆朵欢璇嗗埆鍙� 1 + // OP80Info oP80Info = new OP80Info(); + // oP80Info.鏃ユ湡鍜屾椂闂� = rowSecond[0]; + // oP80Info.鎵瑰彿 = rowSecond[1]; + // oP80Info.宓屽鍙� = rowSecond[2]; + // oP80Info.鎿嶄綔绗� = rowSecond[3]; + // oP80Info.鏂囨湰 = rowSecond[4]; + // oP80Info.娴嬮噺鏈� = rowSecond[5]; + // oP80Info.杩囩▼鍙傛暟 = rowSecond[6]; + // oP80Info.娴嬮噺绯荤粺 = rowSecond[7]; + // oP80Info.杩囩▼鍙傛暟鍊� = rowSecond[8]; + // oP80Info.搴忓垪鍙� = rowSecond[9]; + // oP80Info.闆朵欢璇嗗埆鍙� = rowSecond[10]; + // for (int i = 1; i <= (rowSecond.Count - 11) / 10; i++) + // { + // if (rowSecond.Count < (11 + i * 10)) + // { + // break; + // } + // //鍚嶇О 鐩稿鍊� 鐩稿鍊煎崟浣� 缁濆鍊� 缁濆鍊煎崟浣� 鍚嶄箟鍊� 涓婇檺 涓嬮檺 鐘舵��/绛夌骇 鍒嗛殧绗� + // OP80ItemInfo item = new OP80ItemInfo(); + // item.鍒嗛殧绗� = rowSecond[1 + i * 10]; + // item.鍚嶇О = rowSecond[2 + i * 10]; + // item.鐩稿鍊� = rowSecond[3 + i * 10]; + // item.鐩稿鍊煎崟浣� = rowSecond[4 + i * 10]; + // item.缁濆鍊� = rowSecond[5 + i * 10]; + // item.缁濆鍊煎崟浣� = rowSecond[6 + i * 10]; + // item.鍚嶄箟鍊� = rowSecond[7 + i * 10]; + // item.涓婇檺 = rowSecond[8 + i * 10]; + // item.涓嬮檺 = rowSecond[9 + i * 10]; + // item.鐘舵�� = rowSecond[10 + i * 10]; + // oP80Info.OP80ItemInfolist.Add(item); + // if (item.鍚嶇О.Equals("Weight Class") || item.鍚嶇О.Equals("Weight Small End") + // || item.鍚嶇О.Equals("Weight Big End") || item.鍚嶇О.Equals("Dime Small_End Class") + // || item.鍚嶇О.Equals("Dime Big_End Class")) + // { + // } + // else + // { + // if (!string.IsNullOrEmpty(item.鐘舵��)) + // { + // oP80Info.OP80ItemStatusInfolist.Add(item); + // } + // } + // } + // if (oP80Info.OP80ItemStatusInfolist.Count > 0) + // { + // if (oP80Info.OP80ItemStatusInfolist.Any(o => !o.鐘舵��.Equals("OK"))) + // { + // wplog.QualityStateStr = "NG"; + // } + // else + // { + // wplog.QualityStateStr = "OK"; + // } + // } + // else + // { + // wplog.QualityStateStr = "OK"; + // } + + + // wplog.OP80NewCode = oP80Info.鎵瑰彿?.Replace("#", ""); + // //澶уご閲嶉噺 + // wplog.QualityOP80To1 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Big End")).FirstOrDefault()?.缁濆鍊�; + // //灏忓ご閲嶉噺 + // wplog.QualityOP80To2 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Small End")).FirstOrDefault()?.缁濆鍊�; + // //鎬婚噸 + // wplog.QualityOP80To3 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Total Weight")).FirstOrDefault()?.缁濆鍊�; + // //寮洸 + // wplog.QualityOP80To4 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Bend to A")).FirstOrDefault()?.缁濆鍊�; + // //鎵害 + // wplog.QualityOP80To5 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Twist to A")).FirstOrDefault()?.缁濆鍊�; + // //澶уご鍨傜洿搴� + // wplog.QualityOP80To6 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_C_Squareness")).FirstOrDefault()?.缁濆鍊�; + // //灏忓ご鍨傜洿搴� + // wplog.QualityOP80To10 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Sma_End_C_Squareness")).FirstOrDefault()?.缁濆鍊�; + // //澶уご瀛斿垎缁勭骇鍒� + // wplog.QualityOP80To7 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Dime Big_End Class")).FirstOrDefault()?.鐘舵��; + // //灏忓ご瀛斿垎缁勭骇鍒� + // wplog.QualityOP80To8 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Dime Small_End Class")).FirstOrDefault()?.鐘舵��; + // //閲嶉噺缁勫埆 + // wplog.QualityOP80To9 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Class")).FirstOrDefault()?.鐘舵��; + // } + // else + // { + // wplog.Remarks = (wplog.Remarks ?? "") + $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}寮傚父锛岃鏁颁笉鏄�2琛�"; + // } + // fileFindTime = files[0].LastWriteTime; + // break; + //} + #endregion + + + #region OP30 + + //////var QualityStateStr = FileHelper.ReadPdfFileForSpire(textBox10.Text, "Result"); + //////var QualityOP30To6 = FileHelper.ReadPdfFileForSpire(textBox10.Text, "Y-Maximum");//琛鍘嬭鍔涚煩 + //////var QualityOP30To7 = FileHelper.ReadPdfFileForSpire(textBox10.Text, "Block X");//琛鍘嬭浣嶇Щ + + + ////var dt = CSVHelper.ReadCSV(textBox10.Text); + //////var datatable = CSVHelper.ReadCSVList(textBox10.Text); + + //////List<string> rowFirst = new List<string>(); + //////List<string> rowSecond = new List<string>(); + //////if(datatable.Count==2) + //////{ + ////// rowFirst = datatable[0].Split(',').ToList(); + ////// rowSecond = datatable[1].Split(',').ToList(); + + //////} + + + //string d = DateTime.Now.AddHours(-10).ToString("yyyy-MM-dd_HH"); + ////鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖 涓�鑸妭鎷嶅湪15绉掑乏鍙筹紙鍙互纭涓�涓嬶級 + ////鎵弿淇敼鏃堕棿鍦ㄤ笂娆℃壂鎻忔椂闂翠箣鍓�10绉掑埌褰撳墠鏃堕棿鐨勪箣闂寸殑鏂囦欢 + //var startTime = DateTimeHelper.GetDateTime().AddYears(-1); + //var endTime = DateTimeHelper.GetDateTime(); + ////var newFiles = FileHelper.DetectNewFilesCSV(textBox10.Text+@"\"+d, 10, Convert.ToDateTime(startTime), endTime); + ////List<FileInfo> files = new List<FileInfo>(); + ////foreach (var file in newFiles) + ////{ + //// files.Add((FileInfo)file); + ////} + ////files = files.OrderByDescending(o => o.LastAccessTime).ToList(); + ////foreach (var file in files) + ////{ + //// //var datatable = CSVHelper.ReadCSV(file.FullName); + ////} + //var newFiles = FileHelper.DetectNewFiles(textBox10.Text, "*.txt", 10, Convert.ToDateTime(startTime), endTime); + + //List<FileInfo> files = new List<FileInfo>(); + //foreach (var file in newFiles) + //{ + // files.Add((FileInfo)file); + //} + //files = files.OrderByDescending(o => o.LastAccessTime).ToList(); + //foreach (var file in files) + //{ + // //string[] lines = File.ReadAllLines(file.FullName); + // //foreach (string line in lines) + // //{ + // // // 澶勭悊姣忎竴琛岀殑閫昏緫 + // //} + // ////var datatable = CSVHelper.ReadCSV(file.FullName); + // //using (StreamReader reader = new StreamReader(file.FullName)) + // //{ + // // string line; + // // while ((line = reader.ReadLine()) != null) + // // { + // // // 澶勭悊姣忎竴琛岀殑閫昏緫 + // // } + // //} + + + // string fileContent = File.ReadAllText(file.FullName); + // string[] lines2 = fileContent.Split('\n'); + // bool IDCodeIndex = false; + // int Mcount = 0; + // foreach (string line in lines2) + // { + // // 澶勭悊姣忎竴琛岀殑閫昏緫 + // if (line.Contains("ID-Code"))//涓や釜鎷х揣锛屾瘡涓墠闈㈤兘鏈塈D-Code + // { + // IDCodeIndex = true; + // Mcount = 0; + // } + // if(IDCodeIndex) + // { + // if (line.Contains(" M "))//绗笁涓狹琛屾槸鎷х揣鏁版嵁 + // { + // Mcount++; + // if(Mcount==3) + // { + // var str=line.Replace("+", "").Replace("-", ""); + // var list = str.Split('M'); + // if(list.Count()==4) + // { + + // } + // IDCodeIndex = false; + // } + // } + // } + // } + //} + #endregion + + #region OP60 + WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + string path = "C:\\Users\\SY-PC\\Desktop\\FO";//OP80鐨勫湴鍧� + var time = DateTimeHelper.GetDateTime(); + DateTime? fileFindTime = null; + if (fileFindTime == null) + { + fileFindTime = time.AddMinutes(-100); + } + //OP60 闇�瑕佹壂鎻忔枃浠惰鍙栬川閲忎俊鎭� + //鎵弿淇敼鏃堕棿鍦ㄤ笂娆℃壂鎻忔椂闂翠箣鍓�30绉掑埌褰撳墠鏃堕棿鐨勪箣闂寸殑鏂囦欢 + List<FileInfo> files = new List<FileInfo>(); + var newFiles = FileHelper.DetectNewFiles(path, "*.dfq", 300000, fileFindTime.Value, time.AddHours(2)); + foreach (var file in newFiles) + { + files.Add((FileInfo)file); + } + files = files.OrderByDescending(o => o.LastWriteTime).ToList(); + + List<OP60Info> op60Infos = new List<OP60Info>(); + foreach (var file in files) + {//鍙栧�掑簭鍖归厤鐨勬枃浠跺悕涓哄伐浠跺彿鐨勬枃浠� + + string DataCapturePointCode = "OP6002A"; + if (file.Name.Contains("SP-" + DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1))) + { + + } + var datatable = CSVHelper.ReadCSVList(file.FullName); + if (datatable.Count < 106) + {//璐ㄩ噺鏁版嵁浠�106琛屽紑濮� + + } + datatable.Reverse(); + System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding(); + byte[] byteArray = new byte[] { (byte)15 }; + string strCharacter = asciiEncoding.GetString(byteArray); + var list = datatable[0].Split(new String[] { strCharacter }, StringSplitOptions.None); + byte[] byteArray2 = new byte[] { (byte)20 }; + string strCharacter2 = asciiEncoding.GetString(byteArray2); + foreach (var item in list) + { + var listitem = item.Split(new String[] { strCharacter2 }, StringSplitOptions.None); + if (listitem.Count() == 3) + { + OP60Info info = new OP60Info(); + info.datetime = listitem[2]; + info.col2 = listitem[1]; + info.value = listitem[0]; + info.datetimeHandle = CommonManager.GetOP60Time(info.datetime); + op60Infos.Add(info); + } + } + if (op60Infos.Count() >= 2) + { + //if (op60QualityTime.HasValue) + { + //if (op60Infos[0].datetimeHandle > op60QualityTime.Value) + { + wplog.QualityOP60To1 = op60Infos[0].value; + wplog.QualityOP60To2 = op60Infos[1].value; + } + } + //op60QualityTime = op60Infos[0].datetimeHandle; + break; + } + } + #endregion + + #region QITA + + //var WorkingProcedure = "OP20"; + //var EquipmentID = "EOP20"; + //var DataCapturePointCode = "OP2002A"; + ////var DataCapturePointCode = "OP3002CH3"; + //WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + //wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + //wplog.WorkingProcedure = WorkingProcedure; + //wplog.EquipmentID = EquipmentID; + //wplog.Remarks = WorkingProcedure; + //wplog.MonitoringPoint = DataCapturePointCode; + //wplog.WorkPieceID = "DZ045L2312150101041CAO"; + //wplog.CreatedTime = DateTimeHelper.GetDateTime(); + //wplog.CreatedUserName = DataCapturePointCode; + //wplog.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); + //wplog.UpdatedTime = DateTimeHelper.GetDateTime(); + //wplog.IsDeleted = false; + //wplog.QualityStateStr = "OK"; + ////try + ////{ + //// using (DbModel db = new DbModel()) + //// { + //// var info = db.KnifeToolEquipmentInfo.Where(o => o.EquipmentID.Equals(wplog.EquipmentID)).ToList(); + //// foreach (var item in info) + //// { + //// item.CurrentLife++; + //// item.UpdatedTime = DateTime.Now; + //// } + //// //db.SaveChanges(); + //// } + + ////} + ////catch (Exception ex) + ////{ + + ////} + ////wplog.Remarks = ""; + ////wplog.Remarks = (wplog.Remarks ?? "") + $"璐ㄩ噺锛歿wplog.Remarks ?? "绌�"}"; + ////wplog.Remarks = null; + ////wplog.Remarks = (wplog.Remarks ?? "") + $"璐ㄩ噺锛歿wplog.Remarks ?? "绌�"}"; + ////wplog.Remarks = "111"; + ////wplog.Remarks = (wplog.Remarks ?? "") + $"璐ㄩ噺锛歿wplog.Remarks ?? "绌�"}"; + ////wplog = GetCH4Info(textBox10.Text, wplog); + //WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + + ////WorkPieceLogMiddle log = new WorkPieceLogMiddle(); + ////log = GetCH5Info(textBox10.Text, log); + #endregion + + + + + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + + } + } + public enum test + { + test1, + test2 = 3, + test3 = 4 + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.resx b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.resx new file mode 100644 index 0000000..2d4772d --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormMain.resx @@ -0,0 +1,204 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <metadata name="Threadcode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Threadcname.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Column6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="EquipmentID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="WorkingProcedure.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="DataCapturePointCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="DataCapturePointCname.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="DataCaptureType.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="DataCapturePLCType.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="PLCIP.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="PLCPort.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="DataCaptureColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="DataCaptureColumnType.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="dataGridViewTextBoxColumn3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="dataGridViewTextBoxColumn4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="dataGridViewTextBoxColumn5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="dataGridViewTextBoxColumn6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="dataGridViewTextBoxColumn7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="dataGridViewTextBoxColumn8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="dataGridViewTextBoxColumn9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="dataGridViewTextBoxColumn10.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> +</root> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.Designer.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.Designer.cs new file mode 100644 index 0000000..cdf1d04 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.Designer.cs @@ -0,0 +1,94 @@ +锘� +namespace iWare_SCADA_DataCaptureV3 +{ + partial class FormTest + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.button1 = new System.Windows.Forms.Button(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.button2 = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.SuspendLayout(); + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(126, 30); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 0; + this.button1.Text = "button1"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(59, 128); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.RowTemplate.Height = 23; + this.dataGridView1.Size = new System.Drawing.Size(707, 150); + this.dataGridView1.TabIndex = 1; + // + // button2 + // + this.button2.Location = new System.Drawing.Point(282, 30); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(75, 23); + this.button2.TabIndex = 0; + this.button2.Text = "button1"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // FormTest + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.dataGridView1); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Name = "FormTest"; + this.Text = "FormTest"; + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.Button button2; + } +} \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.cs new file mode 100644 index 0000000..94113aa --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.cs @@ -0,0 +1,63 @@ +锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical; +using iWare_SCADA_BusinessLogical.Utils; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using iWare_SCADA_Model.TableModelSC; + +namespace iWare_SCADA_DataCaptureV3 +{ + public partial class FormTest : Form + { + public FormTest() + { + InitializeComponent(); + } + + private void button1_Click(object sender, EventArgs e) + { + try + { + AlarmLogManager.UpdateAlarmLogs(new AlarmLog()); + + //openFileDialog1.Filter = "Excel2003(*.xls)|*.csv|Excel2007(*.xlsx)|*.xlsx"; + + //if (openFileDialog1.ShowDialog() != DialogResult.OK) + // return; + + //string FileNameWrite = openFileDialog1.FileName; + + + + //var datatable = CSVHelper.ReadCSV(FileNameWrite); + //this.dataGridView1.DataSource = datatable; + } + catch(Exception ex) + { + MessageBox.Show(ex.Message); + } + } + + private void button2_Click(object sender, EventArgs e) + { + + try + { + var log2=AlarmLogManager.GetAlarmLogs(); + //var log = WorkPieceLogManager.GetAlarmLog(); + this.dataGridView1.DataSource = log2; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.resx b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.resx new file mode 100644 index 0000000..9bad2f5 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/FormTest.resx @@ -0,0 +1,123 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> +</root> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Program.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Program.cs new file mode 100644 index 0000000..1f3c65f --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Program.cs @@ -0,0 +1,26 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace iWare_SCADA_DataCaptureV3 +{ + static class Program + { + /// <summary> + /// 搴旂敤绋嬪簭鐨勪富鍏ュ彛鐐广�� + /// </summary> + [STAThread] + static void Main() + { + Yitter.IdGenerator.IdGeneratorOptions options = new Yitter.IdGenerator.IdGeneratorOptions(1); + Yitter.IdGenerator.YitIdHelper.SetIdGenerator(options); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new FormMain()); + //Application.Run(new FormTest()); + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/AssemblyInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..00f85d1 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +锘縰sing System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅 +// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼 +// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭�� +[assembly: AssemblyTitle("iWare_SCADA_DataCaptureV3")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("iWare_SCADA_DataCaptureV3")] +[assembly: AssemblyCopyright("Copyright 漏 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷 +//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷 +//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆� +[assembly: ComVisible(false)] + +// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID +[assembly: Guid("29ff4f3c-b142-4ba4-85e8-83241232f709")] + +// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�: +// +// 涓荤増鏈� +// 娆$増鏈� +// 鐢熸垚鍙� +// 淇鍙� +// +//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊� +//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Resources.Designer.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Resources.Designer.cs new file mode 100644 index 0000000..7bd190d --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +锘�//------------------------------------------------------------------------------ +// <auto-generated> +// 姝や唬鐮佺敱宸ュ叿鐢熸垚銆� +// 杩愯鏃剁増鏈�:4.0.30319.42000 +// +// 瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋� +// 閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace iWare_SCADA_DataCapture_Test.Properties { + using System; + + + /// <summary> + /// 涓�涓己绫诲瀷鐨勮祫婧愮被锛岀敤浜庢煡鎵炬湰鍦板寲鐨勫瓧绗︿覆绛夈�� + /// </summary> + // 姝ょ被鏄敱 StronglyTypedResourceBuilder + // 绫婚�氳繃绫讳技浜� ResGen 鎴� Visual Studio 鐨勫伐鍏疯嚜鍔ㄧ敓鎴愮殑銆� + // 鑻ヨ娣诲姞鎴栫Щ闄ゆ垚鍛橈紝璇风紪杈� .ResX 鏂囦欢锛岀劧鍚庨噸鏂拌繍琛� ResGen + // (浠� /str 浣滀负鍛戒护閫夐」)锛屾垨閲嶆柊鐢熸垚 VS 椤圭洰銆� + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// <summary> + /// 杩斿洖姝ょ被浣跨敤鐨勭紦瀛樼殑 ResourceManager 瀹炰緥銆� + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("iWare_SCADA_DataCapture_Test.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// 閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�э紝瀵� + /// 浣跨敤姝ゅ己绫诲瀷璧勬簮绫荤殑鎵�鏈夎祫婧愭煡鎵炬墽琛岄噸鍐欍�� + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Resources.resx b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Resources.resx @@ -0,0 +1,117 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Settings.Designer.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Settings.Designer.cs new file mode 100644 index 0000000..a628fea --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +锘�//------------------------------------------------------------------------------ +// <auto-generated> +// 姝や唬鐮佺敱宸ュ叿鐢熸垚銆� +// 杩愯鏃剁増鏈�:4.0.30319.42000 +// +// 瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋� +// 閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace iWare_SCADA_DataCapture_Test.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Settings.settings b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/Properties/Settings.settings @@ -0,0 +1,7 @@ +锘�<?xml version='1.0' encoding='utf-8'?> +<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> + <Profiles> + <Profile Name="(Default)" /> + </Profiles> + <Settings /> +</SettingsFile> diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test.csproj b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test.csproj new file mode 100644 index 0000000..3e41992 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test.csproj @@ -0,0 +1,182 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" /> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{E07C6E80-A875-482C-9427-BA5703DFF7EB}</ProjectGuid> + <OutputType>WinExe</OutputType> + <RootNamespace>iWare_SCADA_DataCapture_Test</RootNamespace> + <AssemblyName>iWare_SCADA_DataCapture_Test</AssemblyName> + <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> + <Deterministic>true</Deterministic> + <NuGetPackageImportStamp> + </NuGetPackageImportStamp> + <IsWebBootstrapper>false</IsWebBootstrapper> + <PublishUrl>C:\2.ProjectFolder\瀹夎鏂囦欢\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>3</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <UseApplicationTrust>false</UseApplicationTrust> + <PublishWizardCompleted>true</PublishWizardCompleted> + <BootstrapperEnabled>true</BootstrapperEnabled> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup> + <ManifestCertificateThumbprint>FD4004E500823F6C9EAF9596D7157A90E034751E</ManifestCertificateThumbprint> + </PropertyGroup> + <PropertyGroup> + <ManifestKeyFile>iWare_SCADA_DataCaptureV3_TemporaryKey.pfx</ManifestKeyFile> + </PropertyGroup> + <PropertyGroup> + <GenerateManifests>true</GenerateManifests> + </PropertyGroup> + <PropertyGroup> + <SignManifests>false</SignManifests> + </PropertyGroup> + <ItemGroup> + <Reference Include="BouncyCastle.Crypto, Version=1.8.9.0, Culture=neutral, PublicKeyToken=0e99375e54769942"> + <HintPath>..\packages\BouncyCastle.1.8.9\lib\BouncyCastle.Crypto.dll</HintPath> + </Reference> + <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> + <HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath> + </Reference> + <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> + <HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath> + </Reference> + <Reference Include="itextsharp, Version=5.5.13.3, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL"> + <HintPath>..\packages\iTextSharp.5.5.13.3\lib\itextsharp.dll</HintPath> + </Reference> + <Reference Include="System"> + <HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\System.dll</HintPath> + </Reference> + <Reference Include="System.ComponentModel.DataAnnotations" /> + <Reference Include="System.Core" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Data" /> + <Reference Include="System.Deployment" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Net.Http" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml" /> + <Reference Include="Yitter.IdGenerator.Net45, Version=1.0.0.4, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Yitter.IdGenerator.Net45.1.0.0\lib\net452\Yitter.IdGenerator.Net45.dll</HintPath> + </Reference> + </ItemGroup> + <ItemGroup> + <Compile Include="FormMain.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="FormMain.Designer.cs"> + <DependentUpon>FormMain.cs</DependentUpon> + </Compile> + <Compile Include="FormTest.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="FormTest.Designer.cs"> + <DependentUpon>FormTest.cs</DependentUpon> + </Compile> + <Compile Include="Program.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <EmbeddedResource Include="FormMain.resx"> + <DependentUpon>FormMain.cs</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="FormTest.resx"> + <DependentUpon>FormTest.cs</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="Properties\Resources.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + <SubType>Designer</SubType> + </EmbeddedResource> + <Compile Include="Properties\Resources.Designer.cs"> + <AutoGen>True</AutoGen> + <DependentUpon>Resources.resx</DependentUpon> + <DesignTime>True</DesignTime> + </Compile> + <None Include="App - 鐢熶骇鐜.config"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="App - 鏈満鐜.config"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="iWare_SCADA_DataCaptureV3_TemporaryKey.pfx" /> + <None Include="packages.config" /> + <None Include="Properties\Settings.settings"> + <Generator>SettingsSingleFileGenerator</Generator> + <LastGenOutput>Settings.Designer.cs</LastGenOutput> + </None> + <Compile Include="Properties\Settings.Designer.cs"> + <AutoGen>True</AutoGen> + <DependentUpon>Settings.settings</DependentUpon> + <DesignTimeSharedInput>True</DesignTimeSharedInput> + </Compile> + </ItemGroup> + <ItemGroup> + <None Include="App.config"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\iWare_SCADA_BusinessLogical\iWare_SCADA_BusinessLogical.csproj"> + <Project>{32708f19-fe1a-48f5-b373-8e1c776f216c}</Project> + <Name>iWare_SCADA_BusinessLogical</Name> + </ProjectReference> + <ProjectReference Include="..\iWare_SCADA_Model\iWare_SCADA_Model.csproj"> + <Project>{91c185de-15ab-44ae-b585-53799fc51be0}</Project> + <Name>iWare_SCADA_Model</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include=".NETFramework,Version=v4.7.2"> + <Visible>False</Visible> + <ProductName>Microsoft .NET Framework 4.7.2 %28x86 鍜� x64%29</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>false</Install> + </BootstrapperPackage> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>杩欏彴璁$畻鏈轰笂缂哄皯姝ら」鐩紩鐢ㄧ殑 NuGet 绋嬪簭鍖呫�備娇鐢ㄢ�淣uGet 绋嬪簭鍖呰繕鍘熲�濆彲涓嬭浇杩欎簺绋嬪簭鍖呫�傛湁鍏虫洿澶氫俊鎭紝璇峰弬瑙� http://go.microsoft.com/fwlink/?LinkID=322105銆傜己灏戠殑鏂囦欢鏄� {0}銆�</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" /> + <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" /> + </Target> + <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" /> +</Project> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/packages.config b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/packages.config new file mode 100644 index 0000000..548357b --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_DataCapture_Test/packages.config @@ -0,0 +1,7 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="BouncyCastle" version="1.8.9" targetFramework="net472" /> + <package id="EntityFramework" version="6.4.4" targetFramework="net472" /> + <package id="iTextSharp" version="5.5.13.3" targetFramework="net472" /> + <package id="Yitter.IdGenerator.Net45" version="1.0.0" targetFramework="net472" /> +</packages> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/App.Config b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/App.Config new file mode 100644 index 0000000..144eb06 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/App.Config @@ -0,0 +1,26 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<configuration> + <configSections> + <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> + <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> + </configSections> + <connectionStrings> + <add name="SCTest" connectionString="data source=.;initial catalog=SCTest_new;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> + <add name="Model1" connectionString="data source=.;initial catalog=SCADA_DF22001_CORE;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> + <add name="Model2" connectionString="data source=.;initial catalog=SCADA_DF22001_CORE;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> + <add name="Model3" connectionString="data source=82.156.32.44;initial catalog=iWare.SCADA;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> + <add name="Entities" connectionString="metadata=res://*/test.Model1.csdl|res://*/test.Model1.ssdl|res://*/test.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=82.156.32.44;initial catalog=iWare.SCADA;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> + <add name="Model11" connectionString="data source=82.156.32.44;initial catalog=iWare.SCADA;persist security info=True;user id=sa;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> + <add name="Model12" connectionString="data source=10.10.40.166;initial catalog=iWare.SCADA;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> + </connectionStrings> + <entityFramework> + <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> + <parameters> + <parameter value="mssqllocaldb" /> + </parameters> + </defaultConnectionFactory> + <providers> + <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> + </providers> + </entityFramework> +</configuration> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/EnumberEntity.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/EnumberEntity.cs new file mode 100644 index 0000000..c2769a9 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/EnumberEntity.cs @@ -0,0 +1,29 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_Model +{ + /// <summary> + /// 鏋氫妇瀹炰綋绫� + /// </summary> + public class EnumberEntity + { + /// <summary> + /// 鏋氫妇鐨勬弿杩� + /// </summary> + public string Desction { set; get; } + + /// <summary> + /// 鏋氫妇鍚嶇О + /// </summary> + public string EnumName { set; get; } + + /// <summary> + /// 鏋氫妇瀵硅薄鐨勫�� + /// </summary> + public int EnumValue { set; get; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/Enums.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/Enums.cs new file mode 100644 index 0000000..13a1c6a --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/Enums.cs @@ -0,0 +1,225 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_Model +{ + ///// <summary> + ///// 璁惧鐘舵�� + ///// </summary> + //public enum EnumEquipmentCurrentState + //{ + // 杩愯涓�=1, + // 鏁呴殰=2, + // 绌洪棽=3, + // 鎺夌嚎=4, + // 寮�鏈� = 5, + // 鍏虫満 = 6 + //} + /// <summary> + /// 璁惧鐘舵�侊紙鏄剧ず锛� + /// </summary> + public enum EnumEquipmentCurrentStateDisplay + { + 鐢熶骇 = 1, + 瀹屾垚 = 2, + 寰呮満 = 3, + 璀﹀憡 = 4, + 鏁呴殰 = 5, + 绂荤嚎 = 6 + } + /// <summary> + /// 宸ヤ欢鐘舵�� + /// </summary> + public enum WorkPieceState + { + /// <summary> + /// 鍦ㄥ埗鍝� + /// </summary> + WIP = 1, + /// <summary> + /// 鎺ㄥ嚭 + /// </summary> + Push = 2, + /// <summary> + /// SPC鎺ㄥ嚭 + /// </summary> + SPCPush = 3, + /// <summary> + /// NOOK鎺ㄥ嚭 + /// </summary> + NOOKPush = 4, + /// <summary> + /// 鎴愬搧 + /// </summary> + FinishedProducts = 10 + } + public enum OperationType + { + 鐢熶骇, + SPC + } + /// <summary> + /// 璐ㄩ噺鐘舵�� + /// </summary> + public enum QualityState + { + /// <summary> + /// 鍚堟牸 + /// </summary> + OK = 1, + /// <summary> + /// 涓嶅悎鏍� + /// </summary> + NG = 2, + /// <summary> + /// 鐤戜技 + /// </summary> + Suspected = 3 + } + + /// <summary> + /// 涓嶅悎鏍煎師鍥� 銆怑ditby shaocx,2024-06-26銆� + /// </summary> + public enum QualityNoOkEnum + { + + + OP10鍘氬害瓒呭樊 = 2, + OP20灏忓ご瀛旂洿寰勮秴宸� = 3, + OP30娑ㄦ柇宸ヤ綅鍔涚煩澶� = 4, + OP35婊氬帇鍔涗笉鍚堟牸 = 5, + OP40鍘氬害瓒呭樊 = 6, + OP60灏忓ご瀛旂洿寰勮秴宸� = 8, + OP80灏哄瓒呭樊 = 10, + OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ = 11, + OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ = 12, + OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ = 13, + OP60澶уご瀛旂洿寰勮秴宸� = 14, + OP80閲嶉噺瓒呭樊 = 15, + } + + /// <summary> + /// 璐ㄩ噺鐘舵�佷慨鏀规柟寮� + /// </summary> + public enum QualityStateUpdateMode + { + /// <summary> + /// 鎵嬪姩 + /// </summary> + Manual = 1, + /// <summary> + /// 鑷姩 + /// </summary> + Auto = 2, + /// <summary> + /// 鑷姩 + /// </summary> + SPC = 3 + } + public enum QualityType + { + /// <summary> + /// SPC璐ㄩ噺鎶芥 + /// </summary> + SPC = 1, + /// <summary> + /// 鍦ㄧ嚎璐ㄩ噺娴嬮噺 + /// </summary> + Online = 2 + } + + public enum EDbError + { + 璁板綍宸插瓨鍦� = -2146233087 + } + /// <summary> + /// PLC缁勪欢绫诲瀷 + /// </summary> + public enum PLCServiceTypeEnum + { + S7 = 1, + /// <summary> + /// 瑗块棬瀛怭LC + /// </summary> + Siemens_HslCommunicationService = 2, + /// <summary> + /// 缃楀厠闊﹀皵PLC + /// </summary> + AB_HslCommunicationService = 3 + } + /// <summary> + /// 鏃ュ織绫诲瀷 + /// </summary> + public enum LogType + { + /// <summary> + /// 涓荤晫闈㈠紓甯� + /// </summary> + FormMain = 1, + + #region PLC閲囬泦 宸ュ簭鐩稿叧 + PLCOP05 = 10, + PLCOP10 = 11, + PLCOP20 = 12, + PLCOP30 = 13, + PLCOP35 = 14, + PLCOP40 = 15, + PLCOP50 = 16, + PLCOP60 = 17, + PLCOP70 = 18, + PLCOP80 = 19, + PLCHMI = 20, + /// <summary> + /// OP80鐨勮川閲忔暟鎹噰闆� 銆怑ditby shaocx,2024-06-16銆� + /// </summary> + PLCOP80_QC = 21, + #endregion + + #region PLC鐩稿叧 + + HslCommunicationService = 100, + + /// <summary> + /// PLC鏁版嵁璁块棶鏈嶅姟鏃ュ織 + /// </summary> + PLCService = 101, + #endregion + + #region 鏁版嵁搴撻噰闆嗙浉鍏� + DBDataCapture = 200, + #endregion + + #region 宸ユ帶鏈虹浉鍏� + + #endregion + + + + + } + + public enum WorkingProcedureForHMI + { + OP05 = 1, + OP10 = 2, + OP20 = 3, + OP30 = 4, + OP35 = 5, + OP40 = 6, + OP50 = 7, + OP60 = 8, + OP70 = 9, + OP80 = 10, + } + + public enum FeedbackMode + { + /// <summary> + /// 鍙嶉缁橮LC + /// </summary> + FeedbackPLC = 1 + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/ListItem.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/ListItem.cs new file mode 100644 index 0000000..6848893 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/ListItem.cs @@ -0,0 +1,32 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_Model +{ + /// <summary> + /// ListItem鐢ㄤ簬ComboBox鎺т欢娣诲姞椤� + /// </summary> + public class ListItem + { + public string Text + { + get; + set; + } + public string Value + { + get; + set; + } + + + + public override string ToString() + { + return this.Text; + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MessageModel.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MessageModel.cs new file mode 100644 index 0000000..d039e96 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MessageModel.cs @@ -0,0 +1,29 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_Model +{ + /// <summary> + /// 鏂规硶杩斿洖瀹炰綋 + /// </summary> + public class MessageModel + { + /// <summary> + /// 鏂规硶杩斿洖缁撴灉 + /// </summary> + public bool result { get; set; } + + /// <summary> + /// 鏂规硶杩斿洖娑堟伅 + /// </summary> + public string resMsg { get; set; } + + /// <summary> + /// 杩斿洖鍊� + /// </summary> + public object resData { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MiddleModel/ThreadStatusMonitorMiddle.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MiddleModel/ThreadStatusMonitorMiddle.cs new file mode 100644 index 0000000..0c6b9af --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MiddleModel/ThreadStatusMonitorMiddle.cs @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_Model.MiddleModel +{ + [NotMapped] + public class ThreadStatusMonitorMiddle : ThreadStatusMonitor + { + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MiddleModel/WorkPieceLogMiddle.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MiddleModel/WorkPieceLogMiddle.cs new file mode 100644 index 0000000..51878eb --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/MiddleModel/WorkPieceLogMiddle.cs @@ -0,0 +1,439 @@ +锘縰sing Microsoft.SqlServer.Server; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_Model +{ + [NotMapped] + public class WorkPieceLogMiddle : WorkPieceLog + { + /// <summary> + /// OP80鑾峰彇QC鏁版嵁鏍囪,0琛ㄧず寰呰幏鍙栵紝1琛ㄧず鑾峰彇鎴愬姛锛�2琛ㄧず鑾峰彇澶辫触 銆怑ditby shaocx,2024-06-15銆� + /// </summary> + public int? GetQcDataFlag { get; set; } + + #region SPC,NOOK 鎺ㄥ嚭澶氫欢 OP20锛孫P50锛孫P60 + public string WorkPieceIDA { get; set; } + public string WorkPieceIDB { get; set; } + public string WorkPieceIDC { get; set; } + public string WorkPieceIDD { get; set; } + #endregion + + #region 璁惧淇℃伅 + /// <summary> + /// 璁惧妯″紡0.5 =true鏃惰嚜鍔紝 false鏃舵墜鍔� + /// </summary> + public bool EquipmentMode { get; set; } + /// <summary> + /// 1.1=true 涓嬫枡鍒�=閬撴弧鏂� + /// </summary> + public bool FullMaterial { get; set; } + /// <summary> + /// 1.0=true 涓婃枡閬撶己鏂� + /// </summary> + public bool LackMaterial { get; set; } + /// <summary> + /// 鏄惁姝e父鐢熶骇 + /// 杩愯涓細0.4=true ps锛氬姞涓婁笉缂烘枡 绠楄繍琛屼腑 + ///绌洪棽锛�0.4=true ps锛氬姞涓婄己鏂欏氨鏄┖闂� + /// </summary> + public bool IsNormalProduction { get; set; } + public bool MachineOn { get; set; } + public bool MachineOff { get; set; } + + /// <summary> + /// 鍒�鍏锋槸鍚﹀憡璀� + /// </summary> + public bool IsToolChange { get; set; } + #endregion + + #region 璁惧鍛婅锛堜竴浜岀被鍛婅锛� + /// <summary> + /// 鍏虫満 + /// </summary> + public bool IsShutDown { get; set; } + /// <summary> + /// 寮�鏈� + /// </summary> + public bool IsPowerOn { get; set; } + /// <summary> + /// 鍛婅鏄惁鍏抽棴 + /// </summary> + public bool IsCloseAlert { get; set; } + /// <summary> + /// 鍛婅鐘舵�佹槸鍚﹀彉鏇磋繃 + /// </summary> + public bool ischeckAlertStatus { get; set; } + public long FailureType1 { get; set; } + public long FailureType2 { get; set; } + public long FailureType3 { get; set; } + public long FailureType4 { get; set; } + public long FailureType5 { get; set; } + public long FailureType6 { get; set; } + public long FailureType7 { get; set; } + public long FailureType8 { get; set; } + public long FailureType9 { get; set; } + public long FailureType10 { get; set; } + public long FailureType11 { get; set; } + public long FailureType12 { get; set; } + public long FailureType13 { get; set; } + public long FailureType14 { get; set; } + public long FailureType15 { get; set; } + public long FailureType16 { get; set; } + public long FailureType17 { get; set; } + public long FailureType18 { get; set; } + public long FailureType19 { get; set; } + public long FailureType20 { get; set; } + #endregion + + #region 璁惧message锛堜竴鑸槸涓夌被鍛婅锛屼絾涓嶅奖鍝嶈澶囪繍琛岋級 + + /// <summary> + /// 鏄惁瀛樺湪message + /// </summary> + public bool IsMessage { get; set; } + /// <summary> + /// message鏄惁鍙樻洿杩� + /// </summary> + public bool ischeckMessageStatus { get; set; } + public long FailureMessage1 { get; set; } + public long FailureMessage2 { get; set; } + public long FailureMessage3 { get; set; } + public long FailureMessage4 { get; set; } + public long FailureMessage5 { get; set; } + public long FailureMessage6 { get; set; } + public long FailureMessage7 { get; set; } + public long FailureMessage8 { get; set; } + public long FailureMessage9 { get; set; } + public long FailureMessage10 { get; set; } + public long FailureMessage11 { get; set; } + public long FailureMessage12 { get; set; } + public long FailureMessage13 { get; set; } + public long FailureMessage14 { get; set; } + public long FailureMessage15 { get; set; } + public long FailureMessage16 { get; set; } + public long FailureMessage17 { get; set; } + public long FailureMessage18 { get; set; } + public long FailureMessage19 { get; set; } + public long FailureMessage20 { get; set; } + #endregion + + #region OP80 + public string OP80NewCode { get; set; } + /// <summary> + /// 娴嬮噺鍚堟牸鐘舵�� + /// </summary> + public bool St3_Means_OK { get; set; } + /// <summary> + /// 绉伴噸鐘舵�� + /// </summary> + public bool St4_Weight_OK { get; set; } + /// <summary> + /// 鎵撴爣鍚堟牸鐘舵�� + /// </summary> + public bool St5_Mark_OK { get; set; } + /// <summary> + /// 鎵撴爣璇嗗埆鍚堟牸鐘舵�� + /// </summary> + public bool ST6_Camera_OK { get; set; } + + public string OP80QualityFilePath { get; set; } + public string OP60QualityFilePath { get; set; } + public string OP20QualityFilePath { get; set; } + #endregion + + #region OP30 + + public string OP30QualityStateCH3 { get; set; } + public string OP30QualityStateCH4 { get; set; } + public string OP30QualityStateCH5 { get; set; } + public string OP30QualityStateCH6 { get; set; } + + public DateTime? OP30QualityReceiveTimeCH3 { get; set; } + public DateTime? OP30QualityReceiveTimeCH4 { get; set; } + public DateTime? OP30QualityReceiveTimeCH5 { get; set; } + public DateTime? OP30QualityReceiveTimeCH6 { get; set; } + + + public string OP30QualityFilePathCH3 { get; set; } + public string OP30QualityFilePathCH4 { get; set; } + public string OP30QualityFilePathCH5 { get; set; } + public string OP30QualityFilePathCH6 { get; set; } + #endregion + + #region op35 + public bool OP35OK { get; set; } + public bool OP35NOOK { get; set; } + #endregion + + #region OP60鍝釜宸ヤ綅鏍囪锛圓銆丅銆丆銆丏锛夈�怑ditby shaocx,2024-06-07銆� + + /// <summary> + /// OP60鍝釜宸ヤ綅鏍囪锛圓銆丅銆丆銆丏锛� + /// </summary> + public bool Op60_Place_Flag { get; set; } + + #endregion + + public bool IsConnect { get; set; } + /// <summary> + /// PLC浼犲�兼槸string鍨嬬殑 + /// </summary> + public string QualityStateStr { get; set; } + public string QualityType { get; set; } + public string QualityStateUpdateMode { get; set; } + + public string QualityStateUpdateUser { get; set; } + + public Dictionary<string, string> GetWorkPieceInfoDict() + { + Dictionary<string, string> dict = new Dictionary<string, string>(); + dict.Add("WorkPieceID", "WorkPieceID"); + return dict; + + } + /// <summary> + /// OP10/OP40 鎺ㄥ嚭鍘熷洜锛�1锛歯ok锛�2鍜�3锛歴pc锛�4锛氱姸鎬佷笉鏄庯級 + /// </summary> + public string OP10Flag { get; set; } + public DateTime AlertTime { get; set; } + + + public string QualityOP10To1 { get; set; } + public string QualityOP40To1 { get; set; } + + + public string QualityOP20To1 { get; set; } + + + public string QualityOP30To1 { get; set; } + + + public string QualityOP30To2 { get; set; } + + + public string QualityOP30To3 { get; set; } + + + public string QualityOP30To4 { get; set; } + + + public string QualityOP30To5 { get; set; } + + + public string QualityOP30To6 { get; set; } + + + public string QualityOP30To7 { get; set; } + public string QualityOP30To8 { get; set; } + public string QualityOP30To9 { get; set; } + public string QualityOP30To10 { get; set; } + public string QualityOP30To11 { get; set; } + + + public string QualityOP35To1 { get; set; } + + + public string QualityOP35To2 { get; set; } + + /// <summary> + /// 澶уご瀛旂洿寰� + /// </summary> + public string QualityOP60To1 { get; set; } + + /// <summary> + /// 灏忓ご瀛旂洿寰� + /// </summary> + public string QualityOP60To2 { get; set; } + + + public string QualityOP70To1 { get; set; } + + + public string QualityOP70To2 { get; set; } + + + public string QualityOP70To3 { get; set; } + + + public string QualityOP80To1 { get; set; } + + + public string QualityOP80To2 { get; set; } + + + public string QualityOP80To3 { get; set; } + + + public string QualityOP80To4 { get; set; } + + + public string QualityOP80To5 { get; set; } + + + public string QualityOP80To6 { get; set; } + + + public string QualityOP80To7 { get; set; } + + + public string QualityOP80To8 { get; set; } + + + public string QualityOP80To9 { get; set; } + public string QualityOP80To10 { get; set; } + + + #region 鏂板OP80鐨勪竴浜涜川閲忔暟鎹� 銆怑ditby shaocx,2024-06-13銆� + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-鍘氬害 + /// </summary> + public string QualityOP80_Houdu { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-涓績璺� + /// </summary> + public string QualityOP80_ZXJ { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-澶уご瀛斿渾鏌卞害 + /// </summary> + public string QualityOP80_DTKYZD { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-灏忓ご涓婇潰鍦嗗害 + /// </summary> + public string QualityOP80_XTSMYD { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-灏忓ご涓嬮潰鍦嗗害 + /// </summary> + public string QualityOP80_XTXMYD { get; set; } + + + #region 澶уご瀛旂洿寰� + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-澶уご瀛旂洿寰�,澶уご瀛旂洿寰�=锛堝ぇ澶翠笂闈鏂瑰悜鐩村緞+澶уご涓婇潰Y鏂瑰悜鐩村緞+澶уご涓嬮潰X鏂瑰悜鐩村緞+澶уご涓嬮潰Y鏂瑰悜鐩村緞锛�/4 + /// </summary> + public string QualityOP80_D_TKZJ { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-澶уご涓婇潰X鏂瑰悜鐩村緞 + /// </summary> + public string QualityOP80_D_S_X { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-澶уご涓婇潰Y鏂瑰悜鐩村緞 + /// </summary> + public string QualityOP80_D_S_Y { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-澶уご涓嬮潰X鏂瑰悜鐩村緞 + /// </summary> + public string QualityOP80_D_X_X { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-澶уご涓嬮潰Y鏂瑰悜鐩村緞 + /// </summary> + public string QualityOP80_D_X_Y { get; set; } + + #endregion + + #region 灏忓ご瀛旂洿寰� + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-灏忓ご瀛旂洿寰�,灏忓ご瀛旂洿寰�=锛堝皬澶翠笂闈鏂瑰悜鐩村緞+灏忓ご涓婇潰Y鏂瑰悜鐩村緞+灏忓ご涓嬮潰X鏂瑰悜鐩村緞+灏忓ご涓嬮潰Y鏂瑰悜鐩村緞锛�/4 + /// </summary> + public string QualityOP80_X_TKZJ { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-灏忓ご涓婇潰X鏂瑰悜鐩村緞 + /// </summary> + public string QualityOP80_X_S_X { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-灏忓ご涓婇潰Y鏂瑰悜鐩村緞 + /// </summary> + public string QualityOP80_X_S_Y { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-灏忓ご涓嬮潰X鏂瑰悜鐩村緞 + /// </summary> + public string QualityOP80_X_X_X { get; set; } + + /// <summary> + /// OP80 璐ㄩ噺鏁版嵁-灏忓ご涓嬮潰Y鏂瑰悜鐩村緞 + /// </summary> + public string QualityOP80_X_X_Y { get; set; } + + #endregion + + #endregion + + public string EquipmentCurrentState { get; set; } + } + //[NotMapped] + //public class QualityDataInfoMiddle : WorkPieceLog + //{ + // public Dictionary<string, string> GetWorkPieceInfoDict() + // { + // Dictionary<string, string> dict = new Dictionary<string, string>(); + // dict.Add("WorkPieceID", "WorkPieceID"); + // return dict; + + // } + //} + [NotMapped] + public class OP80Info + { + //鏃ユ湡鍜屾椂闂� 鎵瑰彿/鏍囪瘑鍙� 宓屽鍙�/涓昏酱鍙� 鎿嶄綔绗� 鏂囨湰 娴嬮噺鏈� 杩囩▼鍙傛暟 娴嬮噺绯荤粺 杩囩▼鍙傛暟鍊� 搴忓垪鍙� 闆朵欢璇嗗埆鍙� 1 + + public string 鏃ユ湡鍜屾椂闂� { get; set; } + public string 鎵瑰彿 { get; set; } + public string 宓屽鍙� { get; set; } + public string 鎿嶄綔绗� { get; set; } + public string 鏂囨湰 { get; set; } + public string 娴嬮噺鏈� { get; set; } + public string 杩囩▼鍙傛暟 { get; set; } + public string 娴嬮噺绯荤粺 { get; set; } + public string 杩囩▼鍙傛暟鍊� { get; set; } + public string 搴忓垪鍙� { get; set; } + public string 闆朵欢璇嗗埆鍙� { get; set; } + public List<OP80ItemInfo> OP80ItemInfolist = new List<OP80ItemInfo>(); + public List<OP80ItemInfo> OP80ItemStatusInfolist = new List<OP80ItemInfo>(); + + } + + [NotMapped] + public class OP80ItemInfo + { + //鍚嶇О 鐩稿鍊� 鐩稿鍊煎崟浣� 缁濆鍊� 缁濆鍊煎崟浣� 鍚嶄箟鍊� 涓婇檺 涓嬮檺 鐘舵��/绛夌骇 鍒嗛殧绗� + public string 鍚嶇О { get; set; } + public string 鐩稿鍊� { get; set; } + public string 鐩稿鍊煎崟浣� { get; set; } + public string 缁濆鍊� { get; set; } + public string 缁濆鍊煎崟浣� { get; set; } + public string 鍚嶄箟鍊� { get; set; } + /// <summary> + /// USL鍊� + /// </summary> + public string 涓婇檺 { get; set; } + /// <summary> + /// LSL鍊� + /// </summary> + public string 涓嬮檺 { get; set; } + /// <summary> + /// 鐘舵��/绛夌骇 + /// </summary> + public string 鐘舵�� { get; set; } + public string 鍒嗛殧绗� { get; set; } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/PLCDataCapture/BasePlcParam.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/PLCDataCapture/BasePlcParam.cs new file mode 100644 index 0000000..25bf930 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/PLCDataCapture/BasePlcParam.cs @@ -0,0 +1,16 @@ +锘� + +namespace iWare_SCADA_Model +{ + public class BasePlcParam + { + /// <summary> + /// PLC IP鍦板潃 + /// </summary> + public string ip { get; set; } + /// <summary> + /// PLC 绔彛 + /// </summary> + public int port { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/PLCDataCapture/HslCommunicationParam.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/PLCDataCapture/HslCommunicationParam.cs new file mode 100644 index 0000000..7529610 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/PLCDataCapture/HslCommunicationParam.cs @@ -0,0 +1,22 @@ +锘縰sing HslCommunication.Profinet.Siemens; + +namespace iWare_SCADA_Model +{ + public class HslCommunicationParam:BasePlcParam + { + /// <summary> + /// 瑗块棬瀛怭LC鐨勭被鍨� + /// </summary> + public SiemensPLCS cpu { get; set; } + + /// <summary> + /// 瑗块棬瀛怭LC鐨勬満鏋� + /// </summary> + public short rack { get; set; } + /// <summary> + /// 瑗块棬瀛怭LC鐨勬彃妲� + /// </summary> + public short slot { get; set; } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/Properties/AssemblyInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5b15c13 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +锘縰sing System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅 +// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼 +// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭�� +[assembly: AssemblyTitle("iWare_SCADA_Model")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("iWare_SCADA_Model")] +[assembly: AssemblyCopyright("Copyright 漏 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷 +//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷 +//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆� +[assembly: ComVisible(false)] + +// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID +[assembly: Guid("91c185de-15ab-44ae-b585-53799fc51be0")] + +// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�: +// +// 涓荤増鏈� +// 娆$増鏈� +// 鐢熸垚鍙� +// 淇鍙� +// +//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊� +//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/SystemValue.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/SystemValue.cs new file mode 100644 index 0000000..f7b06e2 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/SystemValue.cs @@ -0,0 +1,2430 @@ +锘� +using iWare_SCADA_Model.MiddleModel; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace iWare_SCADA_Model +{ + /// <summary> + /// 绯荤粺鍙橀噺 + /// </summary> + public class SystemValue + { + #region PLC閾炬帴 + + public static object lock5QRcodeList = new object(); + private static Dictionary<string, PLCService> _qRcodeList = new Dictionary<string, PLCService>(); + #endregion + /// <summary> + /// 绯荤粺鍚姩鐨凣UID + /// </summary> + public static string SystemStartGuid = string.Empty; + + /// <summary> + /// 妯″紡鏄惁鍚姩 + /// </summary> + public static bool isStartedModel = false; + + /// <summary> + /// 寤惰繜绾跨▼鎵ц鐨勬椂闂达紙姣锛� + /// </summary> + public static int DelayExcuteNumber = 2000; + + + /// <summary> + /// PLC鍦板潃鍒嗛殧绗� 锛岀敤浜庡垎闅� DB鍦板潃鍜屽亸绉婚噺鐨� + /// </summary> + public static char PLCDBADDRESS_SEPARATE = '|'; + + + public static List<ThreadStatusMonitor> MainList=new List<ThreadStatusMonitor>(); + + private static object lockMainList = new object(); + public static async void UpdateMainList(ThreadStatusMonitor threadinfo) + { + await Task.Run(() => { + lock (lockMainList) + { + var info = MainList.Where(o => o.Threadcode == threadinfo.Threadcode).FirstOrDefault(); + if(info == null) + { + MainList.Add(threadinfo); + } + else + { + DateTime time = DateTime.Now; + info.Remarks = threadinfo.Remarks; + info.Threadendtime = time;//姣忔閮芥洿鏂� + info.Threadlastmodifytime = threadinfo.Threadlastmodifytime>DateTime.MinValue? threadinfo.Threadlastmodifytime: info.Threadlastmodifytime;//濡傛灉鏈変紶鍙傚垯鏇存柊 + info.ThreadId = threadinfo.ThreadId; + info.ThreadFrequency = threadinfo.ThreadFrequency; + info.UpdatedTime = time; + info.UpdatedUserName = threadinfo.Threadcode; + if (info.Threadstatue == 1) + { + info.Threadlastmodifytime = time;//鏈�鏂拌窇鍒版暟鎹� + } + } + } + }); + } + + + #region OP05宸ュ簭 + + public static object lock5QRcodeList = new object(); + private static Dictionary<string, DateTime> _qRcodeList = new Dictionary<string, DateTime>(); + /// <summary> + /// OP05璇诲彇鐨勪簩缁寸爜鍒楄〃 //娉ㄦ剰锛屼娇鐢ㄤ腑add 鍜岃祴鍊奸兘闇�瑕佹坊鍔犻攣 lock5QRcodeList + /// </summary> + public static Dictionary<string, DateTime> QRcodeList + { + get { return _qRcodeList; } + set + { + _qRcodeList = value; + } + } + + private static object lockOP0501Runing = new object(); + private static object lockOP0502Runing = new object(); + private static object lockOP0503Runing = new object(); + private static object lockOP0504Runing = new object(); + private static object lockOP0506Runing = new object(); + private static object lockOP0507Runing = new object(); + private static bool _isAllowRuning_OP0501 = false; + private static bool _isAllowRuning_OP0502 = false; + private static bool _isAllowRuning_OP0503 = false; + private static bool _isAllowRuning_OP0504 = false; + private static bool _isAllowRuning_OP0506 = false; + private static bool _isAllowRuning_OP0507 = false; + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP05宸ュ簭鎵撶爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP0501 + { + get { return _isAllowRuning_OP0501; } + set { + lock (lockOP0501Runing) + { + _isAllowRuning_OP0501 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP05宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP0502 + { + get { return _isAllowRuning_OP0502; } + set + { + lock (lockOP0502Runing) + { + _isAllowRuning_OP0502 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP05宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP0503 + { + get { return _isAllowRuning_OP0503; } + set + { + lock (lockOP0503Runing) + { + _isAllowRuning_OP0503 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP05宸ュ簭瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP0504 + { + get { return _isAllowRuning_OP0504; } + set + { + lock (lockOP0504Runing) + { + _isAllowRuning_OP0504 = value; + } + } + } + + + private static object lockOP0501Alert = new object(); + private static object lockOP0502Alert = new object(); + private static object lockOP0503Alert = new object(); + private static object lockOP0504Alert = new object(); + private static object lockOP0506Alert = new object(); + private static object lockOP0507Alert = new object(); + private static string _lbl_Alert_OP0501 = string.Empty; + private static string _lbl_Alert_OP0502 = string.Empty; + private static string _lbl_Alert_OP0503 = string.Empty; + private static string _lbl_Alert_OP0504 = string.Empty; + private static string _lbl_Alert_OP0506 = string.Empty; + private static string _lbl_Alert_OP0507 = string.Empty; + /// <summary> + /// 鐩戞帶OP05宸ュ簭鎵撶爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP0501 + { + get { return _lbl_Alert_OP0501; } + set + { + lock (lockOP0501Alert) + { + _lbl_Alert_OP0501 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP05宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP0502 + { + get { return _lbl_Alert_OP0502; } + set + { + lock (lockOP0502Alert) + { + _lbl_Alert_OP0502 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP05宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP0503 + { + get { return _lbl_Alert_OP0503; } + set + { + lock (lockOP0503Alert) + { + _lbl_Alert_OP0503 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP05宸ュ簭瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP0504 + { + get { return _lbl_Alert_OP0504; } + set + { + lock (lockOP0504Alert) + { + _lbl_Alert_OP0504 = value; + } + } + } + public static string lbl_Alert_OP0506 + { + get { return _lbl_Alert_OP0506; } + set + { + lock (lockOP0506Alert) + { + _lbl_Alert_OP0506 = value; + } + } + } + public static string lbl_Alert_OP0507 + { + get { return _lbl_Alert_OP0507; } + set + { + lock (lockOP0507Alert) + { + _lbl_Alert_OP0507 = value; + } + } + } + + + private static object lockOP0501Value = new object(); + private static object lockOP0502Value = new object(); + private static object lockOP0503Value = new object(); + private static object lockOP0504Value = new object(); + private static object lockOP0506Value = new object(); + private static object lockOP0507Value = new object(); + private static string _value_OP0501 = string.Empty; + private static string _value_OP0502 = string.Empty; + private static string _value_OP0503 = string.Empty; + private static string _value_OP0504 = string.Empty; + private static string _value_OP0506 = string.Empty; + private static string _value_OP0507 = string.Empty; + + /// <summary> + /// OP05宸ュ簭鎵撶爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP0501 + { + get { return _value_OP0501; } + set + { + lock (lockOP0501Value) + { + _value_OP0501 = value; + } + } + } + /// <summary> + /// OP05宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP0502 + { + get { return _value_OP0502; } + set + { + lock (lockOP0502Value) + { + _value_OP0502 = value; + } + } + } + /// <summary> + /// OP05宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP0503 + { + get { return _value_OP0503; } + set + { + lock (lockOP0503Value) + { + _value_OP0503 = value; + } + } + } + /// <summary> + /// OP05宸ュ簭瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP0504 + { + get { return _value_OP0504; } + set + { + lock (lockOP0504Value) + { + _value_OP0504 = value; + } + } + } + public static string value_OP0506 + { + get { return _value_OP0506; } + set + { + lock (lockOP0506Value) + { + _value_OP0506 = value; + } + } + } + public static string value_OP0507 + { + get { return _value_OP0507; } + set + { + lock (lockOP0507Value) + { + _value_OP0507 = value; + } + } + } + #endregion + + + #region OP10宸ュ簭 + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1001 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭娴嬭瘯瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1002 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1003 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1004 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1005 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP10宸ュ簭鍛婅鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP1006 = false; + public static bool isAllowRuning_OP1007 = false; + + + /// <summary> + /// 鐩戞帶OP10宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + private static string _lbl_Alert_OP1001 = string.Empty; + /// <summary> + /// 鐩戞帶OP10宸ュ簭娴嬭瘯瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + private static string _lbl_Alert_OP1002 = string.Empty; + /// <summary> + /// 鐩戞帶OP10宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + private static string _lbl_Alert_OP1003 = string.Empty; + /// <summary> + /// 鐩戞帶OP10宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + private static string _lbl_Alert_OP1004 = string.Empty; + /// <summary> + /// 鐩戞帶OP10宸ュ簭瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + private static string _lbl_Alert_OP1005 = string.Empty; + /// <summary> + /// 鐩戞帶OP10宸ュ簭鍛婅淇℃伅 + /// </summary> + private static string _lbl_Alert_OP1006 = string.Empty; + private static string _lbl_Alert_OP1007 = string.Empty; + + + /// <summary> + /// OP10宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP1001 = string.Empty; + /// <summary> + /// OP10宸ュ簭娴嬭瘯瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP1002 = string.Empty; + /// <summary> + /// OP10宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP1003 = string.Empty; + /// <summary> + /// OP10宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP1004 = string.Empty; + /// <summary> + /// OP10宸ュ簭瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP1005 = string.Empty; + /// <summary> + /// OP10宸ュ簭鍛婅鏍囪鍊� + /// </summary> + public static string value_OP1006 = string.Empty; + public static string value_OP1007 = string.Empty; + + private static object lockOP1001Alert = new object(); + private static object lockOP1002Alert = new object(); + private static object lockOP1003Alert = new object(); + private static object lockOP1004Alert = new object(); + private static object lockOP1005Alert = new object(); + private static object lockOP1006Alert = new object(); + private static object lockOP1007Alert = new object(); + + + public static string lbl_Alert_OP1001 + { + get { return _lbl_Alert_OP1001; } + set + { + lock (lockOP1001Alert) + { + _lbl_Alert_OP1001 = value; + } + } + } + public static string lbl_Alert_OP1002 + { + get { return _lbl_Alert_OP1002; } + set + { + lock (lockOP1002Alert) + { + _lbl_Alert_OP1002 = value; + } + } + } + public static string lbl_Alert_OP1003 + { + get { return _lbl_Alert_OP1003; } + set + { + lock (lockOP1003Alert) + { + _lbl_Alert_OP1003 = value; + } + } + } + public static string lbl_Alert_OP1004 + { + get { return _lbl_Alert_OP1004; } + set + { + lock (lockOP1004Alert) + { + _lbl_Alert_OP1004 = value; + } + } + } + public static string lbl_Alert_OP1005 + { + get { return _lbl_Alert_OP1005; } + set + { + lock (lockOP1005Alert) + { + _lbl_Alert_OP1005 = value; + } + } + } + public static string lbl_Alert_OP1006 + { + get { return _lbl_Alert_OP1006; } + set + { + lock (lockOP1006Alert) + { + _lbl_Alert_OP1006 = value; + } + } + } + public static string lbl_Alert_OP1007 + { + get { return _lbl_Alert_OP1007; } + set + { + lock (lockOP1007Alert) + { + _lbl_Alert_OP1007 = value; + } + } + } + #endregion + + #region OP20宸ュ簭 + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2001 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭娴嬭瘯瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2002 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2003 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2004 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2005 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP20宸ュ簭鍛婅鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP2006 = false; + + + /// <summary> + /// 鐩戞帶OP20宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string _lbl_Alert_OP2001 = string.Empty; + /// <summary> + /// 鐩戞帶OP20宸ュ簭娴嬭瘯瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string _lbl_Alert_OP2002 = string.Empty; + /// <summary> + /// 鐩戞帶OP20宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string _lbl_Alert_OP2003 = string.Empty; + /// <summary> + /// 鐩戞帶OP20宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string _lbl_Alert_OP2004 = string.Empty; + /// <summary> + /// 鐩戞帶OP20宸ュ簭瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string _lbl_Alert_OP2005 = string.Empty; + /// <summary> + /// 鐩戞帶OP20宸ュ簭鍛婅淇℃伅 + /// </summary> + public static string _lbl_Alert_OP2006 = string.Empty; + + + /// <summary> + /// OP20宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP2001 = string.Empty; + /// <summary> + /// OP20宸ュ簭娴嬭瘯瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP2002 = string.Empty; + /// <summary> + /// OP20宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP2003 = string.Empty; + /// <summary> + /// OP20宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP2004 = string.Empty; + /// <summary> + /// OP20宸ュ簭瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP2005 = string.Empty; + /// <summary> + /// OP20宸ュ簭鍛婅鏍囪鍊� + /// </summary> + public static string value_OP2006 = string.Empty; + #endregion + + + #region OP30宸ュ簭 + + private static object lockOP3001Runing = new object(); + private static object lockOP3002Runing = new object(); + private static object lockOP3003Runing = new object(); + private static object lockOP3004Runing = new object(); + private static bool _isAllowRuning_OP3001 = false; + private static bool _isAllowRuning_OP3002 = false; + private static bool _isAllowRuning_OP3003 = false; + private static bool _isAllowRuning_OP3004 = false; + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3001 + { + get { return _isAllowRuning_OP3001; } + set + { + lock (lockOP3001Runing) + { + _isAllowRuning_OP3001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭娴嬮噺瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3002 + { + get { return _isAllowRuning_OP3002; } + set + { + lock (lockOP3002Runing) + { + _isAllowRuning_OP3002 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3003 + { + get { return _isAllowRuning_OP3003; } + set + { + lock (lockOP3003Runing) + { + _isAllowRuning_OP3003 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3004 + { + get { return _isAllowRuning_OP3004; } + set + { + lock (lockOP3004Runing) + { + _isAllowRuning_OP3004 = value; + } + } + } + + + private static object lockOP3001Alert = new object(); + private static object lockOP3002Alert = new object(); + private static object lockOP3003Alert = new object(); + private static object lockOP3004Alert = new object(); + private static string _lbl_Alert_OP3001 = string.Empty; + private static string _lbl_Alert_OP3002 = string.Empty; + private static string _lbl_Alert_OP3003 = string.Empty; + private static string _lbl_Alert_OP3004 = string.Empty; + /// <summary> + /// 鐩戞帶OP30宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3001 + { + get { return _lbl_Alert_OP3001; } + set + { + lock (lockOP3001Alert) + { + _lbl_Alert_OP3001 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP30宸ュ簭娴嬮噺瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3002 + { + get { return _lbl_Alert_OP3002; } + set + { + lock (lockOP3002Alert) + { + _lbl_Alert_OP3002 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP30宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3003 + { + get { return _lbl_Alert_OP3003; } + set + { + lock (lockOP3003Alert) + { + _lbl_Alert_OP3003 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3004 + { + get { return _lbl_Alert_OP3004; } + set + { + lock (lockOP3004Alert) + { + _lbl_Alert_OP3004 = value; + } + } + } + + + private static object lockOP3001Value = new object(); + private static object lockOP3002Value = new object(); + private static object lockOP3003Value = new object(); + private static object lockOP3004Value = new object(); + private static string _value_OP3001 = string.Empty; + private static string _value_OP3002 = string.Empty; + private static string _value_OP3003 = string.Empty; + private static string _value_OP3004 = string.Empty; + + /// <summary> + /// OP30宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP3001 + { + get { return _value_OP3001; } + set + { + lock (lockOP3001Value) + { + _value_OP3001 = value; + } + } + } + /// <summary> + /// OP30宸ュ簭娴嬮噺瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP3002 + { + get { return _value_OP3002; } + set + { + lock (lockOP3002Value) + { + _value_OP3002 = value; + } + } + } + /// <summary> + /// OP30宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3003 + { + get { return _value_OP3003; } + set + { + lock (lockOP3003Value) + { + _value_OP3003 = value; + } + } + } + /// <summary> + /// OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3004 + { + get { return _value_OP3004; } + set + { + lock (lockOP3004Value) + { + _value_OP3004 = value; + } + } + } + + + + private static object lockOP3005Runing = new object(); + private static bool _isAllowRuning_OP3005 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3005 + { + get { return _isAllowRuning_OP3005; } + set + { + lock (lockOP3005Runing) + { + _isAllowRuning_OP3005 = value; + } + } + } + + private static object lockOP3005Alert = new object(); + private static string _lbl_Alert_OP3005 = string.Empty; + /// <summary> + /// 鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3005 + { + get { return _lbl_Alert_OP3005; } + set + { + lock (lockOP3005Alert) + { + _lbl_Alert_OP3005 = value; + } + } + } + + private static string _value_OP3005 = string.Empty; + private static object lockOP3005Value = new object(); + /// <summary> + /// OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3005 + { + get { return _value_OP3005; } + set + { + lock (lockOP3005Value) + { + _value_OP3005 = value; + } + } + } + + + + + private static object lockOP3006Runing = new object(); + private static bool _isAllowRuning_OP3006 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3006 + { + get { return _isAllowRuning_OP3006; } + set + { + lock (lockOP3006Runing) + { + _isAllowRuning_OP3006 = value; + } + } + } + + private static object lockOP3006Alert = new object(); + private static string _lbl_Alert_OP3006 = string.Empty; + /// <summary> + /// 鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3006 + { + get { return _lbl_Alert_OP3006; } + set + { + lock (lockOP3006Alert) + { + _lbl_Alert_OP3006 = value; + } + } + } + + private static string _value_OP3006 = string.Empty; + private static object lockOP3006Value = new object(); + /// <summary> + /// OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3006 + { + get { return _value_OP3006; } + set + { + lock (lockOP3006Value) + { + _value_OP3006 = value; + } + } + } + + + + private static object lockOP3007Runing = new object(); + private static bool _isAllowRuning_OP3007 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3007 + { + get { return _isAllowRuning_OP3007; } + set + { + lock (lockOP3007Runing) + { + _isAllowRuning_OP3007 = value; + } + } + } + + private static object lockOP3007Alert = new object(); + private static string _lbl_Alert_OP3007 = string.Empty; + /// <summary> + /// 鐩戞帶OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3007 + { + get { return _lbl_Alert_OP3007; } + set + { + lock (lockOP3007Alert) + { + _lbl_Alert_OP3007 = value; + } + } + } + + private static string _value_OP3007 = string.Empty; + private static object lockOP3007Value = new object(); + /// <summary> + /// OP30宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3007 + { + get { return _value_OP3007; } + set + { + lock (lockOP3007Value) + { + _value_OP3007 = value; + } + } + } + #endregion + + + #region OP35宸ュ簭 + + private static object lockOP3501Runing = new object(); + private static object lockOP3502Runing = new object(); + private static object lockOP3503Runing = new object(); + private static object lockOP3504Runing = new object(); + private static bool _isAllowRuning_OP3501 = false; + private static bool _isAllowRuning_OP3502 = false; + private static bool _isAllowRuning_OP3503 = false; + private static bool _isAllowRuning_OP3504 = false; + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3501 + { + get { return _isAllowRuning_OP3501; } + set + { + lock (lockOP3501Runing) + { + _isAllowRuning_OP3501 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭娴嬮噺瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3502 + { + get { return _isAllowRuning_OP3502; } + set + { + lock (lockOP3502Runing) + { + _isAllowRuning_OP3502 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3503 + { + get { return _isAllowRuning_OP3503; } + set + { + lock (lockOP3503Runing) + { + _isAllowRuning_OP3503 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3504 + { + get { return _isAllowRuning_OP3504; } + set + { + lock (lockOP3504Runing) + { + _isAllowRuning_OP3504 = value; + } + } + } + + private static object lockOP3501Alert = new object(); + private static object lockOP3502Alert = new object(); + private static object lockOP3503Alert = new object(); + private static object lockOP3504Alert = new object(); + private static string _lbl_Alert_OP3501 = string.Empty; + private static string _lbl_Alert_OP3502 = string.Empty; + private static string _lbl_Alert_OP3503 = string.Empty; + private static string _lbl_Alert_OP3504 = string.Empty; + /// <summary> + /// 鐩戞帶OP35宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3501 + { + get { return _lbl_Alert_OP3501; } + set + { + lock (lockOP3501Alert) + { + _lbl_Alert_OP3501 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP35宸ュ簭娴嬮噺瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3502 + { + get { return _lbl_Alert_OP3502; } + set + { + lock (lockOP3502Alert) + { + _lbl_Alert_OP3502 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP35宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3503 + { + get { return _lbl_Alert_OP3503; } + set + { + lock (lockOP3503Alert) + { + _lbl_Alert_OP3503 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3504 + { + get { return _lbl_Alert_OP3504; } + set + { + lock (lockOP3504Alert) + { + _lbl_Alert_OP3504 = value; + } + } + } + + + private static object lockOP3501Value = new object(); + private static object lockOP3502Value = new object(); + private static object lockOP3503Value = new object(); + private static object lockOP3504Value = new object(); + private static string _value_OP3501 = string.Empty; + private static string _value_OP3502 = string.Empty; + private static string _value_OP3503 = string.Empty; + private static string _value_OP3504 = string.Empty; + + /// <summary> + /// OP35宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP3501 + { + get { return _value_OP3501; } + set + { + lock (lockOP3501Value) + { + _value_OP3501 = value; + } + } + } + /// <summary> + /// OP35宸ュ簭娴嬮噺瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP3502 + { + get { return _value_OP3502; } + set + { + lock (lockOP3502Value) + { + _value_OP3502 = value; + } + } + } + /// <summary> + /// OP35宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3503 + { + get { return _value_OP3503; } + set + { + lock (lockOP3503Value) + { + _value_OP3503 = value; + } + } + } + /// <summary> + /// OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3504 + { + get { return _value_OP3504; } + set + { + lock (lockOP3504Value) + { + _value_OP3504 = value; + } + } + } + + + + private static object lockOP3505Runing = new object(); + private static bool _isAllowRuning_OP3505 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3505 + { + get { return _isAllowRuning_OP3505; } + set + { + lock (lockOP3505Runing) + { + _isAllowRuning_OP3505 = value; + } + } + } + + private static object lockOP3505Alert = new object(); + private static string _lbl_Alert_OP3505 = string.Empty; + /// <summary> + /// 鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3505 + { + get { return _lbl_Alert_OP3505; } + set + { + lock (lockOP3505Alert) + { + _lbl_Alert_OP3505 = value; + } + } + } + + private static string _value_OP3505 = string.Empty; + private static object lockOP3505Value = new object(); + /// <summary> + /// OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3505 + { + get { return _value_OP3505; } + set + { + lock (lockOP3505Value) + { + _value_OP3505 = value; + } + } + } + + + + + private static object lockOP3506Runing = new object(); + private static bool _isAllowRuning_OP3506 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3506 + { + get { return _isAllowRuning_OP3506; } + set + { + lock (lockOP3506Runing) + { + _isAllowRuning_OP3506 = value; + } + } + } + + private static object lockOP3506Alert = new object(); + private static string _lbl_Alert_OP3506 = string.Empty; + /// <summary> + /// 鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3506 + { + get { return _lbl_Alert_OP3506; } + set + { + lock (lockOP3506Alert) + { + _lbl_Alert_OP3506 = value; + } + } + } + + private static string _value_OP3506 = string.Empty; + private static object lockOP3506Value = new object(); + /// <summary> + /// OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3506 + { + get { return _value_OP3506; } + set + { + lock (lockOP3506Value) + { + _value_OP3506 = value; + } + } + } + + + + private static object lockOP3507Runing = new object(); + private static bool _isAllowRuning_OP3507 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP3507 + { + get { return _isAllowRuning_OP3507; } + set + { + lock (lockOP3507Runing) + { + _isAllowRuning_OP3507 = value; + } + } + } + + private static object lockOP3507Alert = new object(); + private static string _lbl_Alert_OP3507 = string.Empty; + /// <summary> + /// 鐩戞帶OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP3507 + { + get { return _lbl_Alert_OP3507; } + set + { + lock (lockOP3507Alert) + { + _lbl_Alert_OP3507 = value; + } + } + } + + private static string _value_OP3507 = string.Empty; + private static object lockOP3507Value = new object(); + /// <summary> + /// OP35宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP3507 + { + get { return _value_OP3507; } + set + { + lock (lockOP3507Value) + { + _value_OP3507 = value; + } + } + } + #endregion + + + #region OP70宸ュ簭 + + private static object lockOP7001Runing = new object(); + private static object lockOP7002Runing = new object(); + private static object lockOP7003Runing = new object(); + private static object lockOP7004Runing = new object(); + private static bool _isAllowRuning_OP7001 = false; + private static bool _isAllowRuning_OP7002 = false; + private static bool _isAllowRuning_OP7003 = false; + private static bool _isAllowRuning_OP7004 = false; + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7001 + { + get { return _isAllowRuning_OP7001; } + set + { + lock (lockOP7001Runing) + { + _isAllowRuning_OP7001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭娴嬮噺瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7002 + { + get { return _isAllowRuning_OP7002; } + set + { + lock (lockOP7002Runing) + { + _isAllowRuning_OP7002 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7003 + { + get { return _isAllowRuning_OP7003; } + set + { + lock (lockOP7003Runing) + { + _isAllowRuning_OP7003 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7004 + { + get { return _isAllowRuning_OP7004; } + set + { + lock (lockOP7004Runing) + { + _isAllowRuning_OP7004 = value; + } + } + } + + + private static object lockOP7001Alert = new object(); + private static object lockOP7002Alert = new object(); + private static object lockOP7003Alert = new object(); + private static object lockOP7004Alert = new object(); + private static string _lbl_Alert_OP7001 = string.Empty; + private static string _lbl_Alert_OP7002 = string.Empty; + private static string _lbl_Alert_OP7003 = string.Empty; + private static string _lbl_Alert_OP7004 = string.Empty; + /// <summary> + /// 鐩戞帶OP70宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7001 + { + get { return _lbl_Alert_OP7001; } + set + { + lock (lockOP7001Alert) + { + _lbl_Alert_OP7001 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP70宸ュ簭娴嬮噺瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7002 + { + get { return _lbl_Alert_OP7002; } + set + { + lock (lockOP7002Alert) + { + _lbl_Alert_OP7002 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP70宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7003 + { + get { return _lbl_Alert_OP7003; } + set + { + lock (lockOP7003Alert) + { + _lbl_Alert_OP7003 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7004 + { + get { return _lbl_Alert_OP7004; } + set + { + lock (lockOP7004Alert) + { + _lbl_Alert_OP7004 = value; + } + } + } + + + private static object lockOP7001Value = new object(); + private static object lockOP7002Value = new object(); + private static object lockOP7003Value = new object(); + private static object lockOP7004Value = new object(); + private static string _value_OP7001 = string.Empty; + private static string _value_OP7002 = string.Empty; + private static string _value_OP7003 = string.Empty; + private static string _value_OP7004 = string.Empty; + + /// <summary> + /// OP70宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP7001 + { + get { return _value_OP7001; } + set + { + lock (lockOP7001Value) + { + _value_OP7001 = value; + } + } + } + /// <summary> + /// OP70宸ュ簭娴嬮噺瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP7002 + { + get { return _value_OP7002; } + set + { + lock (lockOP7002Value) + { + _value_OP7002 = value; + } + } + } + /// <summary> + /// OP70宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP7003 + { + get { return _value_OP7003; } + set + { + lock (lockOP7003Value) + { + _value_OP7003 = value; + } + } + } + /// <summary> + /// OP70宸ュ簭璇荤爜锛堝氨鏄疧P70宸ュ簭娴嬮噺瀹屾垚鍚庝細鎵撳嵃涓�涓柊浜岀淮鐮侊紝缁戝畾鍘熷伐浠跺彿锛� + /// </summary> + public static string value_OP7004 + { + get { return _value_OP7004; } + set + { + lock (lockOP7004Value) + { + _value_OP7004 = value; + } + } + } + + + + private static object lockOP7005Runing = new object(); + private static bool _isAllowRuning_OP7005 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7005 + { + get { return _isAllowRuning_OP7005; } + set + { + lock (lockOP7005Runing) + { + _isAllowRuning_OP7005 = value; + } + } + } + + private static object lockOP7005Alert = new object(); + private static string _lbl_Alert_OP7005 = string.Empty; + /// <summary> + /// 鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7005 + { + get { return _lbl_Alert_OP7005; } + set + { + lock (lockOP7005Alert) + { + _lbl_Alert_OP7005 = value; + } + } + } + + private static string _value_OP7005 = string.Empty; + private static object lockOP7005Value = new object(); + /// <summary> + /// OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP7005 + { + get { return _value_OP7005; } + set + { + lock (lockOP7005Value) + { + _value_OP7005 = value; + } + } + } + + + + + private static object lockOP7006Runing = new object(); + private static bool _isAllowRuning_OP7006 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7006 + { + get { return _isAllowRuning_OP7006; } + set + { + lock (lockOP7006Runing) + { + _isAllowRuning_OP7006 = value; + } + } + } + + private static object lockOP7006Alert = new object(); + private static string _lbl_Alert_OP7006 = string.Empty; + /// <summary> + /// 鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7006 + { + get { return _lbl_Alert_OP7006; } + set + { + lock (lockOP7006Alert) + { + _lbl_Alert_OP7006 = value; + } + } + } + + private static string _value_OP7006 = string.Empty; + private static object lockOP7006Value = new object(); + /// <summary> + /// OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP7006 + { + get { return _value_OP7006; } + set + { + lock (lockOP7006Value) + { + _value_OP7006 = value; + } + } + } + + + + private static object lockOP7007Runing = new object(); + private static bool _isAllowRuning_OP7007 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP7007 + { + get { return _isAllowRuning_OP7007; } + set + { + lock (lockOP7007Runing) + { + _isAllowRuning_OP7007 = value; + } + } + } + + private static object lockOP7007Alert = new object(); + private static string _lbl_Alert_OP7007 = string.Empty; + /// <summary> + /// 鐩戞帶OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP7007 + { + get { return _lbl_Alert_OP7007; } + set + { + lock (lockOP7007Alert) + { + _lbl_Alert_OP7007 = value; + } + } + } + + private static string _value_OP7007 = string.Empty; + private static object lockOP7007Value = new object(); + /// <summary> + /// OP70宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP7007 + { + get { return _value_OP7007; } + set + { + lock (lockOP7007Value) + { + _value_OP7007 = value; + } + } + } + #endregion + #region OP80宸ュ簭 + + private static object lockOP8001Runing = new object(); + private static object lockOP8002Runing = new object(); + private static object lockOP8003Runing = new object(); + private static object lockOP8004Runing = new object(); + private static bool _isAllowRuning_OP8001 = false; + private static bool _isAllowRuning_OP8002 = false; + private static bool _isAllowRuning_OP8003 = false; + private static bool _isAllowRuning_OP8004 = false; + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭璇荤爜瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8001 + { + get { return _isAllowRuning_OP8001; } + set + { + lock (lockOP8001Runing) + { + _isAllowRuning_OP8001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭娴嬮噺瀹屾垚鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8002 + { + get { return _isAllowRuning_OP8002; } + set + { + lock (lockOP8002Runing) + { + _isAllowRuning_OP8002 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8003 + { + get { return _isAllowRuning_OP8003; } + set + { + lock (lockOP8003Runing) + { + _isAllowRuning_OP8003 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8004 + { + get { return _isAllowRuning_OP8004; } + set + { + lock (lockOP8004Runing) + { + _isAllowRuning_OP8004 = value; + } + } + } + + + private static object lockOP8001Alert = new object(); + private static object lockOP8002Alert = new object(); + private static object lockOP8003Alert = new object(); + private static object lockOP8004Alert = new object(); + private static string _lbl_Alert_OP8001 = string.Empty; + private static string _lbl_Alert_OP8002 = string.Empty; + private static string _lbl_Alert_OP8003 = string.Empty; + private static string _lbl_Alert_OP8004 = string.Empty; + /// <summary> + /// 鐩戞帶OP80宸ュ簭璇荤爜瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8001 + { + get { return _lbl_Alert_OP8001; } + set + { + lock (lockOP8001Alert) + { + _lbl_Alert_OP8001 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP80宸ュ簭娴嬮噺瀹屾垚鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8002 + { + get { return _lbl_Alert_OP8002; } + set + { + lock (lockOP8002Alert) + { + _lbl_Alert_OP8002 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP80宸ュ簭鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8003 + { + get { return _lbl_Alert_OP8003; } + set + { + lock (lockOP8003Alert) + { + _lbl_Alert_OP8003 = value; + } + } + } + /// <summary> + /// 鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8004 + { + get { return _lbl_Alert_OP8004; } + set + { + lock (lockOP8004Alert) + { + _lbl_Alert_OP8004 = value; + } + } + } + + + private static object lockOP8001Value = new object(); + private static object lockOP8002Value = new object(); + private static object lockOP8003Value = new object(); + private static object lockOP8004Value = new object(); + private static string _value_OP8001 = string.Empty; + private static string _value_OP8002 = string.Empty; + private static string _value_OP8003 = string.Empty; + private static string _value_OP8004 = string.Empty; + + /// <summary> + /// OP80宸ュ簭璇荤爜瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP8001 + { + get { return _value_OP8001; } + set + { + lock (lockOP8001Value) + { + _value_OP8001 = value; + } + } + } + /// <summary> + /// OP80宸ュ簭娴嬮噺瀹屾垚鏍囪鍊� + /// </summary> + public static string value_OP8002 + { + get { return _value_OP8002; } + set + { + lock (lockOP8002Value) + { + _value_OP8002 = value; + } + } + } + /// <summary> + /// OP80宸ュ簭鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP8003 + { + get { return _value_OP8003; } + set + { + lock (lockOP8003Value) + { + _value_OP8003 = value; + } + } + } + /// <summary> + /// OP80宸ュ簭璇荤爜锛堝氨鏄疧P80宸ュ簭娴嬮噺瀹屾垚鍚庝細鎵撳嵃涓�涓柊浜岀淮鐮侊紝缁戝畾鍘熷伐浠跺彿锛� + /// </summary> + public static string value_OP8004 + { + get { return _value_OP8004; } + set + { + lock (lockOP8004Value) + { + _value_OP8004 = value; + } + } + } + + + + private static object lockOP8005Runing = new object(); + private static bool _isAllowRuning_OP8005 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8005 + { + get { return _isAllowRuning_OP8005; } + set + { + lock (lockOP8005Runing) + { + _isAllowRuning_OP8005 = value; + } + } + } + + private static object lockOP8005Alert = new object(); + private static string _lbl_Alert_OP8005 = string.Empty; + /// <summary> + /// 鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8005 + { + get { return _lbl_Alert_OP8005; } + set + { + lock (lockOP8005Alert) + { + _lbl_Alert_OP8005 = value; + } + } + } + + private static string _value_OP8005 = string.Empty; + private static object lockOP8005Value = new object(); + /// <summary> + /// OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP8005 + { + get { return _value_OP8005; } + set + { + lock (lockOP8005Value) + { + _value_OP8005 = value; + } + } + } + + + + + private static object lockOP8006Runing = new object(); + private static bool _isAllowRuning_OP8006 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8006 + { + get { return _isAllowRuning_OP8006; } + set + { + lock (lockOP8006Runing) + { + _isAllowRuning_OP8006 = value; + } + } + } + + private static object lockOP8006Alert = new object(); + private static string _lbl_Alert_OP8006 = string.Empty; + /// <summary> + /// 鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8006 + { + get { return _lbl_Alert_OP8006; } + set + { + lock (lockOP8006Alert) + { + _lbl_Alert_OP8006 = value; + } + } + } + + private static string _value_OP8006 = string.Empty; + private static object lockOP8006Value = new object(); + /// <summary> + /// OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP8006 + { + get { return _value_OP8006; } + set + { + lock (lockOP8006Value) + { + _value_OP8006 = value; + } + } + } + + + + private static object lockOP8007Runing = new object(); + private static bool _isAllowRuning_OP8007 = false; + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪绾跨▼ + /// </summary> + public static bool isAllowRuning_OP8007 + { + get { return _isAllowRuning_OP8007; } + set + { + lock (lockOP8007Runing) + { + _isAllowRuning_OP8007 = value; + } + } + } + + private static object lockOP8007Alert = new object(); + private static string _lbl_Alert_OP8007 = string.Empty; + /// <summary> + /// 鐩戞帶OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_OP8007 + { + get { return _lbl_Alert_OP8007; } + set + { + lock (lockOP8007Alert) + { + _lbl_Alert_OP8007 = value; + } + } + } + + private static string _value_OP8007 = string.Empty; + private static object lockOP8007Value = new object(); + /// <summary> + /// OP80宸ュ簭SPC鎺ㄥ嚭鏍囪鍊� + /// </summary> + public static string value_OP8007 + { + get { return _value_OP8007; } + set + { + lock (lockOP8007Value) + { + _value_OP8007 = value; + } + } + } + #endregion + + #region HMI + + private static object lockHMIBeartBeatMonitorRuning = new object(); + private static bool _isAllowRuning_HMIBeartBeatMonitor = false; + private static object lockHMIBeartBeatMonitorAlert = new object(); + private static string _lbl_Alert_HMIBeartBeatMonitor = string.Empty; + + /// <summary> + /// 鐩戞帶HMI蹇冭烦淇℃伅 + /// </summary> + public static bool isAllowRuning_HMIBeartBeatMonitor + { + get { return _isAllowRuning_HMIBeartBeatMonitor; } + set + { + lock (lockHMIBeartBeatMonitorRuning) + { + _isAllowRuning_HMIBeartBeatMonitor = value; + } + } + } + /// <summary> + /// 鐩戞帶HMI蹇冭烦淇℃伅鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIBeartBeatMonitor + { + get { return _lbl_Alert_HMIBeartBeatMonitor; } + set + { + lock (lockHMIBeartBeatMonitorAlert) + { + _lbl_Alert_HMIBeartBeatMonitor = value; + } + } + } + + private static object lockHMIOP104001Runing = new object(); + private static object lockHMIOP2001Runing = new object(); + private static object lockHMIOP303501Runing = new object(); + private static object lockHMIOP5001Runing = new object(); + private static object lockHMIOP6001Runing = new object(); + private static object lockHMIOP104002Runing = new object(); + private static object lockHMIOP2002Runing = new object(); + private static object lockHMIOP303502Runing = new object(); + private static object lockHMIOP5002Runing = new object(); + private static object lockHMIOP6002Runing = new object(); + private static bool _isAllowRuning_HMIOP104001 = false; + private static bool _isAllowRuning_HMIOP2001 = false; + private static bool _isAllowRuning_HMIOP303501 = false; + private static bool _isAllowRuning_HMIOP5001 = false; + private static bool _isAllowRuning_HMIOP6001 = false; + private static bool _isAllowRuning_HMIOP104002 = false; + private static bool _isAllowRuning_HMIOP2002 = false; + private static bool _isAllowRuning_HMIOP303502 = false; + private static bool _isAllowRuning_HMIOP5002 = false; + private static bool _isAllowRuning_HMIOP6002 = false; + private static object lockHMIOP104001Alert = new object(); + private static object lockHMIOP2001Alert = new object(); + private static object lockHMIOP303501Alert = new object(); + private static object lockHMIOP5001Alert = new object(); + private static object lockHMIOP6001Alert = new object(); + private static object lockHMIOP104002Alert = new object(); + private static object lockHMIOP2002Alert = new object(); + private static object lockHMIOP303502Alert = new object(); + private static object lockHMIOP5002Alert = new object(); + private static object lockHMIOP6002Alert = new object(); + private static string _lbl_Alert_HMIOP104001 = string.Empty; + private static string _lbl_Alert_HMIOP2001 = string.Empty; + private static string _lbl_Alert_HMIOP303501 = string.Empty; + private static string _lbl_Alert_HMIOP5001 = string.Empty; + private static string _lbl_Alert_HMIOP6001 = string.Empty; + private static string _lbl_Alert_HMIOP104002 = string.Empty; + private static string _lbl_Alert_HMIOP2002 = string.Empty; + private static string _lbl_Alert_HMIOP303502 = string.Empty; + private static string _lbl_Alert_HMIOP5002 = string.Empty; + private static string _lbl_Alert_HMIOP6002 = string.Empty; + + #region 鐩戞帶璇诲彇绾跨▼ + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP104001璇诲彇浜岀淮鐮佺嚎绋� + /// </summary> + public static bool isAllowRuning_HMIOP104001 + { + get { return _isAllowRuning_HMIOP104001; } + set + { + lock (lockHMIOP104001Runing) + { + _isAllowRuning_HMIOP104001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP2001璇诲彇浜岀淮鐮佺嚎绋� + /// </summary> + public static bool isAllowRuning_HMIOP2001 + { + get { return _isAllowRuning_HMIOP2001; } + set + { + lock (lockHMIOP2001Runing) + { + _isAllowRuning_HMIOP2001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP303501璇诲彇浜岀淮鐮佺嚎绋� + /// </summary> + public static bool isAllowRuning_HMIOP303501 + { + get { return _isAllowRuning_HMIOP303501; } + set + { + lock (lockHMIOP303501Runing) + { + _isAllowRuning_HMIOP303501 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP5001璇诲彇浜岀淮鐮佺嚎绋� + /// </summary> + public static bool isAllowRuning_HMIOP5001 + { + get { return _isAllowRuning_HMIOP5001; } + set + { + lock (lockHMIOP5001Runing) + { + _isAllowRuning_HMIOP5001 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP6001璇诲彇浜岀淮鐮佺嚎绋� + /// </summary> + public static bool isAllowRuning_HMIOP6001 + { + get { return _isAllowRuning_HMIOP6001; } + set + { + lock (lockHMIOP6001Runing) + { + _isAllowRuning_HMIOP6001 = value; + } + } + } + #endregion + + #region 鐩戞帶鍐欏叆绾跨▼ + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP104002鍐欏叆璐ㄩ噺鏁版嵁绾跨▼ + /// </summary> + public static bool isAllowRuning_HMIOP104002 + { + get { return _isAllowRuning_HMIOP104002; } + set + { + lock (lockHMIOP104002Runing) + { + _isAllowRuning_HMIOP104002 = value; + } + } + } + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP2002鍐欏叆璐ㄩ噺鏁版嵁绾跨▼ + /// </summary> + public static bool isAllowRuning_HMIOP2002 + { + get { return _isAllowRuning_HMIOP2002; } + set + { + lock (lockHMIOP2002Runing) + { + _isAllowRuning_HMIOP2002 = value; + } + } + } + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP303502鍐欏叆璐ㄩ噺鏁版嵁绾跨▼ + /// </summary> + public static bool isAllowRuning_HMIOP303502 + { + get { return _isAllowRuning_HMIOP303502; } + set + { + lock (lockHMIOP303502Runing) + { + _isAllowRuning_HMIOP303502 = value; + } + } + } + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP5002鍐欏叆璐ㄩ噺鏁版嵁绾跨▼ + /// </summary> + public static bool isAllowRuning_HMIOP5002 + { + get { return _isAllowRuning_HMIOP5002; } + set + { + lock (lockHMIOP5002Runing) + { + _isAllowRuning_HMIOP5002 = value; + } + } + } + + /// <summary> + /// 鏄惁鍏佽鎵ц鐩戞帶HMIOP6002鏇存柊璐ㄩ噺鏁版嵁绾跨▼ + /// </summary> + public static bool isAllowRuning_HMIOP6002 + { + get { return _isAllowRuning_HMIOP6002; } + set + { + lock (lockHMIOP6002Runing) + { + _isAllowRuning_HMIOP6002 = value; + } + } + } + #endregion + + #region 鐩戞帶璇诲彇绾跨▼浜岀淮鐮佺殑璀﹀憡淇℃伅 + /// <summary> + /// 鐩戞帶HMIOP104001璇诲彇浜岀淮鐮佺殑璀﹀憡娑堟伅 + /// </summary> + public static string lbl_Alert_HMIOP104001 + { + get { return _lbl_Alert_HMIOP104001; } + set + { + lock (lockHMIOP104001Alert) + { + _lbl_Alert_HMIOP104001 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP2001璇诲彇浜岀淮鐮佺殑璀﹀憡娑堟伅 + /// </summary> + public static string lbl_Alert_HMIOP2001 + { + get { return _lbl_Alert_HMIOP2001; } + set + { + lock (lockHMIOP2001Alert) + { + _lbl_Alert_HMIOP2001 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP303501璇诲彇浜岀淮鐮佺殑璀﹀憡娑堟伅 + /// </summary> + public static string lbl_Alert_HMIOP303501 + { + get { return _lbl_Alert_HMIOP303501; } + set + { + lock (lockHMIOP303501Alert) + { + _lbl_Alert_HMIOP303501 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP5001璇诲彇浜岀淮鐮佺殑璀﹀憡娑堟伅 + /// </summary> + public static string lbl_Alert_HMIOP5001 + { + get { return _lbl_Alert_HMIOP5001; } + set + { + lock (lockHMIOP5001Alert) + { + _lbl_Alert_HMIOP5001 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP6001璇诲彇浜岀淮鐮佺殑璀﹀憡娑堟伅 + /// </summary> + public static string lbl_Alert_HMIOP6001 + { + get { return _lbl_Alert_HMIOP6001; } + set + { + lock (lockHMIOP6001Alert) + { + _lbl_Alert_HMIOP6001 = value; + } + } + } + #endregion + + #region 鐩戞帶鍐欏叆绾跨▼浜岀淮鐮佺殑璀﹀憡淇℃伅 + /// <summary> + /// 鐩戞帶HMIOP104002鍐欏叆璐ㄩ噺鏁版嵁鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIOP104002 + { + get { return _lbl_Alert_HMIOP104002; } + set + { + lock (lockHMIOP104002Alert) + { + _lbl_Alert_HMIOP104002 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP2002鍐欏叆璐ㄩ噺鏁版嵁鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIOP2002 + { + get { return _lbl_Alert_HMIOP2002; } + set + { + lock (lockHMIOP2002Alert) + { + _lbl_Alert_HMIOP2002 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP303502鍐欏叆璐ㄩ噺鏁版嵁鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIOP303502 + { + get { return _lbl_Alert_HMIOP303502; } + set + { + lock (lockHMIOP303502Alert) + { + _lbl_Alert_HMIOP303502 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP5002鏇存柊璐ㄩ噺鏁版嵁鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIOP5002 + { + get { return _lbl_Alert_HMIOP5002; } + set + { + lock (lockHMIOP5002Alert) + { + _lbl_Alert_HMIOP5002 = value; + } + } + } + + /// <summary> + /// 鐩戞帶HMIOP6002鏇存柊璐ㄩ噺鏁版嵁鐨勮鍛婃秷鎭� + /// </summary> + public static string lbl_Alert_HMIOP6002 + { + get { return _lbl_Alert_HMIOP6002; } + set + { + lock (lockHMIOP6002Alert) + { + _lbl_Alert_HMIOP6002 = value; + } + } + } + #endregion + #endregion + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/DataCaptureColumnConfig.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/DataCaptureColumnConfig.cs" new file mode 100644 index 0000000..38b770c --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/DataCaptureColumnConfig.cs" @@ -0,0 +1,38 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("DataCaptureColumnConfig")] + public partial class DataCaptureColumnConfig + { + public int ID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [Required] + [StringLength(32)] + public string DataCapturePointCode { get; set; } + + [StringLength(32)] + public string DataCapturePointCname { get; set; } + + public int? DataCaptureType { get; set; } + + [Required] + [StringLength(32)] + public string DbNumber { get; set; } + + [Required] + [StringLength(32)] + public string Offset { get; set; } + + [Required] + [StringLength(32)] + public string DataCaptureColumnType { get; set; } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/DataCaptureConfig.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/DataCaptureConfig.cs" new file mode 100644 index 0000000..885d79f --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/DataCaptureConfig.cs" @@ -0,0 +1,56 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("DataCaptureConfig")] + public partial class DataCaptureConfig + { + public int ID { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [Required] + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [Required] + [StringLength(32)] + public string DataCapturePointCode { get; set; } + + [StringLength(32)] + public string DataCapturePointCname { get; set; } + + public int DataCaptureType { get; set; } + + public int? DataCapturePLCType { get; set; } + + [Required] + [StringLength(255)] + public string PLCIP { get; set; } + + public int PLCPort { get; set; } + + [Required] + [StringLength(32)] + public string DbNumber { get; set; } + + [Required] + [StringLength(32)] + public string Offset { get; set; } + + [Required] + [StringLength(32)] + public string DataCaptureColumnType { get; set; } + + [Required] + public int DeleteFlag { get; set; } + + public int DataCaptureFrequency { get; set; } + + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/DbModel.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/DbModel.cs" new file mode 100644 index 0000000..c9ebce4 --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/DbModel.cs" @@ -0,0 +1,88 @@ +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; + +namespace iWare_SCADA_Model +{ + public partial class DbModel : DbContext + { + public DbModel() + : base("name=SCADA_DF22001_CORE") + { + } + + public virtual DbSet<DataCaptureColumnConfig> DataCaptureColumnConfig { get; set; } + public virtual DbSet<DataCaptureConfig> DataCaptureConfig { get; set; } + public virtual DbSet<EquipmentBaseInfo> EquipmentBaseInfo { get; set; } + public virtual DbSet<WorkPieceLog> WorkPieceLog { get; set; } + public virtual DbSet<WorkPieceInfo> WorkPieceInfo { get; set; } + public virtual DbSet<WorkPieceInfoLog> WorkPieceInfoLog { get; set; } + public virtual DbSet<EquipmentCurrentMonitor> EquipmentCurrentMonitor { get; set; } + public virtual DbSet<EquipmentWorkingLog> EquipmentWorkingLog { get; set; } + public virtual DbSet<KnifeToolBaseInfo> KnifeToolBaseInfo { get; set; } + public virtual DbSet<KnifeToolDataMonitor> KnifeToolDataMonitor { get; set; } + public virtual DbSet<QualityDataInfo> QualityDataInfo { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.WorkingProcedure) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.DataCapturePointCode) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.DataCapturePointCname) + .IsUnicode(false); + + + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.DbNumber) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.Offset) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.DataCaptureColumnType) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.EquipmentID) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.WorkingProcedure) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.DataCapturePointCode) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.DataCapturePointCname) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.PLCIP) + .IsUnicode(false); + + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.DbNumber) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.Offset) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.DataCaptureColumnType) + .IsUnicode(false); + } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/EquipmentBaseInfo.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/EquipmentBaseInfo.cs" new file mode 100644 index 0000000..c782ba4 --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/EquipmentBaseInfo.cs" @@ -0,0 +1,74 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("EquipmentBaseInfo")] + public partial class EquipmentBaseInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + public Guid EquipmentBaseInfoid { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentId { get; set; } + + [Required] + [StringLength(255)] + public string EquipmentName { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(900)] + public string EquipmentModel { get; set; } + + [StringLength(32)] + public string EquipmentIP { get; set; } + + [StringLength(255)] + public string EquipmentFunction { get; set; } + + [StringLength(255)] + public string EquipmentBrand { get; set; } + + [StringLength(255)] + public string EquipmentManufacturer { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? Detergentchangetime { get; set; } + + public int DetergentChangeAlertThreshold { get; set; } + + public int DetergentChangeCycle { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? KnifeToolChangeTime { get; set; } + + public int KnifeToolChangeAlertThreshold { get; set; } + + [StringLength(900)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/EquipmentCurrentMonitor.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/EquipmentCurrentMonitor.cs" new file mode 100644 index 0000000..a08664a --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/EquipmentCurrentMonitor.cs" @@ -0,0 +1,72 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("EquipmentCurrentMonitor")] + public partial class EquipmentCurrentMonitor + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string EquipmentCurrentState { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string WorkPieceID { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime OnlineTime { get; set; } + + public int WorkTime { get; set; } + + public int KnifeToolLife { get; set; } + + [StringLength(32)] + public string SpindleCurrent { get; set; } + + [StringLength(32)] + public string SpindleTorque { get; set; } + + [StringLength(32)] + public string SpindleLoad { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime AlertTime { get; set; } + + [StringLength(32)] + public string FailureType { get; set; } + + [StringLength(255)] + public string Alertmsg { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/EquipmentWorkingLog.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/EquipmentWorkingLog.cs" new file mode 100644 index 0000000..ad18572 --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/EquipmentWorkingLog.cs" @@ -0,0 +1,81 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("EquipmentWorkingLog")] + public partial class EquipmentWorkingLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentID { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime StartUpTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime ShutDownTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime FailureStartTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime FailureEndTime { get; set; } + + public string FailureType { get; set; } + + [StringLength(255)] + public string FailureMsg { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime KnifeToolChangeStartTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime KnifeToolChangeEndTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime ToggleManualTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime ToggleAutoTime { get; set; } + + public long WorkPieceLogID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string MonitoringPoint { get; set; } + + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime LogAddTime { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/KnifeToolBaseInfo.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/KnifeToolBaseInfo.cs" new file mode 100644 index 0000000..0c9f458 --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/KnifeToolBaseInfo.cs" @@ -0,0 +1,50 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("KnifeToolBaseInfo")] + public partial class KnifeToolBaseInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string KnifeToolID { get; set; } + + [StringLength(32)] + public string KnifeToolModel { get; set; } + + public int KnifeEdgeNumber { get; set; } + + public int KnifeToolLife { get; set; } + + public int KnifeLength { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/KnifeToolDataMonitor.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/KnifeToolDataMonitor.cs" new file mode 100644 index 0000000..7b624bc --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/KnifeToolDataMonitor.cs" @@ -0,0 +1,84 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("KnifeToolDataMonitor")] + public partial class KnifeToolDataMonitor + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string KnifeToolID { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string KnifeToolName { get; set; } + + [StringLength(32)] + public string KnifeToolCode { get; set; } + + [StringLength(32)] + public string KnifeToolModel { get; set; } + + public int KnifeEdgeNumber { get; set; } + + [StringLength(32)] + public string KnifeToolInsideID { get; set; } + + [StringLength(32)] + public string KnifeWareHouseID { get; set; } + + [StringLength(32)] + public string KnifePositionID { get; set; } + + public int KnifeToolLife { get; set; } + + public int KnifeToolEstimateLife { get; set; } + + public int KnifeToolEarlyWarningLife { get; set; } + + public int KnifeToolSurplusLife { get; set; } + + [StringLength(255)] + public string Remarks1 { get; set; } + + [StringLength(255)] + public string Remarks2 { get; set; } + + [StringLength(255)] + public string Remarks3 { get; set; } + + [StringLength(255)] + public string Remarks4 { get; set; } + + [StringLength(255)] + public string Remarks5 { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/QualityDataInfo.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/QualityDataInfo.cs" new file mode 100644 index 0000000..dea9055 --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/QualityDataInfo.cs" @@ -0,0 +1,131 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("QualityDataInfo")] + public partial class QualityDataInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string QualityState { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime OfflineTime { get; set; } + + [StringLength(32)] + public string QualityOP10To1 { get; set; } + + [StringLength(32)] + public string QualityOP20To1 { get; set; } + + [StringLength(32)] + public string QualityOP30To1 { get; set; } + + [StringLength(32)] + public string QualityOP30To2 { get; set; } + + [StringLength(32)] + public string QualityOP30To3 { get; set; } + + [StringLength(32)] + public string QualityOP30To4 { get; set; } + + [StringLength(32)] + public string QualityOP30To5 { get; set; } + + [StringLength(32)] + public string QualityOP30To6 { get; set; } + + [StringLength(32)] + public string QualityOP30To7 { get; set; } + + [StringLength(32)] + public string QualityOP35To1 { get; set; } + + [StringLength(32)] + public string QualityOP35To2 { get; set; } + + [StringLength(32)] + public string QualityOP60To1 { get; set; } + + [StringLength(32)] + public string QualityOP60To2 { get; set; } + + [StringLength(32)] + public string QualityOP70To1 { get; set; } + + [StringLength(32)] + public string QualityOP70To2 { get; set; } + + [StringLength(32)] + public string QualityOP70To3 { get; set; } + + [StringLength(32)] + public string QualityOP80To1 { get; set; } + + [StringLength(32)] + public string QualityOP80To2 { get; set; } + + [StringLength(32)] + public string QualityOP80To3 { get; set; } + + [StringLength(32)] + public string QualityOP80To4 { get; set; } + + [StringLength(32)] + public string QualityOP80To5 { get; set; } + + [StringLength(32)] + public string QualityOP80To6 { get; set; } + + [StringLength(32)] + public string QualityOP80To7 { get; set; } + + [StringLength(32)] + public string QualityOP80To8 { get; set; } + + [StringLength(32)] + public string QualityOP80To9 { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/SystemLog.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/SystemLog.cs" new file mode 100644 index 0000000..24cf3cb --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/SystemLog.cs" @@ -0,0 +1,67 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_Model.TableModel +{ + public class SystemLog + { + /// <summary> + /// 鍞竴鏍囪瘑 + /// </summary> + public Guid SystemLogID { get; set; } + + /// <summary> + /// 鏃ュ織鏃堕棿 + /// </summary> + public DateTime LogTime { get; set; } + + /// <summary> + /// 甯綅ID + /// </summary> + public string SeatID { get; set; } + + /// <summary> + /// 鐢ㄦ埛ID + /// </summary> + public Guid UserID { get; set; } + + /// <summary> + /// + /// </summary> + public string Method { get; set; } + + /// <summary> + /// + /// </summary> + public string Parameters { get; set; } + + /// <summary> + /// 鏃ュ織鍐呭 + /// </summary> + public string LogContent { get; set; } + + /// <summary> + /// 鎻忚堪淇℃伅 + /// </summary> + public string Description { get; set; } + + + } + + public class LogJson + { + public LogJson() + { } + + public LogJson(string Key1, string Value1) + { + Key = Key1; + Value = Value1; + } + public string Key { get; set; } + public string Value { get; set; } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/WorkPieceInfo.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/WorkPieceInfo.cs" new file mode 100644 index 0000000..b6ab155 --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/WorkPieceInfo.cs" @@ -0,0 +1,112 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("WorkPieceInfo")] + public partial class WorkPieceInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + public int WorkPieceState { get; set; } + + public int WorkPieceCurrentPositionOrder { get; set; } + + [StringLength(255)] + public string WorkPieceCurrentPosition { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(255)] + public string WorkingProcedureCompleted { get; set; } + + [StringLength(255)] + public string WorkingProcedurePlan { get; set; } + + [StringLength(32)] + public string WorkingProcedureCurrent { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkingProcedureStartTime { get; set; } + + public int ProcessingDurationForCurrent { get; set; } + + public int ProcessingDurationTotal { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkPieceinitOnlineTime { get; set; } + + public int Number { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo1 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo2 { get; set; } + + [StringLength(6)] + public string WorkPieceIDTo3 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo4 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo5 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo6 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo7 { get; set; } + + public int QualityState { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime QualityStateUpdateTime { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + public int AlertType { get; set; } + + [StringLength(255)] + public string AlertMsg { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime LogAddTime { get; set; } + + [StringLength(255)] + public string LogAddRemark { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/WorkPieceInfoLog.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/WorkPieceInfoLog.cs" new file mode 100644 index 0000000..f464eeb --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/WorkPieceInfoLog.cs" @@ -0,0 +1,108 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("WorkPieceInfoLog")] + public partial class WorkPieceInfoLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + public int WorkPieceInfoID { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + public int WorkPieceState { get; set; } + + public int WorkPieceCurrentPositionOrder { get; set; } + + [StringLength(255)] + public string WorkPieceCurrentPosition { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(255)] + public string WorkingProcedureCompleted { get; set; } + + [StringLength(255)] + public string WorkingProcedurePlan { get; set; } + + [StringLength(32)] + public string WorkingProcedureCurrent { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkingProcedureStartTime { get; set; } + + public int ProcessingDurationForCurrent { get; set; } + + public int ProcessingDurationTotal { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkPieceinitOnlineTime { get; set; } + + public int Number { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo1 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo2 { get; set; } + + [StringLength(6)] + public string WorkPieceIDTo3 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo4 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo5 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo6 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo7 { get; set; } + + public int QualityState { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime QualityStateUpdateTime { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + public int AlertType { get; set; } + + [StringLength(255)] + public string AlertMsg { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git "a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/WorkPieceLog.cs" "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/WorkPieceLog.cs" new file mode 100644 index 0000000..5b84080 --- /dev/null +++ "b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel - \345\211\257\346\234\254/WorkPieceLog.cs" @@ -0,0 +1,128 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("WorkPieceLog")] + public partial class WorkPieceLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo1 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo2 { get; set; } + + [StringLength(6)] + public string WorkPieceIDTo3 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo4 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo5 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo6 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo7 { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string MonitoringPoint { get; set; } + + public int QualityState { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime OnlineTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime OfflineTime { get; set; } + + public int ProcessingDuration { get; set; } + + public int MachineToolState { get; set; } + + public int AlertType { get; set; } + + [StringLength(255)] + public string AlertMsg { get; set; } + + public int WorkPieceNumber { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkPieceOnlineTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkPieceOfflineTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkPieceStartMachiningTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkPieceEndMachiningTime { get; set; } + + [StringLength(32)] + public string KnifeToolID { get; set; } + + [StringLength(32)] + public string KnifeToolName { get; set; } + + [StringLength(32)] + public string KnifeToolCode { get; set; } + + [StringLength(32)] + public string KnifeToolModel { get; set; } + + public int KnifeEdgeNumber { get; set; } + + [StringLength(32)] + public string KnifeToolinsideID { get; set; } + + [StringLength(32)] + public string KnifeWarehouseID { get; set; } + + [StringLength(32)] + public string KnifePositionID { get; set; } + + public int KnifeToolLife { get; set; } + + public int KnifeToolEarlyWarningLife { get; set; } + + public int KnifeToolSurplusLife { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DataCaptureColumnConfig.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DataCaptureColumnConfig.cs new file mode 100644 index 0000000..dd21d53 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DataCaptureColumnConfig.cs @@ -0,0 +1,60 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("DataCaptureColumnConfig")] + public partial class DataCaptureColumnConfig + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [Required] + [StringLength(32)] + public string DataCapturePointCode { get; set; } + + [StringLength(32)] + public string DataCapturePointCname { get; set; } + + public int? DataCaptureType { get; set; } + + [StringLength(32)] + public string DbNumber { get; set; } + + [StringLength(32)] + public string Offset { get; set; } + + public int? DataCaptureColumnLength { get; set; } + + [StringLength(32)] + public string DataCaptureColumnType { get; set; } + + [StringLength(255)] + public string DataCaptureColumnTabelName { get; set; } + + public int IsFeedback { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DataCaptureConfig.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DataCaptureConfig.cs new file mode 100644 index 0000000..d58f3f3 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DataCaptureConfig.cs @@ -0,0 +1,71 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("DataCaptureConfig")] + public partial class DataCaptureConfig + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentID { get; set; } + + [Required] + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string DataCapturePointCode { get; set; } + + [StringLength(32)] + public string DataCapturePointCname { get; set; } + + public int? DataCaptureType { get; set; } + + public int? DataCapturePLCType { get; set; } + + [StringLength(255)] + public string PLCIP { get; set; } + + public int? PLCPort { get; set; } + + [StringLength(32)] + public string DbNumber { get; set; } + + [StringLength(32)] + public string Offset { get; set; } + + [StringLength(32)] + public string DataCaptureColumnType { get; set; } + + public int? DataCaptureColumnLength { get; set; } + + [StringLength(255)] + public string DataCaptureColumnTabelName { get; set; } + + public int? DataCaptureFrequency { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + public int? IsFeedback { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DbModel.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DbModel.cs new file mode 100644 index 0000000..977cac8 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/DbModel.cs @@ -0,0 +1,222 @@ +using iWare_SCADA_Model.TableModel; +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; + +namespace iWare_SCADA_Model +{ + public partial class DbModel : DbContext + { + public DbModel() + : base("name=SCADA_DF22001_CORE") + { + } + + public virtual DbSet<DataCaptureColumnConfig> DataCaptureColumnConfig { get; set; } + public virtual DbSet<DataCaptureConfig> DataCaptureConfig { get; set; } + public virtual DbSet<EquipmentBaseInfo> EquipmentBaseInfo { get; set; } + public virtual DbSet<WorkPieceLog> WorkPieceLog { get; set; } + public virtual DbSet<WorkPieceInfo> WorkPieceInfo { get; set; } + public virtual DbSet<WorkPieceInfoLog> WorkPieceInfoLog { get; set; } + public virtual DbSet<EquipmentCurrentMonitor> EquipmentCurrentMonitor { get; set; } + public virtual DbSet<EquipmentWorkingLog> EquipmentWorkingLog { get; set; } + public virtual DbSet<KnifeToolBaseInfo> KnifeToolBaseInfo { get; set; } + public virtual DbSet<KnifeToolDataMonitor> KnifeToolDataMonitor { get; set; } + public virtual DbSet<QualityDataInfo> QualityDataInfo { get; set; } + public virtual DbSet<QualityDataInfoLog> QualityDataInfoLog { get; set; } + public virtual DbSet<WorkPieceProcess> WorkPieceProcess { get; set; } + public virtual DbSet<ThreadStatusMonitor> ThreadStatusMonitor { get; set; } + public virtual DbSet<EquipmentFailureCode> EquipmentFailureCode { get; set; } + public virtual DbSet<EquipmentQualityConfig> EquipmentQualityConfig { get; set; } + public virtual DbSet<KnifeToolEquipmentInfo> KnifeToolEquipmentInfo { get; set; } + public virtual DbSet<KnifeToolEquipmentInfoLog> KnifeToolEquipmentInfoLog { get; set; } + public virtual DbSet<KnifeToolEquipmentMonitor> KnifeToolEquipmentMonitor { get; set; } + public virtual DbSet<KnifeToolEquipmentUpdateLog> KnifeToolEquipmentUpdateLog { get; set; } + public virtual DbSet<v_get_equipment_alert> v_get_equipment_alert { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.WorkingProcedure) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.DataCapturePointCode) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.DataCapturePointCname) + .IsUnicode(false); + + + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.DbNumber) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.Offset) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureColumnConfig>() + .Property(e => e.DataCaptureColumnType) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.EquipmentID) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.WorkingProcedure) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.DataCapturePointCode) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.DataCapturePointCname) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.PLCIP) + .IsUnicode(false); + + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.DbNumber) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.Offset) + .IsUnicode(false); + + modelBuilder.Entity<DataCaptureConfig>() + .Property(e => e.DataCaptureColumnType) + .IsUnicode(false); + modelBuilder.Entity<KnifeToolEquipmentInfo>() + .Property(e => e.EquipmentID) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfo>() + .Property(e => e.WorkingProcedure) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfo>() + .Property(e => e.Station) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfo>() + .Property(e => e.KnifeToolID) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfo>() + .Property(e => e.KnifeToolName) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfo>() + .Property(e => e.Remarks1) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfo>() + .Property(e => e.Remarks2) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfo>() + .Property(e => e.Remarks3) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfoLog>() + .Property(e => e.EquipmentID) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfoLog>() + .Property(e => e.WorkingProcedure) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfoLog>() + .Property(e => e.Station) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfoLog>() + .Property(e => e.KnifeToolID) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfoLog>() + .Property(e => e.KnifeToolName) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfoLog>() + .Property(e => e.Remarks1) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfoLog>() + .Property(e => e.Remarks2) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentInfoLog>() + .Property(e => e.Remarks3) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentMonitor>() + .Property(e => e.EquipmentID) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentMonitor>() + .Property(e => e.WorkingProcedure) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentMonitor>() + .Property(e => e.Remarks1) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentMonitor>() + .Property(e => e.Remarks2) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentMonitor>() + .Property(e => e.Remarks3) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentUpdateLog>() + .Property(e => e.EquipmentID) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentUpdateLog>() + .Property(e => e.WorkingProcedure) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentUpdateLog>() + .Property(e => e.Station) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentUpdateLog>() + .Property(e => e.KnifeToolID) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentUpdateLog>() + .Property(e => e.KnifeToolName) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentUpdateLog>() + .Property(e => e.OperateDesc) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentUpdateLog>() + .Property(e => e.OperateType) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentUpdateLog>() + .Property(e => e.Remarks1) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentUpdateLog>() + .Property(e => e.Remarks2) + .IsUnicode(false); + + modelBuilder.Entity<KnifeToolEquipmentUpdateLog>() + .Property(e => e.Remarks3) + .IsUnicode(false); + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentBaseInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentBaseInfo.cs new file mode 100644 index 0000000..abf0991 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentBaseInfo.cs @@ -0,0 +1,84 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("EquipmentBaseInfo")] + public partial class EquipmentBaseInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + //public Guid EquipmentBaseInfoid { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentId { get; set; } + + [Required] + [StringLength(255)] + public string EquipmentName { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(900)] + public string EquipmentModel { get; set; } + + [StringLength(32)] + public string EquipmentIP { get; set; } + + [StringLength(255)] + public string EquipmentFunction { get; set; } + + [StringLength(255)] + public string EquipmentBrand { get; set; } + + [StringLength(255)] + public string EquipmentManufacturer { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? Detergentchangetime { get; set; } + + public int DetergentChangeAlertThreshold { get; set; } + + public int DetergentChangeCycle { get; set; } + + /// <summary> + /// 切削液更换时间 + /// </summary> + public DateTime? CuttingFluidChangeTime { get; set; } + + /// <summary> + /// 切削液预警阈值 + /// </summary> + public int CuttingFluidChangeAlertThreshold { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? KnifeToolChangeTime { get; set; } + + public int KnifeToolChangeAlertThreshold { get; set; } + + [StringLength(900)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentCurrentMonitor.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentCurrentMonitor.cs new file mode 100644 index 0000000..804711a --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentCurrentMonitor.cs @@ -0,0 +1,79 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Infrastructure.MappingViews; + using System.Data.Entity.Spatial; + + [Table("EquipmentCurrentMonitor")] + public partial class EquipmentCurrentMonitor + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string EquipmentCurrentState { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string WorkPieceID { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OnlineTime { get; set; } + + public int? WorkTime { get; set; } + + public int? KnifeToolLife { get; set; } + + [StringLength(32)] + public string SpindleCurrent { get; set; } + + [StringLength(32)] + public string SpindleTorque { get; set; } + + [StringLength(32)] + public string SpindleLoad { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? AlertTime { get; set; } + + public string Alertmsg { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + + public string FailureType { get; set; } + public string WarnType { get; set; } + public DateTime? WarnTime { get; set; } + public string Warnmsg { get; set; } + + /// <summary> + /// 告警是否关闭 + /// </summary> + public bool IsCloseAlert { get; set; } = false; + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentFailureCode.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentFailureCode.cs new file mode 100644 index 0000000..46b4668 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentFailureCode.cs @@ -0,0 +1,83 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_Model.TableModel +{ + /// <summary> + /// 鏁呴殰/鍛婅 浠g爜琛� + /// </summary> + [Table("EquipmentFailureCode")] + public class EquipmentFailureCode + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + /// <summary> + /// 璁惧浠e彿 + /// </summary> + [StringLength(255)] + public string EquipmentID { get; set; } + + + /// <summary> + /// 璁惧鎵�灞炲伐搴� + /// </summary> + [StringLength(255)] + public string WorkingProcedure { get; set; } + + + /// <summary> + /// 浠e彿 + /// </summary> + [StringLength(255)] + public string Code { get; set; } + + + /// <summary> + /// 浠e彿绫诲瀷锛�1锛氭晠闅� 2锛氬憡璀︼級 + /// </summary> + [StringLength(255)] + public string CodeType { get; set; } + + + /// <summary> + /// 浠e彿绾у埆锛�1,2,3绾э級 + /// </summary> + + [StringLength(255)] + public string CodeLevel { get; set; } + + + /// <summary> + /// 浠e彿鎻忚堪 + /// </summary> + [StringLength(255)] + public string CodeDesc { get; set; } + + + + [StringLength(255)] + public string Remarks { get; set; } + + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentWorkingLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentWorkingLog.cs new file mode 100644 index 0000000..a34af08 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/EquipmentWorkingLog.cs @@ -0,0 +1,95 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("EquipmentWorkingLog")] + public partial class EquipmentWorkingLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentID { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? StartUpTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ShutDownTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? FailureStartTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? FailureEndTime { get; set; } + + //[StringLength(32)] + public string FailureType { get; set; } + + public string FailureMsg { get; set; } + + public string WarnType { get; set; } + public DateTime? WarnStartTime { get; set; } + public DateTime? WarnEndTime { get; set; } + public string Warnmsg { get; set; } + public string UpdateDesc { get; set; } + + public string EquipmentState { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? EquipmentStateStartTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? EquipmentStateEndTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? KnifeToolChangeStartTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? KnifeToolChangeEndTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ToggleManualTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ToggleAutoTime { get; set; } + + public long? WorkPieceLogID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string MonitoringPoint { get; set; } + + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? LogAddTime { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolBaseInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolBaseInfo.cs new file mode 100644 index 0000000..054f84e --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolBaseInfo.cs @@ -0,0 +1,54 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("KnifeToolBaseInfo")] + public partial class KnifeToolBaseInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string KnifeToolID { get; set; } + + [StringLength(32)] + public string KnifeToolModel { get; set; } + + public int KnifeEdgeNumber { get; set; } + + public int KnifeToolLife { get; set; } + + public int KnifeLength { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + /// <summary> + /// 刀具预警阈值 + /// </summary> + public int KnifeToolChangeAlertThreshold { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolDataMonitor.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolDataMonitor.cs new file mode 100644 index 0000000..7b624bc --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolDataMonitor.cs @@ -0,0 +1,84 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("KnifeToolDataMonitor")] + public partial class KnifeToolDataMonitor + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string KnifeToolID { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string KnifeToolName { get; set; } + + [StringLength(32)] + public string KnifeToolCode { get; set; } + + [StringLength(32)] + public string KnifeToolModel { get; set; } + + public int KnifeEdgeNumber { get; set; } + + [StringLength(32)] + public string KnifeToolInsideID { get; set; } + + [StringLength(32)] + public string KnifeWareHouseID { get; set; } + + [StringLength(32)] + public string KnifePositionID { get; set; } + + public int KnifeToolLife { get; set; } + + public int KnifeToolEstimateLife { get; set; } + + public int KnifeToolEarlyWarningLife { get; set; } + + public int KnifeToolSurplusLife { get; set; } + + [StringLength(255)] + public string Remarks1 { get; set; } + + [StringLength(255)] + public string Remarks2 { get; set; } + + [StringLength(255)] + public string Remarks3 { get; set; } + + [StringLength(255)] + public string Remarks4 { get; set; } + + [StringLength(255)] + public string Remarks5 { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentInfo.cs new file mode 100644 index 0000000..d9eba57 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentInfo.cs @@ -0,0 +1,66 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("KnifeToolEquipmentInfo")] + public partial class KnifeToolEquipmentInfo + { + [Key] + [Column(Order = 0)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(255)] + public string Station { get; set; } + + [StringLength(255)] + public string KnifeToolID { get; set; } + + [StringLength(255)] + public string KnifeToolName { get; set; } + + public int? StartLife { get; set; } + + public int? CurrentLife { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ChangeStartTime { get; set; } + + [StringLength(255)] + public string Remarks1 { get; set; } + + [StringLength(255)] + public string Remarks2 { get; set; } + + [StringLength(255)] + public string Remarks3 { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + [Key] + [Column(Order = 1)] + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentInfoLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentInfoLog.cs new file mode 100644 index 0000000..185cbaa --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentInfoLog.cs @@ -0,0 +1,71 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("KnifeToolEquipmentInfoLog")] + public partial class KnifeToolEquipmentInfoLog + { + [Key] + [Column(Order = 0)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(255)] + public string Station { get; set; } + + [StringLength(255)] + public string KnifeToolID { get; set; } + + [StringLength(255)] + public string KnifeToolName { get; set; } + + public int? StartLife { get; set; } + + public int? CurrentLife { get; set; } + + public int? ResidueLife { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ChangeStartTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ChangeEndTime { get; set; } + + [StringLength(255)] + public string Remarks1 { get; set; } + + [StringLength(255)] + public string Remarks2 { get; set; } + + [StringLength(255)] + public string Remarks3 { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + [Key] + [Column(Order = 1)] + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentMonitor.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentMonitor.cs new file mode 100644 index 0000000..86540d4 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentMonitor.cs @@ -0,0 +1,50 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("KnifeToolEquipmentMonitor")] + public partial class KnifeToolEquipmentMonitor + { + [Key] + [Column(Order = 0)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(255)] + public string Remarks1 { get; set; } + + [StringLength(255)] + public string Remarks2 { get; set; } + + [StringLength(255)] + public string Remarks3 { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + [Key] + [Column(Order = 1)] + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentUpdateLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentUpdateLog.cs new file mode 100644 index 0000000..1936b89 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/KnifeToolEquipmentUpdateLog.cs @@ -0,0 +1,77 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("KnifeToolEquipmentUpdateLog")] + public partial class KnifeToolEquipmentUpdateLog + { + [Key] + [Column(Order = 0)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(255)] + public string Station { get; set; } + + [StringLength(255)] + public string KnifeToolID { get; set; } + + [StringLength(255)] + public string KnifeToolName { get; set; } + + public int? StartLife { get; set; } + + public int? CurrentLife { get; set; } + + public int? ResidueLife { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ChangeStartTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ChangeEndTime { get; set; } + + [StringLength(900)] + public string OperateDesc { get; set; } + + [StringLength(32)] + public string OperateType { get; set; } + + [StringLength(255)] + public string Remarks1 { get; set; } + + [StringLength(255)] + public string Remarks2 { get; set; } + + [StringLength(255)] + public string Remarks3 { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + [Key] + [Column(Order = 1)] + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/Model1.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/Model1.cs new file mode 100644 index 0000000..4a97ea8 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/Model1.cs @@ -0,0 +1,21 @@ +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; + +namespace iWare_SCADA_Model.TableModel +{ + public partial class Model1 : DbContext + { + public Model1() + : base("name=Model12") + { + } + + public virtual DbSet<v_get_equipment_alert> v_get_equipment_alert { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/QualityDataInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/QualityDataInfo.cs new file mode 100644 index 0000000..a7ff257 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/QualityDataInfo.cs @@ -0,0 +1,475 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("QualityDataInfo")] + public partial class QualityDataInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + public int QualityState { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + [Column(TypeName = "datetime2")] + public DateTime? QualityReceiveTime { get; set; } + + + [Column(TypeName = "datetime2")] + public DateTime OfflineTime { get; set; } + + + [StringLength(32)] + public string OP10QualityState { get; set; } + [StringLength(32)] + public string OP20QualityState { get; set; } + [StringLength(32)] + public string OP30QualityStateCH3 { get; set; } + [StringLength(32)] + public string OP30QualityStateCH4 { get; set; } + [StringLength(32)] + public string OP30QualityStateCH5 { get; set; } + [StringLength(32)] + public string OP30QualityStateCH6 { get; set; } + [StringLength(32)] + public string OP30QualityState { get; set; } + [StringLength(32)] + public string OP35QualityState { get; set; } + [StringLength(32)] + public string OP40QualityState { get; set; } + [StringLength(32)] + public string OP60QualityState { get; set; } + [StringLength(32)] + public string OP80QualityState { get; set; } + + [StringLength(900)] + public string OP30QualityFilePathCH3 { get; set; } + [StringLength(900)] + public string OP30QualityFilePathCH4 { get; set; } + [StringLength(900)] + public string OP30QualityFilePathCH5 { get; set; } + [StringLength(900)] + public string OP30QualityFilePathCH6 { get; set; } + [StringLength(900)] + public string OP80QualityFilePath { get; set; } + [StringLength(900)] + public string OP60QualityFilePath { get; set; } + [StringLength(900)] + public string OP20QualityFilePath { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP10QualityReceiveTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP20QualityReceiveTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP30QualityReceiveTimeCH3 { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP30QualityReceiveTimeCH4 { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP30QualityReceiveTimeCH5 { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP30QualityReceiveTimeCH6 { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP30QualityReceiveTime { get; set; } + [Column(TypeName = "datetime2")] + public DateTime? OP35QualityReceiveTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP40QualityReceiveTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP60QualityReceiveTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP80QualityReceiveTime { get; set; } + + [StringLength(32)] + public string QualityOP10To1 { get; set; } + [StringLength(32)] + public string QualityOP40To1 { get; set; } + + [StringLength(32)] + public string QualityOP20To1 { get; set; } + + [StringLength(32)] + public string QualityOP30To1 { get; set; } + + [StringLength(32)] + public string QualityOP30To2 { get; set; } + + [StringLength(32)] + public string QualityOP30To3 { get; set; } + + [StringLength(32)] + public string QualityOP30To4 { get; set; } + + [StringLength(32)] + public string QualityOP30To5 { get; set; } + + [StringLength(32)] + public string QualityOP30To6 { get; set; } + + [StringLength(32)] + public string QualityOP30To7 { get; set; } + [StringLength(32)] + public string QualityOP30To8 { get; set; } + [StringLength(32)] + public string QualityOP30To9 { get; set; } + [StringLength(32)] + public string QualityOP30To10 { get; set; } + [StringLength(32)] + public string QualityOP30To11 { get; set; } + + [StringLength(32)] + public string QualityOP35To1 { get; set; } + + [StringLength(32)] + public string QualityOP35To2 { get; set; } + + [StringLength(32)] + public string QualityOP60To1 { get; set; } + + [StringLength(32)] + public string QualityOP60To2 { get; set; } + + [StringLength(32)] + public string QualityOP70To1 { get; set; } + + [StringLength(32)] + public string QualityOP70To2 { get; set; } + + [StringLength(32)] + public string QualityOP70To3 { get; set; } + + [StringLength(32)] + public string QualityOP80To1 { get; set; } + + [StringLength(32)] + public string QualityOP80To2 { get; set; } + + [StringLength(32)] + public string QualityOP80To3 { get; set; } + + [StringLength(32)] + public string QualityOP80To4 { get; set; } + + [StringLength(32)] + public string QualityOP80To5 { get; set; } + + [StringLength(32)] + public string QualityOP80To6 { get; set; } + + [StringLength(32)] + public string QualityOP80To7 { get; set; } + + [StringLength(32)] + public string QualityOP80To8 { get; set; } + + [StringLength(32)] + public string QualityOP80To9 { get; set; } + [StringLength(32)] + public string QualityOP80To10 { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + + + #region 新增OP80的一些质量数据 【Editby shaocx,2024-06-13】 + + /// <summary> + /// OP80 质量数据-厚度 + /// </summary> + public string QualityOP80_Houdu { get; set; } + + /// <summary> + /// OP80 质量数据-中心距 + /// </summary> + public string QualityOP80_ZXJ { get; set; } + + /// <summary> + /// OP80 质量数据-大头孔圆柱度 + /// </summary> + public string QualityOP80_DTKYZD { get; set; } + + /// <summary> + /// OP80 质量数据-小头上面圆度 + /// </summary> + public string QualityOP80_XTSMYD { get; set; } + + /// <summary> + /// OP80 质量数据-小头下面圆度 + /// </summary> + public string QualityOP80_XTXMYD { get; set; } + + + #region 大头孔直径 + + /// <summary> + /// OP80 质量数据-大头孔直径,大头孔直径=(大头上面X方向直径+大头上面Y方向直径+大头下面X方向直径+大头下面Y方向直径)/4 + /// </summary> + public string QualityOP80_D_TKZJ { get; set; } + + /// <summary> + /// OP80 质量数据-大头上面X方向直径 + /// </summary> + public string QualityOP80_D_S_X { get; set; } + + /// <summary> + /// OP80 质量数据-大头上面Y方向直径 + /// </summary> + public string QualityOP80_D_S_Y { get; set; } + + /// <summary> + /// OP80 质量数据-大头下面X方向直径 + /// </summary> + public string QualityOP80_D_X_X { get; set; } + + /// <summary> + /// OP80 质量数据-大头下面Y方向直径 + /// </summary> + public string QualityOP80_D_X_Y { get; set; } + + #endregion + + #region 小头孔直径 + + /// <summary> + /// OP80 质量数据-小头孔直径,小头孔直径=(小头上面X方向直径+小头上面Y方向直径+小头下面X方向直径+小头下面Y方向直径)/4 + /// </summary> + public string QualityOP80_X_TKZJ { get; set; } + + /// <summary> + /// OP80 质量数据-小头上面X方向直径 + /// </summary> + public string QualityOP80_X_S_X { get; set; } + + /// <summary> + /// OP80 质量数据-小头上面Y方向直径 + /// </summary> + public string QualityOP80_X_S_Y { get; set; } + + /// <summary> + /// OP80 质量数据-小头下面X方向直径 + /// </summary> + public string QualityOP80_X_X_X { get; set; } + + /// <summary> + /// OP80 质量数据-小头下面Y方向直径 + /// </summary> + public string QualityOP80_X_X_Y { get; set; } + + #endregion + + #endregion + + #region 新增 不合格原因 【Editby shaocx,2024-06-26】 + + /// OP10质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP10 { get; set; } + + /// <summary> + /// OP10质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP10 { get; set; } + + /// OP20质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP20 { get; set; } + + /// <summary> + /// OP20质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP20 { get; set; } + + /// OP30质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP30 { get; set; } + + /// <summary> + /// OP30质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP30 { get; set; } + + /// OP35质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP35 { get; set; } + + /// <summary> + /// OP35质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP35 { get; set; } + + /// OP40质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP40 { get; set; } + + /// <summary> + /// OP40质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP40 { get; set; } + + + /// OP60质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP60 { get; set; } + + /// <summary> + /// OP60质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP60 { get; set; } + + /// OP80质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP80 { get; set; } + + /// <summary> + /// OP80质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP80 { get; set; } + + #endregion + } + + /// <summary> + /// 质量数据标准值配置 + /// </summary> + [Table("EquipmentQualityConfig")] + public class EquipmentQualityConfig + { + + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + /// <summary> + /// 量具 + /// </summary> + [StringLength(255)] + public string MeasureTool { get; set; } + + + /// <summary> + /// 工序 + /// </summary> + [StringLength(32)] + public string WorkingProcedure { get; set; } + + + /// <summary> + /// 参数编号 + /// </summary> + [StringLength(255)] + public string ParamCode { get; set; } + + + /// <summary> + /// 参数名称 + /// </summary> + [StringLength(255)] + public string ParamDesc { get; set; } + + + /// <summary> + /// 名义值 + /// </summary> + [StringLength(255)] + public string StandardValue { get; set; } + + + /// <summary> + /// 下公差 + /// </summary> + [StringLength(255)] + public string UpperTolerance { get; set; } + + + /// <summary> + /// 上公差 + /// </summary> + [StringLength(255)] + public string LowerTolerance { get; set; } + + + /// <summary> + /// 参数列名 + /// </summary> + [StringLength(255)] + public string ParamColName { get; set; } + + + /// <summary> + /// 小数点后位数 + /// </summary> + public int? DecimalPlaces { get; set; } + + + /// <summary> + /// 单位 + /// </summary> + [StringLength(255)] + public string Unit { get; set; } + /// <summary> + /// 参数类型(1柔性|2其他) + /// </summary> + public int ParamType { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/QualityDataInfoLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/QualityDataInfoLog.cs new file mode 100644 index 0000000..133f82e --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/QualityDataInfoLog.cs @@ -0,0 +1,372 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("QualityDataInfoLog")] + public partial class QualityDataInfoLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + public long QualityDataInfoID { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + public int QualityState { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime OfflineTime { get; set; } + + + [StringLength(32)] + public string OP10QualityState { get; set; } + [StringLength(32)] + public string OP20QualityState { get; set; } + [StringLength(32)] + public string OP30QualityStateCH3 { get; set; } + [StringLength(32)] + public string OP30QualityStateCH4 { get; set; } + [StringLength(32)] + public string OP30QualityStateCH5 { get; set; } + [StringLength(32)] + public string OP30QualityStateCH6 { get; set; } + [StringLength(32)] + public string OP30QualityState { get; set; } + [StringLength(32)] + public string OP35QualityState { get; set; } + [StringLength(32)] + public string OP40QualityState { get; set; } + [StringLength(32)] + public string OP60QualityState { get; set; } + [StringLength(32)] + public string OP80QualityState { get; set; } + + [StringLength(900)] + public string OP30QualityFilePathCH3 { get; set; } + [StringLength(900)] + public string OP30QualityFilePathCH4 { get; set; } + [StringLength(900)] + public string OP30QualityFilePathCH5 { get; set; } + [StringLength(900)] + public string OP30QualityFilePathCH6 { get; set; } + [StringLength(900)] + public string OP80QualityFilePath { get; set; } + [StringLength(900)] + public string OP60QualityFilePath { get; set; } + [StringLength(900)] + public string OP20QualityFilePath { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP10QualityReceiveTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP20QualityReceiveTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP30QualityReceiveTimeCH3 { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP30QualityReceiveTimeCH4 { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP30QualityReceiveTimeCH5 { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP30QualityReceiveTimeCH6 { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP30QualityReceiveTime { get; set; } + [Column(TypeName = "datetime2")] + public DateTime? OP35QualityReceiveTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP40QualityReceiveTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP60QualityReceiveTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OP80QualityReceiveTime { get; set; } + + + [StringLength(32)] + public string QualityOP10To1 { get; set; } + [StringLength(32)] + public string QualityOP40To1 { get; set; } + + [StringLength(32)] + public string QualityOP20To1 { get; set; } + + [StringLength(32)] + public string QualityOP30To1 { get; set; } + + [StringLength(32)] + public string QualityOP30To2 { get; set; } + + [StringLength(32)] + public string QualityOP30To3 { get; set; } + + [StringLength(32)] + public string QualityOP30To4 { get; set; } + + [StringLength(32)] + public string QualityOP30To5 { get; set; } + + [StringLength(32)] + public string QualityOP30To6 { get; set; } + + [StringLength(32)] + public string QualityOP30To7 { get; set; } + [StringLength(32)] + public string QualityOP30To8 { get; set; } + [StringLength(32)] + public string QualityOP30To9 { get; set; } + [StringLength(32)] + public string QualityOP30To10 { get; set; } + [StringLength(32)] + public string QualityOP30To11 { get; set; } + + [StringLength(32)] + public string QualityOP35To1 { get; set; } + + [StringLength(32)] + public string QualityOP35To2 { get; set; } + + [StringLength(32)] + public string QualityOP60To1 { get; set; } + + [StringLength(32)] + public string QualityOP60To2 { get; set; } + + [StringLength(32)] + public string QualityOP70To1 { get; set; } + + [StringLength(32)] + public string QualityOP70To2 { get; set; } + + [StringLength(32)] + public string QualityOP70To3 { get; set; } + + [StringLength(32)] + public string QualityOP80To1 { get; set; } + + [StringLength(32)] + public string QualityOP80To2 { get; set; } + + [StringLength(32)] + public string QualityOP80To3 { get; set; } + + [StringLength(32)] + public string QualityOP80To4 { get; set; } + + [StringLength(32)] + public string QualityOP80To5 { get; set; } + + [StringLength(32)] + public string QualityOP80To6 { get; set; } + + [StringLength(32)] + public string QualityOP80To7 { get; set; } + + [StringLength(32)] + public string QualityOP80To8 { get; set; } + + [StringLength(32)] + public string QualityOP80To9 { get; set; } + [StringLength(32)] + public string QualityOP80To10 { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + + #region 新增OP80的一些质量数据 【Editby shaocx,2024-06-13】 + + /// <summary> + /// OP80 质量数据-厚度 + /// </summary> + public string QualityOP80_Houdu { get; set; } + + /// <summary> + /// OP80 质量数据-中心距 + /// </summary> + public string QualityOP80_ZXJ { get; set; } + + /// <summary> + /// OP80 质量数据-大头孔圆柱度 + /// </summary> + public string QualityOP80_DTKYZD { get; set; } + + /// <summary> + /// OP80 质量数据-小头上面圆度 + /// </summary> + public string QualityOP80_XTSMYD { get; set; } + + /// <summary> + /// OP80 质量数据-小头下面圆度 + /// </summary> + public string QualityOP80_XTXMYD { get; set; } + + + #region 大头孔直径 + + /// <summary> + /// OP80 质量数据-大头孔直径,大头孔直径=(大头上面X方向直径+大头上面Y方向直径+大头下面X方向直径+大头下面Y方向直径)/4 + /// </summary> + public string QualityOP80_D_TKZJ { get; set; } + + /// <summary> + /// OP80 质量数据-大头上面X方向直径 + /// </summary> + public string QualityOP80_D_S_X { get; set; } + + /// <summary> + /// OP80 质量数据-大头上面Y方向直径 + /// </summary> + public string QualityOP80_D_S_Y { get; set; } + + /// <summary> + /// OP80 质量数据-大头下面X方向直径 + /// </summary> + public string QualityOP80_D_X_X { get; set; } + + /// <summary> + /// OP80 质量数据-大头下面Y方向直径 + /// </summary> + public string QualityOP80_D_X_Y { get; set; } + + #endregion + + #region 小头孔直径 + + /// <summary> + /// OP80 质量数据-小头孔直径,小头孔直径=(小头上面X方向直径+小头上面Y方向直径+小头下面X方向直径+小头下面Y方向直径)/4 + /// </summary> + public string QualityOP80_X_TKZJ { get; set; } + + /// <summary> + /// OP80 质量数据-小头上面X方向直径 + /// </summary> + public string QualityOP80_X_S_X { get; set; } + + /// <summary> + /// OP80 质量数据-小头上面Y方向直径 + /// </summary> + public string QualityOP80_X_S_Y { get; set; } + + /// <summary> + /// OP80 质量数据-小头下面X方向直径 + /// </summary> + public string QualityOP80_X_X_X { get; set; } + + /// <summary> + /// OP80 质量数据-小头下面Y方向直径 + /// </summary> + public string QualityOP80_X_X_Y { get; set; } + + #endregion + + #endregion + + #region 新增 不合格原因 【Editby shaocx,2024-06-26】 + + /// OP10质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP10 { get; set; } + + /// <summary> + /// OP10质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP10 { get; set; } + + /// OP20质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP20 { get; set; } + + /// <summary> + /// OP20质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP20 { get; set; } + + /// OP30质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP30 { get; set; } + + /// <summary> + /// OP30质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP30 { get; set; } + + /// OP35质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP35 { get; set; } + + /// <summary> + /// OP35质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP35 { get; set; } + + + /// OP40质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP40 { get; set; } + + /// <summary> + /// OP40质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP40 { get; set; } + + /// OP60质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP60 { get; set; } + + /// <summary> + /// OP60质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP60 { get; set; } + + /// OP80质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk_OP80 { get; set; } + + /// <summary> + /// OP80质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason_OP80 { get; set; } + + #endregion + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/SystemLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/SystemLog.cs new file mode 100644 index 0000000..24cf3cb --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/SystemLog.cs @@ -0,0 +1,67 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace iWare_SCADA_Model.TableModel +{ + public class SystemLog + { + /// <summary> + /// 鍞竴鏍囪瘑 + /// </summary> + public Guid SystemLogID { get; set; } + + /// <summary> + /// 鏃ュ織鏃堕棿 + /// </summary> + public DateTime LogTime { get; set; } + + /// <summary> + /// 甯綅ID + /// </summary> + public string SeatID { get; set; } + + /// <summary> + /// 鐢ㄦ埛ID + /// </summary> + public Guid UserID { get; set; } + + /// <summary> + /// + /// </summary> + public string Method { get; set; } + + /// <summary> + /// + /// </summary> + public string Parameters { get; set; } + + /// <summary> + /// 鏃ュ織鍐呭 + /// </summary> + public string LogContent { get; set; } + + /// <summary> + /// 鎻忚堪淇℃伅 + /// </summary> + public string Description { get; set; } + + + } + + public class LogJson + { + public LogJson() + { } + + public LogJson(string Key1, string Value1) + { + Key = Key1; + Value = Value1; + } + public string Key { get; set; } + public string Value { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/ThreadStatusMonitor.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/ThreadStatusMonitor.cs new file mode 100644 index 0000000..94fa332 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/ThreadStatusMonitor.cs @@ -0,0 +1,59 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("ThreadStatusMonitor")] + public partial class ThreadStatusMonitor + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [StringLength(32)] + public string Threadcode { get; set; } + + [StringLength(255)] + public string Threadcname { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? Threadstarttime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? Threadendtime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime Threadlastmodifytime { get; set; } + /// <summary> + /// 0: 空轮询 1:有数据 + /// </summary> + public int? Threadstatue { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + + [StringLength(32)] + public string ThreadId { get; set; } + + public int? ThreadFrequency { get; set; } + [StringLength(900)] + public string Remarks { get; set; } + [StringLength(900)] + public string ErrorMsg { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceInfo.cs new file mode 100644 index 0000000..a27edd5 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceInfo.cs @@ -0,0 +1,138 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("WorkPieceInfo")] + public partial class WorkPieceInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + public int? WorkPieceState { get; set; } + + public int? WorkPieceCurrentPositionOrder { get; set; } + + [StringLength(255)] + public string WorkPieceCurrentPosition { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(int.MaxValue)] + public string WorkingProcedureCompleted { get; set; } + + [StringLength(255)] + public string WorkingProcedurePlan { get; set; } + + [StringLength(32)] + public string WorkingProcedureCurrent { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkingProcedureStartTime { get; set; } + [Column(TypeName = "datetime2")] + public DateTime? WorkingProcedureEndTime { get; set; } + + public int? ProcessingDurationForCurrent { get; set; } + + public int? ProcessingDurationTotal { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceinitOnlineTime { get; set; } + + public int? Number { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo1 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo2 { get; set; } + + [StringLength(6)] + public string WorkPieceIDTo3 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo4 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo5 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo6 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo7 { get; set; } + + /// <summary> + /// 质量状态,枚举 QualityState + /// </summary> + public int? QualityState { get; set; } + + /// <summary> + /// 质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk { get; set; } + + /// <summary> + /// 质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason { get; set; } + + [StringLength(255)] + public string QualityErrorInfo { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? QualityStateUpdateTime { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + public int? AlertType { get; set; } + + [StringLength(255)] + public string AlertMsg { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? LogAddTime { get; set; } + + [StringLength(255)] + public string LogAddRemark { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceLastOfflineTime { get; set; } + [Column(TypeName = "datetime2")] + public DateTime? CompleteTime { get; set; } + + + [StringLength(255)] + public string OP80NewCode { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceInfoLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceInfoLog.cs new file mode 100644 index 0000000..106b128 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceInfoLog.cs @@ -0,0 +1,132 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("WorkPieceInfoLog")] + public partial class WorkPieceInfoLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + public long WorkPieceInfoID { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + public int? WorkPieceState { get; set; } + + public int? WorkPieceCurrentPositionOrder { get; set; } + + [StringLength(255)] + public string WorkPieceCurrentPosition { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(int.MaxValue)] + public string WorkingProcedureCompleted { get; set; } + + [StringLength(255)] + public string WorkingProcedurePlan { get; set; } + + [StringLength(32)] + public string WorkingProcedureCurrent { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkingProcedureStartTime { get; set; } + [Column(TypeName = "datetime2")] + public DateTime? WorkingProcedureEndTime { get; set; } + + public int ProcessingDurationForCurrent { get; set; } + + public int ProcessingDurationTotal { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkPieceinitOnlineTime { get; set; } + + public int Number { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo1 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo2 { get; set; } + + [StringLength(6)] + public string WorkPieceIDTo3 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo4 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo5 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo6 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo7 { get; set; } + + public int QualityState { get; set; } + + /// <summary> + /// 质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk { get; set; } + + /// <summary> + /// 质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason { get; set; } + + [StringLength(255)] + public string QualityErrorInfo { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime QualityStateUpdateTime { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + public int AlertType { get; set; } + + [StringLength(255)] + public string AlertMsg { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + [Column(TypeName = "datetime2")] + public DateTime? LogAddTime { get; set; } + + [StringLength(255)] + public string LogAddRemark { get; set; } + [Column(TypeName = "datetime2")] + public DateTime? CompleteTime { get; set; } + [StringLength(255)] + public string OP80NewCode { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceLog.cs new file mode 100644 index 0000000..571bdfa --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceLog.cs @@ -0,0 +1,137 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("WorkPieceLog")] + public partial class WorkPieceLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo1 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo2 { get; set; } + + [StringLength(6)] + public string WorkPieceIDTo3 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo4 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo5 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo6 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo7 { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string MonitoringPoint { get; set; } + + public int? QualityState { get; set; } + + /// <summary> + /// 质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk { get; set; } + + /// <summary> + /// 质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OnlineTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OfflineTime { get; set; } + + public int? ProcessingDuration { get; set; } + + public int? MachineToolState { get; set; } + + public int? AlertType { get; set; } + + [StringLength(255)] + public string AlertMsg { get; set; } + + public int? WorkPieceNumber { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceOnlineTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceOfflineTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceStartMachiningTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceEndMachiningTime { get; set; } + + [StringLength(32)] + public string KnifeToolID { get; set; } + + [StringLength(32)] + public string KnifeToolName { get; set; } + + [StringLength(32)] + public string KnifeToolCode { get; set; } + + [StringLength(32)] + public string KnifeToolModel { get; set; } + + public int? KnifeEdgeNumber { get; set; } + + [StringLength(32)] + public string KnifeToolinsideID { get; set; } + + [StringLength(32)] + public string KnifeWarehouseID { get; set; } + + [StringLength(32)] + public string KnifePositionID { get; set; } + + public int? KnifeToolLife { get; set; } + + public int? KnifeToolEarlyWarningLife { get; set; } + + public int? KnifeToolSurplusLife { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs new file mode 100644 index 0000000..b5784a1 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs @@ -0,0 +1,83 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("WorkPieceProcess")] + public partial class WorkPieceProcess + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedureCurrent { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime StartTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime EndTime { get; set; } + + /// <summary> + /// 质量状态,使用枚举 QualityState + /// </summary> + public int QualityState { get; set; } + + /// <summary> + /// 质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 + /// </summary> + public int? QualityNoOk { get; set; } + + /// <summary> + /// 质量不合格原因 【Editby shaocx,2024-06-26】 + /// </summary> + public string QualityNoOkReason { get; set; } + + public long QualityDataInfoID { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + [StringLength(50)] + public string OperationType { get; set; } + [StringLength(255)] + public string Remarks { get; set; } + + public bool IsDeleted { get; set; } + + /// <summary> + /// 获取QC数据标记,0表示待获取,1表示获取成功,2表示获取失败 【Editby shaocx,2024-06-15】 + /// </summary> + public int? GetQcDataFlag { get; set; } + + /// <summary> + /// 获取QC数据标记次数 【Editby shaocx,2024-06-15】 + /// </summary> + public int? GetQcDataCount { get; set; } + + /// <summary> + /// 获取QC数据标记描述 【Editby shaocx,2024-06-15】 + /// </summary> + public string GetQcDataFlag_Remark { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/v_get_equipment_alert.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/v_get_equipment_alert.cs new file mode 100644 index 0000000..8a4d435 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModel/v_get_equipment_alert.cs @@ -0,0 +1,111 @@ +namespace iWare_SCADA_Model +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + public partial class v_get_equipment_alert + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentId { get; set; } + + [StringLength(255)] + public string EquipmentName { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(900)] + public string EquipmentModel { get; set; } + + [StringLength(32)] + public string EquipmentIP { get; set; } + + [StringLength(255)] + public string EquipmentFunction { get; set; } + + [StringLength(255)] + public string EquipmentBrand { get; set; } + + [StringLength(255)] + public string EquipmentManufacturer { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? Detergentchangetime { get; set; } + + public int DetergentChangeAlertThreshold { get; set; } + + public int? DetergentChangeCycle { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? KnifeToolChangeTime { get; set; } + + public int? KnifeToolChangeAlertThreshold { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? CuttingFluidChangeTime { get; set; } + + public int? CuttingFluidChangeAlertThreshold { get; set; } + + [StringLength(900)] + public string Remarks { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? AlertTime { get; set; } + + [StringLength(32)] + public string FailureType { get; set; } + + [StringLength(255)] + public string Alertmsg { get; set; } + + public bool IsAlertDetergent { get; set; } + + public bool IsAlertKnifeTool { get; set; } + + public bool IsAlertCuttingFluid { get; set; } + + public bool IsAlert { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + /// <summary> + /// 清洗液描述 + /// </summary> + [StringLength(900)] + public string DetergentDesc { get; set; } + /// <summary> + /// 刀具更换描述 + /// </summary> + [StringLength(900)] + public string KnifeToolDesc { get; set; } + /// <summary> + /// 切削液更换描述 + /// </summary> + [StringLength(900)] + public string CuttingFluidDesc { get; set; } + /// <summary> + /// 告警描述 + /// </summary> + public string AlertDesc { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/AlarmLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/AlarmLog.cs new file mode 100644 index 0000000..d2a77b2 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/AlarmLog.cs @@ -0,0 +1,36 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("AlarmLog")] + public partial class AlarmLog + { + public long id { get; set; } + + [Column(TypeName = "text")] + public string alarmMsg { get; set; } + + [Column(TypeName = "text")] + public string alarmTime { get; set; } + + public DateTime time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + + public string idname { + get { + if (id < 3) + { + return "小于3"; + } + else + return "大于等于3"; + } + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CNCStatus.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CNCStatus.cs new file mode 100644 index 0000000..38de838 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CNCStatus.cs @@ -0,0 +1,24 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + public partial class CNCStatus + { + public long id { get; set; } + + [Column("cncStatus", TypeName = "text")] + public string cncStatus1 { get; set; } + + [Column(TypeName = "text")] + public string alarmStatus { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Count.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Count.cs new file mode 100644 index 0000000..993c8b1 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Count.cs @@ -0,0 +1,24 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("Count")] + public partial class Count + { + public long id { get; set; } + + [Column("count")] + public int? count1 { get; set; } + + public int? cumulativeCount { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CumulativeTime.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CumulativeTime.cs new file mode 100644 index 0000000..8b7008c --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CumulativeTime.cs @@ -0,0 +1,29 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("CumulativeTime")] + public partial class CumulativeTime + { + public long? offTime { get; set; } + + public long? waitTime { get; set; } + + public long? emergencyTime { get; set; } + + public long? autoRunTime { get; set; } + + public long? manualTime { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + + public long id { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CurrentToolNumber.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CurrentToolNumber.cs new file mode 100644 index 0000000..8ca6841 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/CurrentToolNumber.cs @@ -0,0 +1,22 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("CurrentToolNumber")] + public partial class CurrentToolNumber + { + [Column(TypeName = "text")] + public string toolNumber { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + + public long id { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/FeedAndSpindle.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/FeedAndSpindle.cs new file mode 100644 index 0000000..c7b2001 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/FeedAndSpindle.cs @@ -0,0 +1,27 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("FeedAndSpindle")] + public partial class FeedAndSpindle + { + public float? overFeed { get; set; } + + public float? overSpindle { get; set; } + + public float? actFeed { get; set; } + + public float? actSpindle { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + + public long id { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Load.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Load.cs new file mode 100644 index 0000000..bf21921 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Load.cs @@ -0,0 +1,25 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("Load")] + public partial class Load + { + [Column(TypeName = "text")] + public string spindleLoad { get; set; } + + [Column(TypeName = "text")] + public string axialLoad { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + + public long id { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/OEE.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/OEE.cs new file mode 100644 index 0000000..b9d26dc --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/OEE.cs @@ -0,0 +1,31 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("OEE")] + public partial class OEE + { + public float? availability { get; set; } + + public long? offTime { get; set; } + + public long? waitTime { get; set; } + + public long? emergencyTime { get; set; } + + public long? autoRunTime { get; set; } + + public long? manualTime { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + + public long id { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Postion.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Postion.cs new file mode 100644 index 0000000..0bf4011 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/Postion.cs @@ -0,0 +1,37 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("Postion")] + public partial class Postion + { + [Column(TypeName = "text")] + public string axisName { get; set; } + + [Column(TypeName = "text")] + public string unit { get; set; } + + [Column(TypeName = "text")] + public string mach { get; set; } + + [Column(TypeName = "text")] + public string abs { get; set; } + + [Column(TypeName = "text")] + public string rel { get; set; } + + [Column(TypeName = "text")] + public string dist { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + + public long id { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/ProgramBlock.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/ProgramBlock.cs new file mode 100644 index 0000000..a207902 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/ProgramBlock.cs @@ -0,0 +1,22 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("ProgramBlock")] + public partial class ProgramBlock + { + [Column(TypeName = "text")] + public string currentBlock { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + + public long id { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/ProgramInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/ProgramInfo.cs new file mode 100644 index 0000000..74338fa --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/ProgramInfo.cs @@ -0,0 +1,28 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("ProgramInfo")] + public partial class ProgramInfo + { + [Column(TypeName = "text")] + public string mainPrgmName { get; set; } + + [Column(TypeName = "text")] + public string runningPrgName { get; set; } + + [Column(TypeName = "text")] + public string programSeqNum { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + + public long id { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/SCModel.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/SCModel.cs new file mode 100644 index 0000000..bb5e0cc --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/SCModel.cs @@ -0,0 +1,147 @@ +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; + +namespace iWare_SCADA_Model.TableModelSC +{ + public partial class SCModel : DbContext + { + public SCModel() + : base("name=SCModel") + { + } + + public virtual DbSet<AlarmLog> AlarmLog { get; set; } + public virtual DbSet<CNCStatus> CNCStatus { get; set; } + public virtual DbSet<Count> Count { get; set; } + public virtual DbSet<CumulativeTime> CumulativeTime { get; set; } + public virtual DbSet<CurrentToolNumber> CurrentToolNumber { get; set; } + public virtual DbSet<FeedAndSpindle> FeedAndSpindle { get; set; } + public virtual DbSet<Load> Load { get; set; } + public virtual DbSet<OEE> OEE { get; set; } + public virtual DbSet<Postion> Postion { get; set; } + public virtual DbSet<ProgramBlock> ProgramBlock { get; set; } + public virtual DbSet<ProgramInfo> ProgramInfo { get; set; } + public virtual DbSet<TimeData> TimeData { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + modelBuilder.Entity<AlarmLog>() + .Property(e => e.alarmMsg) + .IsUnicode(false); + + modelBuilder.Entity<AlarmLog>() + .Property(e => e.alarmTime) + .IsUnicode(false); + + modelBuilder.Entity<AlarmLog>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<CNCStatus>() + .Property(e => e.cncStatus1) + .IsUnicode(false); + + modelBuilder.Entity<CNCStatus>() + .Property(e => e.alarmStatus) + .IsUnicode(false); + + modelBuilder.Entity<CNCStatus>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<Count>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<CumulativeTime>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<CurrentToolNumber>() + .Property(e => e.toolNumber) + .IsUnicode(false); + + modelBuilder.Entity<CurrentToolNumber>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<FeedAndSpindle>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<Load>() + .Property(e => e.spindleLoad) + .IsUnicode(false); + + modelBuilder.Entity<Load>() + .Property(e => e.axialLoad) + .IsUnicode(false); + + modelBuilder.Entity<Load>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<OEE>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<Postion>() + .Property(e => e.axisName) + .IsUnicode(false); + + modelBuilder.Entity<Postion>() + .Property(e => e.unit) + .IsUnicode(false); + + modelBuilder.Entity<Postion>() + .Property(e => e.mach) + .IsUnicode(false); + + modelBuilder.Entity<Postion>() + .Property(e => e.abs) + .IsUnicode(false); + + modelBuilder.Entity<Postion>() + .Property(e => e.rel) + .IsUnicode(false); + + modelBuilder.Entity<Postion>() + .Property(e => e.dist) + .IsUnicode(false); + + modelBuilder.Entity<Postion>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<ProgramBlock>() + .Property(e => e.currentBlock) + .IsUnicode(false); + + modelBuilder.Entity<ProgramBlock>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<ProgramInfo>() + .Property(e => e.mainPrgmName) + .IsUnicode(false); + + modelBuilder.Entity<ProgramInfo>() + .Property(e => e.runningPrgName) + .IsUnicode(false); + + modelBuilder.Entity<ProgramInfo>() + .Property(e => e.programSeqNum) + .IsUnicode(false); + + modelBuilder.Entity<ProgramInfo>() + .Property(e => e.machineID) + .IsUnicode(false); + + modelBuilder.Entity<TimeData>() + .Property(e => e.machineID) + .IsUnicode(false); + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/TimeData.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/TimeData.cs new file mode 100644 index 0000000..e1a4e82 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/TableModelSC/TimeData.cs @@ -0,0 +1,59 @@ +namespace iWare_SCADA_Model.TableModelSC +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("TimeData")] + public partial class TimeData + { + public int? remainingCycleTimeMin { get; set; } + + public int? remainingCycleTimeMs { get; set; } + + public int? cumulativePowerOnTimeMin { get; set; } + + public int? cumulativePowerOnTimeMs { get; set; } + + public int? powerOnTimeMin { get; set; } + + public int? powerOnTimeMs { get; set; } + + public int? cumulativeOperatingTimeMin { get; set; } + + public int? cumulativeOperatingTimeMs { get; set; } + + public int? operatingTimeMin { get; set; } + + public int? operatingTimeMs { get; set; } + + public int? cumulativeCuttingTimeMin { get; set; } + + public int? cumulativeCuttingTimeMs { get; set; } + + public int? cuttingTimeMin { get; set; } + + public int? cuttingTimeMs { get; set; } + + public int? lastCycleTimeMin { get; set; } + + public int? lastCycleTimeMs { get; set; } + + public int? currentCycleTimeMin { get; set; } + + public int? currentCycleTimeMs { get; set; } + + public int? currentCuttingTimeMin { get; set; } + + public int? currentCuttingTimeMs { get; set; } + + public DateTime? time { get; set; } + + [StringLength(64)] + public string machineID { get; set; } + + public long id { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/iWare_SCADA_Model.csproj b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/iWare_SCADA_Model.csproj new file mode 100644 index 0000000..a3b21b6 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/iWare_SCADA_Model.csproj @@ -0,0 +1,115 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{91C185DE-15AB-44AE-B585-53799FC51BE0}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>iWare_SCADA_Model</RootNamespace> + <AssemblyName>iWare_SCADA_Model</AssemblyName> + <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <Deterministic>true</Deterministic> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> + <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath> + </Reference> + <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> + <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath> + </Reference> + <Reference Include="HslCommunication, Version=7.0.1.0, Culture=neutral, PublicKeyToken=cdb2261fa039ed67, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\DLL\HslCommunication.dll</HintPath> + </Reference> + <Reference Include="System" /> + <Reference Include="System.ComponentModel.DataAnnotations" /> + <Reference Include="System.Core" /> + <Reference Include="System.Runtime.Serialization" /> + <Reference Include="System.Security" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Data" /> + <Reference Include="System.Net.Http" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="EnumberEntity.cs" /> + <Compile Include="Enums.cs" /> + <Compile Include="ListItem.cs" /> + <Compile Include="MessageModel.cs" /> + <Compile Include="MiddleModel\ThreadStatusMonitorMiddle.cs" /> + <Compile Include="MiddleModel\WorkPieceLogMiddle.cs" /> + <Compile Include="PLCDataCapture\BasePlcParam.cs" /> + <Compile Include="PLCDataCapture\HslCommunicationParam.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="TableModelSC\AlarmLog.cs" /> + <Compile Include="TableModelSC\CNCStatus.cs" /> + <Compile Include="TableModelSC\Count.cs" /> + <Compile Include="TableModelSC\CumulativeTime.cs" /> + <Compile Include="TableModelSC\CurrentToolNumber.cs" /> + <Compile Include="TableModelSC\FeedAndSpindle.cs" /> + <Compile Include="TableModelSC\Load.cs" /> + <Compile Include="TableModelSC\OEE.cs" /> + <Compile Include="TableModelSC\Postion.cs" /> + <Compile Include="TableModelSC\ProgramBlock.cs" /> + <Compile Include="TableModelSC\ProgramInfo.cs" /> + <Compile Include="TableModelSC\SCModel.cs" /> + <Compile Include="TableModelSC\TimeData.cs" /> + <Compile Include="TableModel\DbModel.cs" /> + <Compile Include="TableModel\EquipmentBaseInfo.cs" /> + <Compile Include="TableModel\DataCaptureConfig.cs" /> + <Compile Include="TableModel\DataCaptureColumnConfig.cs" /> + <Compile Include="TableModel\EquipmentCurrentMonitor.cs" /> + <Compile Include="TableModel\EquipmentFailureCode.cs" /> + <Compile Include="TableModel\EquipmentWorkingLog.cs" /> + <Compile Include="TableModel\KnifeToolBaseInfo.cs" /> + <Compile Include="TableModel\KnifeToolDataMonitor.cs" /> + <Compile Include="TableModel\KnifeToolEquipmentInfo.cs" /> + <Compile Include="TableModel\KnifeToolEquipmentInfoLog.cs" /> + <Compile Include="TableModel\KnifeToolEquipmentMonitor.cs" /> + <Compile Include="TableModel\KnifeToolEquipmentUpdateLog.cs" /> + <Compile Include="TableModel\Model1.cs" /> + <Compile Include="TableModel\QualityDataInfoLog.cs" /> + <Compile Include="TableModel\SystemLog.cs" /> + <Compile Include="TableModel\v_get_equipment_alert.cs" /> + <Compile Include="TableModel\WorkPieceInfo.cs" /> + <Compile Include="TableModel\WorkPieceInfoLog.cs" /> + <Compile Include="TableModel\QualityDataInfo.cs" /> + <Compile Include="TableModel\WorkPieceLog.cs" /> + <Compile Include="TableModel\WorkPieceProcess.cs" /> + <Compile Include="TableModel\ThreadStatusMonitor.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="App.Config" /> + <None Include="packages.config" /> + </ItemGroup> + <ItemGroup> + <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" /> + </ItemGroup> + <ItemGroup> + <Folder Include="GatewayTableTable\" /> + <Folder Include="test\" /> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> +</Project> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/packages.config b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/packages.config new file mode 100644 index 0000000..6fe8cde --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/packages.config @@ -0,0 +1,5 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="EntityFramework" version="6.2.0" targetFramework="net472" /> + <package id="EntityFramework.zh-Hans" version="6.2.0" targetFramework="net472" /> +</packages> \ No newline at end of file diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/DataCaptureColumnConfig.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/DataCaptureColumnConfig.cs new file mode 100644 index 0000000..e80676c --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/DataCaptureColumnConfig.cs @@ -0,0 +1,58 @@ +namespace iWare_SCADA_Model.test +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("DataCaptureColumnConfig")] + public partial class DataCaptureColumnConfig + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [Required] + [StringLength(32)] + public string DataCapturePointCode { get; set; } + + [StringLength(32)] + public string DataCapturePointCname { get; set; } + + public int? DataCaptureType { get; set; } + + [StringLength(32)] + public string DbNumber { get; set; } + + [StringLength(32)] + public string Offset { get; set; } + + public int? DataCaptureColumnLength { get; set; } + + [StringLength(32)] + public string DataCaptureColumnType { get; set; } + + [StringLength(255)] + public string DataCaptureColumnTabelName { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/DataCaptureConfig.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/DataCaptureConfig.cs new file mode 100644 index 0000000..2b6a1fd --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/DataCaptureConfig.cs @@ -0,0 +1,70 @@ +namespace iWare_SCADA_Model.test +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("DataCaptureConfig")] + public partial class DataCaptureConfig + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentID { get; set; } + + [Required] + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string DataCapturePointCode { get; set; } + + [StringLength(32)] + public string DataCapturePointCname { get; set; } + + public int? DataCaptureType { get; set; } + + public int? DataCapturePLCType { get; set; } + + [StringLength(255)] + public string PLCIP { get; set; } + + public int? PLCPort { get; set; } + + [StringLength(32)] + public string DbNumber { get; set; } + + [StringLength(32)] + public string Offset { get; set; } + + [StringLength(32)] + public string DataCaptureColumnType { get; set; } + + public int? DataCaptureColumnLength { get; set; } + + [StringLength(255)] + public string DataCaptureColumnTabelName { get; set; } + + public int? DataCaptureFrequency { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentBaseInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentBaseInfo.cs new file mode 100644 index 0000000..646582a --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentBaseInfo.cs @@ -0,0 +1,72 @@ +namespace iWare_SCADA_Model.test +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("EquipmentBaseInfo")] + public partial class EquipmentBaseInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentId { get; set; } + + [Required] + [StringLength(255)] + public string EquipmentName { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(900)] + public string EquipmentModel { get; set; } + + [StringLength(32)] + public string EquipmentIP { get; set; } + + [StringLength(255)] + public string EquipmentFunction { get; set; } + + [StringLength(255)] + public string EquipmentBrand { get; set; } + + [StringLength(255)] + public string EquipmentManufacturer { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? Detergentchangetime { get; set; } + + public int DetergentChangeAlertThreshold { get; set; } + + public int DetergentChangeCycle { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? KnifeToolChangeTime { get; set; } + + public int KnifeToolChangeAlertThreshold { get; set; } + + [StringLength(900)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentCurrentMonitor.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentCurrentMonitor.cs new file mode 100644 index 0000000..14af1a3 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentCurrentMonitor.cs @@ -0,0 +1,72 @@ +namespace iWare_SCADA_Model.test +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("EquipmentCurrentMonitor")] + public partial class EquipmentCurrentMonitor + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string EquipmentCurrentState { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string WorkPieceID { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OnlineTime { get; set; } + + public int? WorkTime { get; set; } + + public int? KnifeToolLife { get; set; } + + [StringLength(32)] + public string SpindleCurrent { get; set; } + + [StringLength(32)] + public string SpindleTorque { get; set; } + + [StringLength(32)] + public string SpindleLoad { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? AlertTime { get; set; } + + [StringLength(255)] + public string Alertmsg { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + + [StringLength(32)] + public string FailureType { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentWorkingLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentWorkingLog.cs new file mode 100644 index 0000000..d1d4553 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/EquipmentWorkingLog.cs @@ -0,0 +1,82 @@ +namespace iWare_SCADA_Model.test +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("EquipmentWorkingLog")] + public partial class EquipmentWorkingLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string EquipmentID { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? StartUpTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ShutDownTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? FailureStartTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? FailureEndTime { get; set; } + + [StringLength(32)] + public string FailureType { get; set; } + + [StringLength(255)] + public string FailureMsg { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? KnifeToolChangeStartTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? KnifeToolChangeEndTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ToggleManualTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? ToggleAutoTime { get; set; } + + public long WorkPieceLogID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string MonitoringPoint { get; set; } + + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? LogAddTime { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model1.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model1.cs new file mode 100644 index 0000000..38cab4e --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model1.cs @@ -0,0 +1,21 @@ +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; + +namespace iWare_SCADA_Model.test +{ + public partial class Model1 : DbContext + { + public Model1() + : base("name=Model1") + { + } + + public virtual DbSet<WorkPieceLog> WorkPieceLog { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model2.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model2.cs new file mode 100644 index 0000000..4ffe148 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model2.cs @@ -0,0 +1,30 @@ +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; + +namespace iWare_SCADA_Model.test +{ + public partial class Model2 : DbContext + { + public Model2() + : base("name=Model2") + { + } + + public virtual DbSet<DataCaptureColumnConfig> DataCaptureColumnConfig { get; set; } + public virtual DbSet<DataCaptureConfig> DataCaptureConfig { get; set; } + public virtual DbSet<EquipmentBaseInfo> EquipmentBaseInfo { get; set; } + public virtual DbSet<EquipmentCurrentMonitor> EquipmentCurrentMonitor { get; set; } + public virtual DbSet<EquipmentWorkingLog> EquipmentWorkingLog { get; set; } + public virtual DbSet<QualityDataInfo> QualityDataInfo { get; set; } + public virtual DbSet<QualityDataInfoLog> QualityDataInfoLog { get; set; } + public virtual DbSet<WorkPieceInfo> WorkPieceInfo { get; set; } + public virtual DbSet<WorkPieceInfoLog> WorkPieceInfoLog { get; set; } + public virtual DbSet<WorkPieceLog> WorkPieceLog { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model3.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model3.cs new file mode 100644 index 0000000..0c0f481 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/Model3.cs @@ -0,0 +1,21 @@ +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; +using System.Linq; + +namespace iWare_SCADA_Model.test +{ + public partial class Model3 : DbContext + { + public Model3() + : base("name=Model3") + { + } + + public virtual DbSet<WorkPieceProcess> WorkPieceProcess { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/QualityDataInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/QualityDataInfo.cs new file mode 100644 index 0000000..16c1916 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/QualityDataInfo.cs @@ -0,0 +1,131 @@ +namespace iWare_SCADA_Model.test +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("QualityDataInfo")] + public partial class QualityDataInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string QualityState { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime OfflineTime { get; set; } + + [StringLength(32)] + public string QualityOP10To1 { get; set; } + + [StringLength(32)] + public string QualityOP20To1 { get; set; } + + [StringLength(32)] + public string QualityOP30To1 { get; set; } + + [StringLength(32)] + public string QualityOP30To2 { get; set; } + + [StringLength(32)] + public string QualityOP30To3 { get; set; } + + [StringLength(32)] + public string QualityOP30To4 { get; set; } + + [StringLength(32)] + public string QualityOP30To5 { get; set; } + + [StringLength(32)] + public string QualityOP30To6 { get; set; } + + [StringLength(32)] + public string QualityOP30To7 { get; set; } + + [StringLength(32)] + public string QualityOP35To1 { get; set; } + + [StringLength(32)] + public string QualityOP35To2 { get; set; } + + [StringLength(32)] + public string QualityOP60To1 { get; set; } + + [StringLength(32)] + public string QualityOP60To2 { get; set; } + + [StringLength(32)] + public string QualityOP70To1 { get; set; } + + [StringLength(32)] + public string QualityOP70To2 { get; set; } + + [StringLength(32)] + public string QualityOP70To3 { get; set; } + + [StringLength(32)] + public string QualityOP80To1 { get; set; } + + [StringLength(32)] + public string QualityOP80To2 { get; set; } + + [StringLength(32)] + public string QualityOP80To3 { get; set; } + + [StringLength(32)] + public string QualityOP80To4 { get; set; } + + [StringLength(32)] + public string QualityOP80To5 { get; set; } + + [StringLength(32)] + public string QualityOP80To6 { get; set; } + + [StringLength(32)] + public string QualityOP80To7 { get; set; } + + [StringLength(32)] + public string QualityOP80To8 { get; set; } + + [StringLength(32)] + public string QualityOP80To9 { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/QualityDataInfoLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/QualityDataInfoLog.cs new file mode 100644 index 0000000..dda2496 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/QualityDataInfoLog.cs @@ -0,0 +1,133 @@ +namespace iWare_SCADA_Model.test +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("QualityDataInfoLog")] + public partial class QualityDataInfoLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + public long QualityDataInfoID { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string QualityState { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime OfflineTime { get; set; } + + [StringLength(32)] + public string QualityOP10To1 { get; set; } + + [StringLength(32)] + public string QualityOP20To1 { get; set; } + + [StringLength(32)] + public string QualityOP30To1 { get; set; } + + [StringLength(32)] + public string QualityOP30To2 { get; set; } + + [StringLength(32)] + public string QualityOP30To3 { get; set; } + + [StringLength(32)] + public string QualityOP30To4 { get; set; } + + [StringLength(32)] + public string QualityOP30To5 { get; set; } + + [StringLength(32)] + public string QualityOP30To6 { get; set; } + + [StringLength(32)] + public string QualityOP30To7 { get; set; } + + [StringLength(32)] + public string QualityOP35To1 { get; set; } + + [StringLength(32)] + public string QualityOP35To2 { get; set; } + + [StringLength(32)] + public string QualityOP60To1 { get; set; } + + [StringLength(32)] + public string QualityOP60To2 { get; set; } + + [StringLength(32)] + public string QualityOP70To1 { get; set; } + + [StringLength(32)] + public string QualityOP70To2 { get; set; } + + [StringLength(32)] + public string QualityOP70To3 { get; set; } + + [StringLength(32)] + public string QualityOP80To1 { get; set; } + + [StringLength(32)] + public string QualityOP80To2 { get; set; } + + [StringLength(32)] + public string QualityOP80To3 { get; set; } + + [StringLength(32)] + public string QualityOP80To4 { get; set; } + + [StringLength(32)] + public string QualityOP80To5 { get; set; } + + [StringLength(32)] + public string QualityOP80To6 { get; set; } + + [StringLength(32)] + public string QualityOP80To7 { get; set; } + + [StringLength(32)] + public string QualityOP80To8 { get; set; } + + [StringLength(32)] + public string QualityOP80To9 { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceInfo.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceInfo.cs new file mode 100644 index 0000000..ef0d310 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceInfo.cs @@ -0,0 +1,112 @@ +namespace iWare_SCADA_Model.test +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("WorkPieceInfo")] + public partial class WorkPieceInfo + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + public int? WorkPieceState { get; set; } + + public int? WorkPieceCurrentPositionOrder { get; set; } + + [StringLength(255)] + public string WorkPieceCurrentPosition { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(255)] + public string WorkingProcedureCompleted { get; set; } + + [StringLength(255)] + public string WorkingProcedurePlan { get; set; } + + [StringLength(32)] + public string WorkingProcedureCurrent { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkingProcedureStartTime { get; set; } + + public int? ProcessingDurationForCurrent { get; set; } + + public int? ProcessingDurationTotal { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceinitOnlineTime { get; set; } + + public int? Number { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo1 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo2 { get; set; } + + [StringLength(6)] + public string WorkPieceIDTo3 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo4 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo5 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo6 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo7 { get; set; } + + public int? QualityState { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? QualityStateUpdateTime { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + public int? AlertType { get; set; } + + [StringLength(255)] + public string AlertMsg { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? LogAddTime { get; set; } + + [StringLength(255)] + public string LogAddRemark { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceInfoLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceInfoLog.cs new file mode 100644 index 0000000..dc799c9 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceInfoLog.cs @@ -0,0 +1,108 @@ +namespace iWare_SCADA_Model.test +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("WorkPieceInfoLog")] + public partial class WorkPieceInfoLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + public long WorkPieceInfoID { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + public int? WorkPieceState { get; set; } + + public int? WorkPieceCurrentPositionOrder { get; set; } + + [StringLength(255)] + public string WorkPieceCurrentPosition { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [StringLength(255)] + public string WorkingProcedureCompleted { get; set; } + + [StringLength(255)] + public string WorkingProcedurePlan { get; set; } + + [StringLength(32)] + public string WorkingProcedureCurrent { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkingProcedureStartTime { get; set; } + + public int ProcessingDurationForCurrent { get; set; } + + public int ProcessingDurationTotal { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime WorkPieceinitOnlineTime { get; set; } + + public int Number { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo1 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo2 { get; set; } + + [StringLength(6)] + public string WorkPieceIDTo3 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo4 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo5 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo6 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo7 { get; set; } + + public int QualityState { get; set; } + + [StringLength(32)] + public string QualityStateUpdateUser { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime QualityStateUpdateTime { get; set; } + + [StringLength(32)] + public string QualityStateUpdateMode { get; set; } + + public int AlertType { get; set; } + + [StringLength(255)] + public string AlertMsg { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} diff --git a/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceLog.cs b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceLog.cs new file mode 100644 index 0000000..c55dc89 --- /dev/null +++ b/DataCapture/iWare_SCADA_DataCapture_Test/iWare_SCADA_Model/test/WorkPieceLog.cs @@ -0,0 +1,128 @@ +namespace iWare_SCADA_Model.test +{ + using System; + using System.Collections.Generic; + using System.ComponentModel.DataAnnotations; + using System.ComponentModel.DataAnnotations.Schema; + using System.Data.Entity.Spatial; + + [Table("WorkPieceLog")] + public partial class WorkPieceLog + { + [DatabaseGenerated(DatabaseGeneratedOption.None)] + public long Id { get; set; } + + [Required] + [StringLength(32)] + public string WorkPieceID { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo1 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo2 { get; set; } + + [StringLength(6)] + public string WorkPieceIDTo3 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo4 { get; set; } + + [StringLength(4)] + public string WorkPieceIDTo5 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo6 { get; set; } + + [StringLength(2)] + public string WorkPieceIDTo7 { get; set; } + + [StringLength(32)] + public string WorkingProcedure { get; set; } + + [StringLength(32)] + public string MonitoringPoint { get; set; } + + public int? QualityState { get; set; } + + [StringLength(32)] + public string EquipmentID { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OnlineTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? OfflineTime { get; set; } + + public int? ProcessingDuration { get; set; } + + public int? MachineToolState { get; set; } + + public int? AlertType { get; set; } + + [StringLength(255)] + public string AlertMsg { get; set; } + + public int? WorkPieceNumber { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceOnlineTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceOfflineTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceStartMachiningTime { get; set; } + + [Column(TypeName = "datetime2")] + public DateTime? WorkPieceEndMachiningTime { get; set; } + + [StringLength(32)] + public string KnifeToolID { get; set; } + + [StringLength(32)] + public string KnifeToolName { get; set; } + + [StringLength(32)] + public string KnifeToolCode { get; set; } + + [StringLength(32)] + public string KnifeToolModel { get; set; } + + public int? KnifeEdgeNumber { get; set; } + + [StringLength(32)] + public string KnifeToolinsideID { get; set; } + + [StringLength(32)] + public string KnifeWarehouseID { get; set; } + + [StringLength(32)] + public string KnifePositionID { get; set; } + + public int? KnifeToolLife { get; set; } + + public int? KnifeToolEarlyWarningLife { get; set; } + + public int? KnifeToolSurplusLife { get; set; } + + [StringLength(255)] + public string Remarks { get; set; } + + public DateTimeOffset? CreatedTime { get; set; } + + public DateTimeOffset? UpdatedTime { get; set; } + + public long? CreatedUserId { get; set; } + + [StringLength(50)] + public string CreatedUserName { get; set; } + + public long? UpdatedUserId { get; set; } + + [StringLength(50)] + public string UpdatedUserName { get; set; } + + public bool IsDeleted { get; set; } + } +} -- Gitblit v1.9.3