diff --git a/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 b/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 index b84394e..529972e 100644 Binary files a/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 and b/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 differ diff --git a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/3bbe660f-637a-47a6-b0d3-bc15df5636fa.vsidx b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/3bbe660f-637a-47a6-b0d3-bc15df5636fa.vsidx new file mode 100644 index 0000000..4ffa1e1 Binary files /dev/null and b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/3bbe660f-637a-47a6-b0d3-bc15df5636fa.vsidx differ diff --git a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/6f27c02a-3fac-4d1d-a802-e4ad67f9fe75.vsidx b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/6f27c02a-3fac-4d1d-a802-e4ad67f9fe75.vsidx deleted file mode 100644 index a7d76f1..0000000 Binary files a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/6f27c02a-3fac-4d1d-a802-e4ad67f9fe75.vsidx and /dev/null differ diff --git a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/8f59b6f4-9440-48cf-b0d4-a65d1d6e65be.vsidx b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/8f59b6f4-9440-48cf-b0d4-a65d1d6e65be.vsidx new file mode 100644 index 0000000..a890758 Binary files /dev/null and b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/8f59b6f4-9440-48cf-b0d4-a65d1d6e65be.vsidx differ diff --git a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/b102bcf4-d060-43f9-aede-c72bb56af670.vsidx b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/b102bcf4-d060-43f9-aede-c72bb56af670.vsidx new file mode 100644 index 0000000..afb7ddb Binary files /dev/null and b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/b102bcf4-d060-43f9-aede-c72bb56af670.vsidx differ diff --git a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/beefb1a4-523c-4885-8846-8e71af5c506d.vsidx b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/beefb1a4-523c-4885-8846-8e71af5c506d.vsidx new file mode 100644 index 0000000..f908ac6 Binary files /dev/null and b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/beefb1a4-523c-4885-8846-8e71af5c506d.vsidx differ diff --git a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/c0c0b20e-7761-4c36-86c4-af2bd2e8ff8e.vsidx b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/c0c0b20e-7761-4c36-86c4-af2bd2e8ff8e.vsidx deleted file mode 100644 index abdc466..0000000 Binary files a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/c0c0b20e-7761-4c36-86c4-af2bd2e8ff8e.vsidx and /dev/null differ diff --git a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/c2b6a477-ffc0-4b96-9f41-5ef42afea515.vsidx b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/c2b6a477-ffc0-4b96-9f41-5ef42afea515.vsidx deleted file mode 100644 index 5220125..0000000 Binary files a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/c2b6a477-ffc0-4b96-9f41-5ef42afea515.vsidx and /dev/null differ diff --git a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/de98fe99-bc94-4cc5-a6a4-ee876d8c7fdf.vsidx b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/de98fe99-bc94-4cc5-a6a4-ee876d8c7fdf.vsidx new file mode 100644 index 0000000..a089cde Binary files /dev/null and b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/de98fe99-bc94-4cc5-a6a4-ee876d8c7fdf.vsidx differ diff --git a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/f002133d-1702-40f9-95f1-1ad85f64e814.vsidx b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/f002133d-1702-40f9-95f1-1ad85f64e814.vsidx deleted file mode 100644 index a220280..0000000 Binary files a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/f002133d-1702-40f9-95f1-1ad85f64e814.vsidx and /dev/null differ diff --git a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/fa56f31a-c306-4a29-a5a6-ed1b982fd6da.vsidx b/PVDEMCS/.vs/PVDEMCS/FileContentIndex/fa56f31a-c306-4a29-a5a6-ed1b982fd6da.vsidx deleted file mode 100644 index 9a6d64a..0000000 Binary files a/PVDEMCS/.vs/PVDEMCS/FileContentIndex/fa56f31a-c306-4a29-a5a6-ed1b982fd6da.vsidx and /dev/null differ diff --git a/PVDEMCS/.vs/PVDEMCS/v17/.futdcache.v2 b/PVDEMCS/.vs/PVDEMCS/v17/.futdcache.v2 index 3325ab1..75b9161 100644 Binary files a/PVDEMCS/.vs/PVDEMCS/v17/.futdcache.v2 and b/PVDEMCS/.vs/PVDEMCS/v17/.futdcache.v2 differ diff --git a/PVDEMCS/.vs/PVDEMCS/v17/.suo b/PVDEMCS/.vs/PVDEMCS/v17/.suo index 0d77d1f..028e477 100644 Binary files a/PVDEMCS/.vs/PVDEMCS/v17/.suo and b/PVDEMCS/.vs/PVDEMCS/v17/.suo differ diff --git a/PVDEMCS/.vs/ProjectEvaluation/pvdemcs.metadata.v7.bin b/PVDEMCS/.vs/ProjectEvaluation/pvdemcs.metadata.v7.bin index aa9a4ea..fae9957 100644 Binary files a/PVDEMCS/.vs/ProjectEvaluation/pvdemcs.metadata.v7.bin and b/PVDEMCS/.vs/ProjectEvaluation/pvdemcs.metadata.v7.bin differ diff --git a/PVDEMCS/.vs/ProjectEvaluation/pvdemcs.projects.v7.bin b/PVDEMCS/.vs/ProjectEvaluation/pvdemcs.projects.v7.bin index 316d226..d12101f 100644 Binary files a/PVDEMCS/.vs/ProjectEvaluation/pvdemcs.projects.v7.bin and b/PVDEMCS/.vs/ProjectEvaluation/pvdemcs.projects.v7.bin differ diff --git a/PVDEMCS/PVDEMCS/Common/Devices/IPLCCommunicationService.cs b/PVDEMCS/PVDEMCS/Common/Devices/IPLCCommunicationService.cs index 4171702..f888f8c 100644 --- a/PVDEMCS/PVDEMCS/Common/Devices/IPLCCommunicationService.cs +++ b/PVDEMCS/PVDEMCS/Common/Devices/IPLCCommunicationService.cs @@ -27,116 +27,116 @@ namespace PVDEMCS.Common.Devices /// /// /// - PLCResult Connection(string address, int port = 0); + Result Connection(string address, int port = 0); /// /// 关闭连接PLC(长连接) /// - PLCResult ColseConnection(); + Result ColseConnection(); /// /// 读取指定地址的byte[]值 /// /// /// - PLCResult ReadBytes(string address, ushort length); + Result ReadBytes(string address, ushort length); /// /// 读取指定地址的bool值 /// /// /// - PLCResult ReadBool(string address); + Result ReadBool(string address); /// /// 读取指定地址的byte值 /// /// /// - PLCResult ReadByte(string address); + Result ReadByte(string address); /// /// 读取指定地址的Int16值 /// /// /// - PLCResult ReadInt16(string address); + Result ReadInt16(string address); /// /// 读取指定地址的Int32值 /// /// /// - PLCResult ReadInt32(string address); + Result ReadInt32(string address); /// /// 读取指定地址的long值 /// /// /// - PLCResult ReadLong(string address); + Result ReadLong(string address); /// /// 读取指定地址的Float值 /// /// - PLCResult ReadFloat(string address); + Result ReadFloat(string address); /// /// 读取指定地址的double值 /// /// - PLCResult ReadDouble(string address); + Result ReadDouble(string address); /// /// 写入bool值 /// /// 写入地址 /// - PLCResult Write(string address, bool value); + Result Write(string address, bool value); /// /// 写入byte值 /// /// 写入地址 /// - PLCResult Write(string address, byte value); + Result Write(string address, byte value); /// /// 写入Int16值 /// /// 写入地址 /// - PLCResult Write(string address, Int16 value); + Result Write(string address, Int16 value); /// /// 写入Int32值 /// /// 写入地址 /// - PLCResult Write(string address, Int32 value); + Result Write(string address, Int32 value); /// /// 写入float值 /// /// 写入地址 /// - PLCResult Write(string address, float value); + Result Write(string address, float value); /// /// 写入double值 /// /// 写入地址 /// - PLCResult Write(string address, double value); + Result Write(string address, double value); /// /// 写入long值 /// /// 写入地址 /// - PLCResult Write(string address, long value); + Result Write(string address, long value); #endregion @@ -146,115 +146,115 @@ namespace PVDEMCS.Common.Devices /// /// /// - Task ConnectionAsync(string address, int port = 0); + Task ConnectionAsync(string address, int port = 0); /// /// 关闭连接PLC(长连接) /// - Task ColseConnectionAsyn(); + Task ColseConnectionAsyn(); /// /// 读取指定地址的byte[]值 /// /// /// - Task> ReadBytesAsync(string address, ushort length); + Task> ReadBytesAsync(string address, ushort length); /// /// 读取指定地址的bool值 /// /// /// - Task> ReadBoolAsync(string address); + Task> ReadBoolAsync(string address); /// /// 读取指定地址的byte值 /// /// /// - Task> ReadByteAsync(string address); + Task> ReadByteAsync(string address); /// /// 读取指定地址的Int16值 /// /// /// - Task> ReadInt16Async(string address); + Task> ReadInt16Async(string address); /// /// 读取指定地址的Int32值 /// /// /// - Task> ReadInt32Async(string address); + Task> ReadInt32Async(string address); /// /// 读取指定地址的long值 /// /// /// - Task> ReadLongAsync(string address); + Task> ReadLongAsync(string address); /// /// 读取指定地址的Float值 /// /// - Task> ReadFloatAsync(string address); + Task> ReadFloatAsync(string address); /// /// 读取指定地址的double值 /// /// - Task> ReadDoubleAsync(string address); + Task> ReadDoubleAsync(string address); /// /// 写入bool值 /// /// 写入地址 /// - Task WriteAsync(string address, bool value); + Task WriteAsync(string address, bool value); /// /// 写入byte值 /// /// 写入地址 /// - Task WriteAsync(string address, byte value); + Task WriteAsync(string address, byte value); /// /// 写入Int16值 /// /// 写入地址 /// - Task WriteAsync(string address, Int16 value); + Task WriteAsync(string address, Int16 value); /// /// 写入Int32值 /// /// 写入地址 /// - Task WriteAsync(string address, Int32 value); + Task WriteAsync(string address, Int32 value); /// /// 写入float值 /// /// 写入地址 /// - Task WriteAsync(string address, float value); + Task WriteAsync(string address, float value); /// /// 写入double值 /// /// 写入地址 /// - Task WriteAsync(string address, double value); + Task WriteAsync(string address, double value); /// /// 写入long值 /// /// 写入地址 /// - Task WriteAsync(string address, long value); + Task WriteAsync(string address, long value); #endregion } diff --git a/PVDEMCS/PVDEMCS/Common/Devices/Impl/S7CommunicationService.cs b/PVDEMCS/PVDEMCS/Common/Devices/Impl/S7CommunicationService.cs index 05525be..840aecb 100644 --- a/PVDEMCS/PVDEMCS/Common/Devices/Impl/S7CommunicationService.cs +++ b/PVDEMCS/PVDEMCS/Common/Devices/Impl/S7CommunicationService.cs @@ -12,7 +12,6 @@ using HslCommunication.Core; using HslCommunication; using HslCommunication.Profinet.Siemens; using HslCommunication.Reflection; -using PVDEMCS.Common.Devices; using PVDEMCS.Common.Tools; namespace PVDEMCS.Common.Devices.Impl @@ -62,7 +61,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public PLCResult Connection(string address, int port = 0) + public Result Connection(string address, int port = 0) { siemensS7Net.IpAddress = address; if (port > 0) @@ -81,7 +80,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 关闭连接PLC(长连接) /// - public PLCResult ColseConnection() + public Result ColseConnection() { var operateResult = siemensS7Net.ConnectClose(); var result = ConvertResult(operateResult); @@ -96,7 +95,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public PLCResult ReadBytes(string address, ushort length) + public Result ReadBytes(string address, ushort length) { var operateResult = siemensS7Net.Read(address, length); var result = ConvertResult(operateResult); @@ -107,7 +106,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public PLCResult ReadBool(string address) + public Result ReadBool(string address) { var operateResult = siemensS7Net.ReadBool(address); var result = ConvertResult(operateResult); @@ -119,7 +118,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public PLCResult ReadByte(string address) + public Result ReadByte(string address) { var operateResult = siemensS7Net.ReadByte(address); var result = ConvertResult(operateResult); @@ -131,7 +130,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public PLCResult ReadInt16(string address) + public Result ReadInt16(string address) { var operateResult = siemensS7Net.ReadInt16(address); var result = ConvertResult(operateResult); @@ -143,7 +142,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public PLCResult ReadInt32(string address) + public Result ReadInt32(string address) { var operateResult = siemensS7Net.ReadInt32(address); var result = ConvertResult(operateResult); @@ -155,7 +154,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public PLCResult ReadLong(string address) + public Result ReadLong(string address) { var operateResult = siemensS7Net.ReadInt64(address); var result = ConvertResult(operateResult); @@ -166,7 +165,7 @@ namespace PVDEMCS.Common.Devices.Impl /// 读取指定地址的Float值 /// /// - public PLCResult ReadFloat(string address) + public Result ReadFloat(string address) { var operateResult = siemensS7Net.ReadFloat(address); var result = ConvertResult(operateResult); @@ -177,7 +176,7 @@ namespace PVDEMCS.Common.Devices.Impl /// 读取指定地址的double值 /// /// - public PLCResult ReadDouble(string address) + public Result ReadDouble(string address) { var operateResult = siemensS7Net.ReadDouble(address); var result = ConvertResult(operateResult); @@ -189,7 +188,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public PLCResult Write(string address, bool value) + public Result Write(string address, bool value) { var operateResult = siemensS7Net.Write(address, value); var result = ConvertResult(operateResult); @@ -201,7 +200,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public PLCResult Write(string address, byte value) + public Result Write(string address, byte value) { var operateResult = siemensS7Net.Write(address, value); var result = ConvertResult(operateResult); @@ -214,7 +213,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public PLCResult Write(string address, Int16 value) + public Result Write(string address, Int16 value) { var operateResult = siemensS7Net.Write(address, value); var result = ConvertResult(operateResult); @@ -226,7 +225,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public PLCResult Write(string address, Int32 value) + public Result Write(string address, Int32 value) { var operateResult = siemensS7Net.Write(address, value); var result = ConvertResult(operateResult); @@ -238,7 +237,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public PLCResult Write(string address, float value) + public Result Write(string address, float value) { var operateResult = siemensS7Net.Write(address, value); var result = ConvertResult(operateResult); @@ -250,7 +249,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public PLCResult Write(string address, double value) + public Result Write(string address, double value) { var operateResult = siemensS7Net.Write(address, value); var result = ConvertResult(operateResult); @@ -262,7 +261,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public PLCResult Write(string address, long value) + public Result Write(string address, long value) { var operateResult = siemensS7Net.Write(address, value); var result = ConvertResult(operateResult); @@ -277,7 +276,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public async Task ConnectionAsync(string address, int port = 0) + public async Task ConnectionAsync(string address, int port = 0) { siemensS7Net.IpAddress = address; if (port > 0) @@ -296,7 +295,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 关闭连接PLC(长连接) /// - public async Task ColseConnectionAsyn() + public async Task ColseConnectionAsyn() { var operateResult = await siemensS7Net.ConnectCloseAsync(); var result = ConvertResult(operateResult); @@ -311,7 +310,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public async Task> ReadBytesAsync(string address, ushort length) + public async Task> ReadBytesAsync(string address, ushort length) { var operateResult = await siemensS7Net.ReadAsync(address, length); var result = ConvertResult(operateResult); @@ -322,7 +321,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public async Task> ReadBoolAsync(string address) + public async Task> ReadBoolAsync(string address) { var operateResult = await siemensS7Net.ReadBoolAsync(address); var result = ConvertResult(operateResult); @@ -334,7 +333,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public async Task> ReadByteAsync(string address) + public async Task> ReadByteAsync(string address) { var operateResult = await siemensS7Net.ReadByteAsync(address); var result = ConvertResult(operateResult); @@ -346,7 +345,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public async Task> ReadInt16Async(string address) + public async Task> ReadInt16Async(string address) { var operateResult = await siemensS7Net.ReadInt16Async(address); var result = ConvertResult(operateResult); @@ -358,7 +357,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public async Task> ReadInt32Async(string address) + public async Task> ReadInt32Async(string address) { var operateResult = await siemensS7Net.ReadInt32Async(address); var result = ConvertResult(operateResult); @@ -370,7 +369,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// /// - public async Task> ReadLongAsync(string address) + public async Task> ReadLongAsync(string address) { var operateResult = await siemensS7Net.ReadInt64Async(address); var result = ConvertResult(operateResult); @@ -381,7 +380,7 @@ namespace PVDEMCS.Common.Devices.Impl /// 读取指定地址的Float值 /// /// - public async Task> ReadFloatAsync(string address) + public async Task> ReadFloatAsync(string address) { var operateResult = await siemensS7Net.ReadFloatAsync(address); var result = ConvertResult(operateResult); @@ -392,7 +391,7 @@ namespace PVDEMCS.Common.Devices.Impl /// 读取指定地址的double值 /// /// - public async Task> ReadDoubleAsync(string address) + public async Task> ReadDoubleAsync(string address) { var operateResult = await siemensS7Net.ReadDoubleAsync(address); var result = ConvertResult(operateResult); @@ -404,7 +403,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public async Task WriteAsync(string address, bool value) + public async Task WriteAsync(string address, bool value) { var operateResult = await siemensS7Net.WriteAsync(address, value); var result = ConvertResult(operateResult); @@ -416,7 +415,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public async Task WriteAsync(string address, byte value) + public async Task WriteAsync(string address, byte value) { var operateResult = await siemensS7Net.WriteAsync(address, value); @@ -429,7 +428,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public async Task WriteAsync(string address, Int16 value) + public async Task WriteAsync(string address, Int16 value) { var operateResult = await siemensS7Net.WriteAsync(address, value); var result = ConvertResult(operateResult); @@ -441,7 +440,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public async Task WriteAsync(string address, Int32 value) + public async Task WriteAsync(string address, Int32 value) { var operateResult = await siemensS7Net.WriteAsync(address, value); var result = ConvertResult(operateResult); @@ -453,7 +452,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public async Task WriteAsync(string address, float value) + public async Task WriteAsync(string address, float value) { var operateResult = await siemensS7Net.WriteAsync(address, value); var result = ConvertResult(operateResult); @@ -465,7 +464,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public async Task WriteAsync(string address, double value) + public async Task WriteAsync(string address, double value) { var operateResult = await siemensS7Net.WriteAsync(address, value); var result = ConvertResult(operateResult); @@ -477,7 +476,7 @@ namespace PVDEMCS.Common.Devices.Impl /// /// 写入地址 /// - public async Task WriteAsync(string address, long value) + public async Task WriteAsync(string address, long value) { var operateResult = await siemensS7Net.WriteAsync(address, value); var result = ConvertResult(operateResult); @@ -493,9 +492,9 @@ namespace PVDEMCS.Common.Devices.Impl /// /// - private PLCResult ConvertResult(OperateResult result) + private Result ConvertResult(OperateResult result) { - var retResult = ModelTools.PubClone.Trans(result); + var retResult = ModelTools.PubClone.Trans(result); return retResult; } @@ -505,9 +504,9 @@ namespace PVDEMCS.Common.Devices.Impl /// /// - private PLCResult ConvertResult(OperateResult result) + private Result ConvertResult(OperateResult result) { - var retResult = ModelTools.PubClone, PLCResult>.Trans(result); + var retResult = ModelTools.PubClone, Result>.Trans(result); retResult.Content = result.Content; return retResult; } diff --git a/PVDEMCS/PVDEMCS/Common/Devices/PLCResult.cs b/PVDEMCS/PVDEMCS/Common/Result.cs similarity index 72% rename from PVDEMCS/PVDEMCS/Common/Devices/PLCResult.cs rename to PVDEMCS/PVDEMCS/Common/Result.cs index 8f32596..ad001c6 100644 --- a/PVDEMCS/PVDEMCS/Common/Devices/PLCResult.cs +++ b/PVDEMCS/PVDEMCS/Common/Result.cs @@ -5,29 +5,29 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace PVDEMCS.Common.Devices +namespace PVDEMCS.Common { - public class PLCResult + public class Result { // // 摘要: // 指示本次操作是否成功。 // Indicates whether this operation was successful. - public bool IsSuccess { get; set; } + public bool IsSuccess { get; set; } = true; // // 摘要: // 具体的错误描述。 // Specific error description. - public string Message { get; set; } + public string Message { get; set; } - public int ErrorCode { get; set; } + public int ErrorCode { get; set; } // // 摘要: // 实例化一个默认的结果对象 - public PLCResult() + public Result() { } @@ -38,8 +38,9 @@ namespace PVDEMCS.Common.Devices // 参数: // msg: // 错误消息 - public PLCResult(string msg) + public Result(string msg) { + IsSuccess = false; Message = msg; } @@ -53,23 +54,24 @@ namespace PVDEMCS.Common.Devices // // msg: // 错误消息 - public PLCResult(int err, string msg) + public Result(int err, string msg) { + IsSuccess = false; ErrorCode = err; Message = msg; } } - public class PLCResult : PLCResult + public class Result : Result { public T Content { get; set; } - public PLCResult() + public Result() { - + } - public PLCResult(T content) + public Result(T content) { Content = content; } diff --git a/PVDEMCS/PVDEMCS/Common/Tools/ModelTools.cs b/PVDEMCS/PVDEMCS/Common/Tools/ModelTools.cs index 31c2c30..9a9a0b0 100644 --- a/PVDEMCS/PVDEMCS/Common/Tools/ModelTools.cs +++ b/PVDEMCS/PVDEMCS/Common/Tools/ModelTools.cs @@ -1,4 +1,5 @@ -using System; +using AngleSharp.Dom; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; @@ -65,5 +66,31 @@ namespace PVDEMCS.Common.Tools return result; } } + + public static void SetUpdateModel(TEntity entity) + { + foreach (var item in typeof(TEntity).GetProperties()) + { + if (!item.CanWrite) + { + continue; + } + + var _Property = typeof(TEntity).GetProperty(item.Name); + if (_Property == null) + { + continue; + } + if (item.PropertyType.FullName != _Property.PropertyType.FullName) + { + continue; + } + + if (item.Name == "") + { + + } + } + } } } diff --git a/PVDEMCS/PVDEMCS/Controllers/WeatherForecastController.cs b/PVDEMCS/PVDEMCS/Controllers/WeatherForecastController.cs index 1b6c377..c241235 100644 --- a/PVDEMCS/PVDEMCS/Controllers/WeatherForecastController.cs +++ b/PVDEMCS/PVDEMCS/Controllers/WeatherForecastController.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Mvc; +using PVDEMCS.Services.Repositories.Entities; namespace PVDEMCS.Controllers { @@ -21,6 +22,10 @@ namespace PVDEMCS.Controllers [HttpGet(Name = "GetWeatherForecast")] public IEnumerable Get() { + using (var context = new EFContext()) + { + var list = context.DeviceInfos.ToList(); + } return Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateTime.Now.AddDays(index), diff --git a/PVDEMCS/PVDEMCS/PVDEMCS - Backup.csproj b/PVDEMCS/PVDEMCS/PVDEMCS - Backup.csproj new file mode 100644 index 0000000..f4ecc56 --- /dev/null +++ b/PVDEMCS/PVDEMCS/PVDEMCS - Backup.csproj @@ -0,0 +1,35 @@ + + + + net6.0 + enable + enable + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + ..\..\..\wisdomstation\guidescreen\GuideScreen\GuideScreen.Common\SDK\HslCommunication.dll + + + + + + + + + + + diff --git a/PVDEMCS/PVDEMCS/PVDEMCS.csproj b/PVDEMCS/PVDEMCS/PVDEMCS.csproj index b255d85..19c6802 100644 --- a/PVDEMCS/PVDEMCS/PVDEMCS.csproj +++ b/PVDEMCS/PVDEMCS/PVDEMCS.csproj @@ -11,6 +11,11 @@ + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + @@ -21,10 +26,7 @@ - - - diff --git a/PVDEMCS/PVDEMCS/Program.cs b/PVDEMCS/PVDEMCS/Program.cs index 9ac442b..0ec682e 100644 --- a/PVDEMCS/PVDEMCS/Program.cs +++ b/PVDEMCS/PVDEMCS/Program.cs @@ -1,4 +1,6 @@ +using Microsoft.EntityFrameworkCore; using PVDEMCS.Common.DI; +using System.Configuration; var builder = WebApplication.CreateBuilder(args); @@ -8,7 +10,14 @@ builder.Services.AddControllers(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); +//ע builder.AddAutofacExt(); +// +//builder.Services.AddDbContext(options => +//{ +// options.UseMySQL(builder.Configuration.GetConnectionString("MySqlConnection")); + +//}); var app = builder.Build(); // Configure the HTTP request pipeline. diff --git a/PVDEMCS/PVDEMCS/Services/Models/DeviceInfo.cs b/PVDEMCS/PVDEMCS/Services/Models/DeviceInfo.cs new file mode 100644 index 0000000..15596f3 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/DeviceInfo.cs @@ -0,0 +1,50 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using System; +using System.Collections.Generic; + +namespace PVDEMCS.Services.Models; + +/// +/// PLC控制器 +/// +public partial class DeviceInfo +{ + public string Id { get; set; } + + /// + /// 控制器编号 + /// + public string DeviceCode { get; set; } + + /// + /// 控制器名称 + /// + public string DeviceName { get; set; } + + /// + /// 控制器状态,1:启用,0:停用 + /// + public ulong Activated { get; set; } + + /// + /// 控制器协议:PLC,HTTP,Socket + /// + public string Protocol { get; set; } + + /// + /// 控制器主机地址 + /// + public string Host { get; set; } + + /// + /// 控制器主机端口 + /// + public string Port { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Models/DevicePoint.cs b/PVDEMCS/PVDEMCS/Services/Models/DevicePoint.cs new file mode 100644 index 0000000..5aa3cc1 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/DevicePoint.cs @@ -0,0 +1,50 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using System; +using System.Collections.Generic; + +namespace PVDEMCS.Services.Models; + +/// +/// PLC点位 +/// +public partial class DevicePoint +{ + public string Id { get; set; } + + /// + /// 控制器Id + /// + public string DeviceId { get; set; } + + /// + /// 点位编号 + /// + public string PointCode { get; set; } + + /// + /// 点位名称 + /// + public string PointName { get; set; } + + /// + /// S7 数据存储地址,直连 存储区地址 + /// + public string Address { get; set; } + + /// + /// 字段类型 + /// + public string Type { get; set; } + + /// + /// PLC 点位是否启用 (1 启用, 0 禁用) + /// + public ulong Activated { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Models/EquipmentInfo.cs b/PVDEMCS/PVDEMCS/Services/Models/EquipmentInfo.cs new file mode 100644 index 0000000..075daeb --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/EquipmentInfo.cs @@ -0,0 +1,40 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using System; +using System.Collections.Generic; + +namespace PVDEMCS.Services.Models; + +/// +/// 设备信息 +/// +public partial class EquipmentInfo +{ + public string Id { get; set; } + + /// + /// 设备编码 + /// + public string EquipmentCode { get; set; } + + /// + /// 设备名称 + /// + public string EquipmentName { get; set; } + + /// + /// 设备类型:Ionbond,Balzers,Cemecon + /// + public string EquipmentType { get; set; } + + /// + /// 设备状态,1:启用,0:停用 + /// + public ulong Activated { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecord.cs b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecord.cs new file mode 100644 index 0000000..c03c3a6 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecord.cs @@ -0,0 +1,35 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using System; +using System.Collections.Generic; + +namespace PVDEMCS.Services.Models; + +/// +/// 设备状态记录明显 +/// +public partial class EquipmentRecord +{ + public string Id { get; set; } + + /// + /// 设备类型:Ionbond,Balzers,Cemecon + /// + public string EquipmentId { get; set; } + + /// + /// 设备编码 + /// + public string StartTime { get; set; } + + /// + /// 设备名称 + /// + public string EndTime { get; set; } + + /// + /// 设备状态,1:运行,2:待机,3:报警 + /// + public int State { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordTotal.cs b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordTotal.cs new file mode 100644 index 0000000..7085009 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordTotal.cs @@ -0,0 +1,46 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using System; +using System.Collections.Generic; + +namespace PVDEMCS.Services.Models; + +/// +/// 设备状态记录日统计 +/// +/// +public partial class EquipmentRecordTotal +{ + public string Id { get; set; } + + /// + /// 设备Id + /// + public string EquipmentId { get; set; } + + /// + /// 开炉次数 + /// + public int FurnaceNum { get; set; } + + /// + /// 总运行时长 + /// + public decimal TotalRunningTime { get; set; } + + /// + /// 总报警时长 + /// + public decimal TotalAlarmTime { get; set; } + + /// + /// 总待机时长 + /// + public decimal TotalAwaitTime { get; set; } + + /// + /// 日期 + /// + public DateTime? TotalDay { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Models/SysConfig.cs b/PVDEMCS/PVDEMCS/Services/Models/SysConfig.cs new file mode 100644 index 0000000..a25daac --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/SysConfig.cs @@ -0,0 +1,77 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using System; +using System.Collections.Generic; + +namespace PVDEMCS.Services.Models; + +/// +/// 参数配置表 +/// +public partial class SysConfig +{ + /// + /// 参数主键 + /// + public int ConfigId { get; set; } + + /// + /// 参数名称 + /// + public string ConfigName { get; set; } + + /// + /// 参数键名 + /// + public string ConfigKey { get; set; } + + /// + /// 参数键值 + /// + public string ConfigValue { get; set; } + + /// + /// 系统内置(Y是 N否) + /// + public string ConfigType { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + /// + /// 创建者 + /// + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + public DateTime? CreateAt { get; set; } + + /// + /// 更新者 + /// + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + public DateTime? UpdateAt { get; set; } + + /// + /// 是否删除 + /// + public ulong IsDelete { get; set; } + + /// + /// 删除者 + /// + public string DeleteBy { get; set; } + + /// + /// 删除时间 + /// + public DateTime? DeleteAt { get; set; } +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Models/SysUser.cs b/PVDEMCS/PVDEMCS/Services/Models/SysUser.cs new file mode 100644 index 0000000..7c36f43 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/SysUser.cs @@ -0,0 +1,117 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using System; +using System.Collections.Generic; + +namespace PVDEMCS.Services.Models; + +/// +/// 用户信息表 +/// +public partial class SysUser +{ + /// + /// 用户ID + /// + public long UserId { get; set; } + + /// + /// 部门ID + /// + public long? DeptId { get; set; } + + /// + /// 用户账号 + /// + public string UserName { get; set; } + + /// + /// 用户昵称 + /// + public string NickName { get; set; } + + /// + /// 用户类型(00系统用户) + /// + public string UserType { get; set; } + + /// + /// 用户邮箱 + /// + public string Email { get; set; } + + /// + /// 手机号码 + /// + public string Phonenumber { get; set; } + + /// + /// 用户性别(0男 1女 2未知) + /// + public string Sex { get; set; } + + /// + /// 头像地址 + /// + public string Avatar { get; set; } + + /// + /// 密码 + /// + public string Password { get; set; } + + /// + /// 帐号状态(0正常 1停用) + /// + public string Status { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + /// + /// 最后登录IP + /// + public string LoginIp { get; set; } + + /// + /// 最后登录时间 + /// + public DateTime? LoginDate { get; set; } + + /// + /// 创建者 + /// + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + public DateTime? CreateAt { get; set; } + + /// + /// 更新者 + /// + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + public DateTime? UpdateAt { get; set; } + + /// + /// 是否删除 + /// + public ulong IsDelete { get; set; } + + /// + /// 删除者 + /// + public string DeleteBy { get; set; } + + /// + /// 删除时间 + /// + public DateTime? DeleteAt { get; set; } +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Entities/BaseEntity/CUDBaseEntity.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/BaseEntity/CUDBaseEntity.cs new file mode 100644 index 0000000..d7d7274 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/BaseEntity/CUDBaseEntity.cs @@ -0,0 +1,92 @@ +using Microsoft.EntityFrameworkCore; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using Masuit.Tools.Systems; + +namespace PVDEMCS.Services.Repositories.Entities.BaseEntity +{ + public abstract class BaseEntity + { + [Key] + [Column("id")] + [StringLength(64)] + public string Id { get; set; } + } + + public abstract class CUBaseEntity : BaseEntity + { + + /// + /// 创建者 + /// + [Column("create_by")] + [StringLength(32)] + [MySqlCollation("utf8mb4_bin")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [Column("create_at", TypeName = "datetime")] + public DateTime? CreateAt { get; set; } + + /// + /// 修改者 + /// + [Column("update_by")] + [StringLength(32)] + [MySqlCollation("utf8mb4_bin")] + public string UpdateBy { get; set; } + + /// + /// 修改时间 + /// + [Column("update_at", TypeName = "datetime")] + public DateTime? UpdateAt { get; set; } + + public void Update() + { + UpdateAt = DateTime.Now; + UpdateBy = "1"; + } + + public void Create() + { + Id = SnowFlakeNew.NewId; + CreateAt = DateTime.Now; + CreateBy = "1"; + Update(); + } + } + + public abstract class CUDBaseEntity: CUBaseEntity + { + + /// + /// 删除者 + /// + [Column("delete_by")] + [StringLength(32)] + [MySqlCollation("utf8mb4_bin")] + public string DeleteBy { get; set; } + + /// + /// 删除时间 + /// + [Column("delete_at", TypeName = "datetime")] + public DateTime? DeleteAt { get; set; } + + /// + /// 是否删除 + /// + [Column("is_delete", TypeName = "bit(1)")] + public bool IsDelete { get; set; } + + public void Delete() + { + DeleteAt = DateTime.Now; + DeleteBy = "1"; + IsDelete = true; + } + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Entities/DeviceInfoEntity.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/DeviceInfoEntity.cs new file mode 100644 index 0000000..ab8fbea --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/DeviceInfoEntity.cs @@ -0,0 +1,72 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using PVDEMCS.Services.Repositories.Entities.BaseEntity; + +namespace PVDEMCS.Services.Repositories.Entities; + +/// +/// PLC控制器 +/// +[Table("device_info")] +public partial class DeviceInfoEntity : CUDBaseEntity +{ + + /// + /// 控制器编号 + /// + [Required] + [Column("device_code")] + [StringLength(32)] + public string DeviceCode { get; set; } + + /// + /// 控制器名称 + /// + [Required] + [Column("device_name")] + [StringLength(32)] + public string DeviceName { get; set; } + + /// + /// 控制器状态,1:启用,0:停用 + /// + [Column("activated", TypeName = "bit(1)")] + public bool Activated { get; set; } + + /// + /// 控制器协议:PLC,HTTP,Socket + /// + [Required] + [Column("protocol")] + [StringLength(32)] + public string Protocol { get; set; } + + /// + /// 控制器主机地址 + /// + [Required] + [Column("host")] + [StringLength(32)] + public string Host { get; set; } + + /// + /// 控制器主机端口 + /// + [Required] + [Column("port")] + [StringLength(32)] + public string Port { get; set; } + + /// + /// 备注 + /// + [Column("remark")] + [StringLength(255)] + public string Remark { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Entities/DevicePointEntity.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/DevicePointEntity.cs new file mode 100644 index 0000000..cad4aad --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/DevicePointEntity.cs @@ -0,0 +1,72 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using PVDEMCS.Services.Repositories.Entities.BaseEntity; + +namespace PVDEMCS.Services.Repositories.Entities; + +/// +/// PLC点位 +/// +[Table("device_point")] +public partial class DevicePointEntity : CUDBaseEntity +{ + + /// + /// 控制器Id + /// + [Required] + [Column("device_id")] + [StringLength(64)] + public string DeviceId { get; set; } + + /// + /// 点位编号 + /// + [Required] + [Column("point_code")] + [StringLength(32)] + public string PointCode { get; set; } + + /// + /// 点位名称 + /// + [Required] + [Column("point_name")] + [StringLength(32)] + public string PointName { get; set; } + + /// + /// S7 数据存储地址,直连 存储区地址 + /// + [Required] + [Column("address")] + [StringLength(64)] + public string Address { get; set; } + + /// + /// 字段类型 + /// + [Required] + [Column("type")] + [StringLength(32)] + public string Type { get; set; } + + /// + /// PLC 点位是否启用 (1 启用, 0 禁用) + /// + [Column("activated", TypeName = "bit(1)")] + public ulong Activated { get; set; } + + /// + /// 备注 + /// + [Column("remark")] + [StringLength(255)] + public string Remark { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EFContext.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EFContext.cs new file mode 100644 index 0000000..0e99015 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EFContext.cs @@ -0,0 +1,252 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Configuration; +using PVDEMCS.Services.Models; + +namespace PVDEMCS.Services.Repositories.Entities; + +public partial class EFContext : DbContext +{ + private IConfiguration configuration; + + public EFContext() + { + configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json").Build(); + } + + public EFContext(DbContextOptions options) + : base(options) + { + } + + public virtual DbSet DeviceInfos { get; set; } + + public virtual DbSet DevicePoints { get; set; } + + public virtual DbSet EquipmentInfos { get; set; } + + public virtual DbSet EquipmentRecords { get; set; } + + public virtual DbSet EquipmentRecordTotals { get; set; } + + public virtual DbSet SysConfigs { get; set; } + + public virtual DbSet SysUsers { get; set; } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) +#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263. + => optionsBuilder.UseMySql(configuration.GetConnectionString("MySqlConnection"), Microsoft.EntityFrameworkCore.ServerVersion.Parse("8.0.34-mysql")); + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder + .UseCollation("utf8mb4_0900_ai_ci") + .HasCharSet("utf8mb4"); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PRIMARY"); + + entity.ToTable("device_info", tb => tb.HasComment("PLC控制器")); + + entity.Property(e => e.Activated) + .HasDefaultValueSql("b'1'") + .HasComment("控制器状态,1:启用,0:停用"); + entity.Property(e => e.CreateAt).HasComment("创建时间"); + entity.Property(e => e.CreateBy).HasComment("创建者"); + entity.Property(e => e.DeleteAt).HasComment("删除时间"); + entity.Property(e => e.DeleteBy).HasComment("删除者"); + entity.Property(e => e.DeviceCode).HasComment("控制器编号"); + entity.Property(e => e.DeviceName).HasComment("控制器名称"); + entity.Property(e => e.Host).HasComment("控制器主机地址"); + entity.Property(e => e.IsDelete) + .HasDefaultValueSql("b'0'") + .HasComment("是否删除"); + entity.Property(e => e.Port).HasComment("控制器主机端口"); + entity.Property(e => e.Protocol).HasComment("控制器协议:PLC,HTTP,Socket"); + entity.Property(e => e.Remark).HasComment("备注"); + entity.Property(e => e.UpdateAt).HasComment("修改时间"); + entity.Property(e => e.UpdateBy).HasComment("修改者"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PRIMARY"); + + entity.ToTable("device_point", tb => tb.HasComment("PLC点位")); + + entity.Property(e => e.Activated) + .HasDefaultValueSql("b'1'") + .HasComment("PLC 点位是否启用 (1 启用, 0 禁用)"); + entity.Property(e => e.Address).HasComment("S7 数据存储地址,直连 存储区地址"); + entity.Property(e => e.CreateAt).HasComment("创建时间"); + entity.Property(e => e.CreateBy).HasComment("创建者"); + entity.Property(e => e.DeleteAt).HasComment("删除时间"); + entity.Property(e => e.DeleteBy).HasComment("删除者"); + entity.Property(e => e.DeviceId).HasComment("控制器Id"); + entity.Property(e => e.IsDelete) + .HasDefaultValueSql("b'0'") + .HasComment("是否删除"); + entity.Property(e => e.PointCode).HasComment("点位编号"); + entity.Property(e => e.PointName).HasComment("点位名称"); + entity.Property(e => e.Remark).HasComment("备注"); + entity.Property(e => e.Type).HasComment("字段类型"); + entity.Property(e => e.UpdateAt).HasComment("修改时间"); + entity.Property(e => e.UpdateBy).HasComment("修改者"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PRIMARY"); + + entity.ToTable("equipment_info", tb => tb.HasComment("设备信息")); + + entity.Property(e => e.Activated) + .HasDefaultValueSql("b'1'") + .HasComment("设备状态,1:启用,0:停用"); + entity.Property(e => e.CreateAt).HasComment("创建时间"); + entity.Property(e => e.CreateBy).HasComment("创建者"); + entity.Property(e => e.DeleteAt).HasComment("删除时间"); + entity.Property(e => e.DeleteBy).HasComment("删除者"); + entity.Property(e => e.EquipmentCode).HasComment("设备编码"); + entity.Property(e => e.EquipmentName).HasComment("设备名称"); + entity.Property(e => e.EquipmentType).HasComment("设备类型:Ionbond,Balzers,Cemecon"); + entity.Property(e => e.IsDelete) + .HasDefaultValueSql("b'0'") + .HasComment("是否删除"); + entity.Property(e => e.Remark).HasComment("备注"); + entity.Property(e => e.UpdateAt).HasComment("修改时间"); + entity.Property(e => e.UpdateBy).HasComment("修改者"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PRIMARY"); + + entity.ToTable("equipment_record", tb => tb.HasComment("设备状态记录明显")); + + entity.Property(e => e.CreateAt).HasComment("创建时间"); + entity.Property(e => e.CreateBy).HasComment("创建者"); + entity.Property(e => e.EndTime).HasComment("设备名称"); + entity.Property(e => e.EquipmentId).HasComment("设备类型:Ionbond,Balzers,Cemecon"); + entity.Property(e => e.StartTime).HasComment("设备编码"); + entity.Property(e => e.State).HasComment("设备状态,1:运行,2:待机,3:报警"); + entity.Property(e => e.UpdateAt).HasComment("修改时间"); + entity.Property(e => e.UpdateBy).HasComment("修改者"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PRIMARY"); + + entity.ToTable("equipment_record_total", tb => tb.HasComment("设备状态记录日统计\r\n")); + + entity.Property(e => e.CreateAt).HasComment("创建时间"); + entity.Property(e => e.CreateBy).HasComment("创建者"); + entity.Property(e => e.EquipmentId).HasComment("设备Id"); + entity.Property(e => e.FurnaceNum).HasComment("开炉次数"); + entity.Property(e => e.TotalAlarmTime).HasComment("总报警时长"); + entity.Property(e => e.TotalAwaitTime).HasComment("总待机时长"); + entity.Property(e => e.TotalDay).HasComment("日期"); + entity.Property(e => e.TotalRunningTime).HasComment("总运行时长"); + entity.Property(e => e.UpdateAt).HasComment("修改时间"); + entity.Property(e => e.UpdateBy).HasComment("修改者"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.ConfigId).HasName("PRIMARY"); + + entity.ToTable("sys_config", tb => tb.HasComment("参数配置表")); + + entity.Property(e => e.ConfigId).HasComment("参数主键"); + entity.Property(e => e.ConfigKey) + .HasDefaultValueSql("''") + .HasComment("参数键名"); + entity.Property(e => e.ConfigName) + .HasDefaultValueSql("''") + .HasComment("参数名称"); + entity.Property(e => e.ConfigType) + .HasDefaultValueSql("'N'") + .IsFixedLength() + .HasComment("系统内置(Y是 N否)"); + entity.Property(e => e.ConfigValue) + .HasDefaultValueSql("''") + .HasComment("参数键值"); + entity.Property(e => e.CreateAt).HasComment("创建时间"); + entity.Property(e => e.CreateBy) + .HasDefaultValueSql("''") + .HasComment("创建者"); + entity.Property(e => e.DeleteAt).HasComment("删除时间"); + entity.Property(e => e.DeleteBy).HasComment("删除者"); + entity.Property(e => e.IsDelete) + .HasDefaultValueSql("b'0'") + .HasComment("是否删除"); + entity.Property(e => e.Remark).HasComment("备注"); + entity.Property(e => e.UpdateAt).HasComment("更新时间"); + entity.Property(e => e.UpdateBy) + .HasDefaultValueSql("''") + .HasComment("更新者"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.UserId).HasName("PRIMARY"); + + entity.ToTable("sys_user", tb => tb.HasComment("用户信息表")); + + entity.Property(e => e.UserId).HasComment("用户ID"); + entity.Property(e => e.Avatar) + .HasDefaultValueSql("''") + .HasComment("头像地址"); + entity.Property(e => e.CreateAt).HasComment("创建时间"); + entity.Property(e => e.CreateBy) + .HasDefaultValueSql("''") + .HasComment("创建者"); + entity.Property(e => e.DeleteAt).HasComment("删除时间"); + entity.Property(e => e.DeleteBy).HasComment("删除者"); + entity.Property(e => e.DeptId).HasComment("部门ID"); + entity.Property(e => e.Email) + .HasDefaultValueSql("''") + .HasComment("用户邮箱"); + entity.Property(e => e.IsDelete) + .HasDefaultValueSql("b'0'") + .HasComment("是否删除"); + entity.Property(e => e.LoginDate).HasComment("最后登录时间"); + entity.Property(e => e.LoginIp) + .HasDefaultValueSql("''") + .HasComment("最后登录IP"); + entity.Property(e => e.NickName).HasComment("用户昵称"); + entity.Property(e => e.Password) + .HasDefaultValueSql("''") + .HasComment("密码"); + entity.Property(e => e.Phonenumber) + .HasDefaultValueSql("''") + .HasComment("手机号码"); + entity.Property(e => e.Remark).HasComment("备注"); + entity.Property(e => e.Sex) + .HasDefaultValueSql("'0'") + .IsFixedLength() + .HasComment("用户性别(0男 1女 2未知)"); + entity.Property(e => e.Status) + .HasDefaultValueSql("'0'") + .IsFixedLength() + .HasComment("帐号状态(0正常 1停用)"); + entity.Property(e => e.UpdateAt).HasComment("更新时间"); + entity.Property(e => e.UpdateBy) + .HasDefaultValueSql("''") + .HasComment("更新者"); + entity.Property(e => e.UserName).HasComment("用户账号"); + entity.Property(e => e.UserType) + .HasDefaultValueSql("'00'") + .HasComment("用户类型(00系统用户)"); + }); + + OnModelCreatingPartial(modelBuilder); + } + + partial void OnModelCreatingPartial(ModelBuilder modelBuilder); +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EquipmentInfoEntity.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EquipmentInfoEntity.cs new file mode 100644 index 0000000..f4bd64e --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EquipmentInfoEntity.cs @@ -0,0 +1,54 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using PVDEMCS.Services.Repositories.Entities.BaseEntity; + +namespace PVDEMCS.Services.Repositories.Entities; +/// +/// 设备信息 +/// +[Table("equipment_info")] +public partial class EquipmentInfoEntity : CUDBaseEntity +{ + /// + /// 设备编码 + /// + [Required] + [Column("equipment_code")] + [StringLength(32)] + public string EquipmentCode { get; set; } + + /// + /// 设备名称 + /// + [Required] + [Column("equipment_name")] + [StringLength(32)] + public string EquipmentName { get; set; } + + /// + /// 设备类型:Ionbond,Balzers,Cemecon + /// + [Required] + [Column("equipment_type")] + [StringLength(32)] + public string EquipmentType { get; set; } + + /// + /// 设备状态,1:启用,0:停用 + /// + [Column("activated", TypeName = "bit(1)")] + public ulong Activated { get; set; } + + /// + /// 备注 + /// + [Column("remark")] + [StringLength(255)] + public string Remark { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EquipmentRecordEntity.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EquipmentRecordEntity.cs new file mode 100644 index 0000000..255dcd9 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EquipmentRecordEntity.cs @@ -0,0 +1,50 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using PVDEMCS.Services.Repositories.Entities.BaseEntity; + +namespace PVDEMCS.Services.Repositories.Entities; + + +/// +/// 设备状态记录明显 +/// +[Table("equipment_record")] +public partial class EquipmentRecordEntity : CUBaseEntity +{ + + /// + /// 设备类型:Ionbond,Balzers,Cemecon + /// + [Required] + [Column("equipment_id")] + [StringLength(32)] + public string EquipmentId { get; set; } + + /// + /// 设备编码 + /// + [Required] + [Column("start_time")] + [StringLength(32)] + public string StartTime { get; set; } + + /// + /// 设备名称 + /// + [Required] + [Column("end_time")] + [StringLength(32)] + public string EndTime { get; set; } + + /// + /// 设备状态,1:运行,2:待机,3:报警 + /// + [Column("state")] + public int State { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EquipmentRecordTotalEntity.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EquipmentRecordTotalEntity.cs new file mode 100644 index 0000000..4fc7037 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/EquipmentRecordTotalEntity.cs @@ -0,0 +1,62 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using PVDEMCS.Services.Repositories.Entities.BaseEntity; + +namespace PVDEMCS.Services.Repositories.Entities; + + +/// +/// 设备状态记录日统计 +/// +/// +[Table("equipment_record_total")] +public partial class EquipmentRecordTotalEntity : CUBaseEntity +{ + + /// + /// 设备Id + /// + [Required] + [Column("equipment_id")] + [StringLength(32)] + public string EquipmentId { get; set; } + + /// + /// 开炉次数 + /// + [Column("furnace_num")] + public int FurnaceNum { get; set; } + + /// + /// 总运行时长 + /// + [Column("total_running_time")] + [Precision(32, 2)] + public decimal TotalRunningTime { get; set; } + + /// + /// 总报警时长 + /// + [Column("total_alarm_time")] + [Precision(32, 2)] + public decimal TotalAlarmTime { get; set; } + + /// + /// 总待机时长 + /// + [Column("total_await_time")] + [Precision(32, 2)] + public decimal TotalAwaitTime { get; set; } + + /// + /// 日期 + /// + [Column("total_day", TypeName = "datetime")] + public DateTime? TotalDay { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Entities/SysConfigEntity.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/SysConfigEntity.cs new file mode 100644 index 0000000..6b9dc00 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/SysConfigEntity.cs @@ -0,0 +1,55 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using PVDEMCS.Services.Repositories.Entities.BaseEntity; + +namespace PVDEMCS.Services.Repositories.Entities; + +/// +/// 参数配置表 +/// +[Table("sys_config")] +[MySqlCollation("utf8mb4_bin")] +public partial class SysConfigEntity:CUDBaseEntity +{ + + /// + /// 参数名称 + /// + [Column("config_name")] + [StringLength(100)] + public string ConfigName { get; set; } + + /// + /// 参数键名 + /// + [Column("config_key")] + [StringLength(100)] + public string ConfigKey { get; set; } + + /// + /// 参数键值 + /// + [Column("config_value")] + [StringLength(500)] + public string ConfigValue { get; set; } + + /// + /// 系统内置(Y是 N否) + /// + [Column("config_type")] + [StringLength(1)] + public string ConfigType { get; set; } + + /// + /// 备注 + /// + [Column("remark")] + [StringLength(500)] + public string Remark { get; set; } + +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Entities/SysUserEntity.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/SysUserEntity.cs new file mode 100644 index 0000000..e68016b --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Entities/SysUserEntity.cs @@ -0,0 +1,110 @@ +// This file has been auto generated by EF Core Power Tools. +#nullable disable +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using PVDEMCS.Services.Repositories.Entities.BaseEntity; + +namespace PVDEMCS.Services.Repositories.Entities; + +/// +/// 用户信息表 +/// +[Table("sys_user")] +[MySqlCollation("utf8mb4_bin")] +public partial class SysUserEntity : CUDBaseEntity +{ + + /// + /// 部门ID + /// + [Column("dept_id")] + public long? DeptId { get; set; } + + /// + /// 用户账号 + /// + [Required] + [Column("user_name")] + [StringLength(30)] + public string UserName { get; set; } + + /// + /// 用户昵称 + /// + [Required] + [Column("nick_name")] + [StringLength(30)] + public string NickName { get; set; } + + /// + /// 用户类型(00系统用户) + /// + [Column("user_type")] + [StringLength(2)] + public string UserType { get; set; } + + /// + /// 用户邮箱 + /// + [Column("email")] + [StringLength(50)] + public string Email { get; set; } + + /// + /// 手机号码 + /// + [Column("phonenumber")] + [StringLength(11)] + public string Phonenumber { get; set; } + + /// + /// 用户性别(0男 1女 2未知) + /// + [Column("sex")] + [StringLength(1)] + public string Sex { get; set; } + + /// + /// 头像地址 + /// + [Column("avatar")] + [StringLength(100)] + public string Avatar { get; set; } + + /// + /// 密码 + /// + [Column("password")] + [StringLength(100)] + public string Password { get; set; } + + /// + /// 帐号状态(0正常 1停用) + /// + [Column("status")] + [StringLength(1)] + public string Status { get; set; } + + /// + /// 备注 + /// + [Column("remark")] + [StringLength(500)] + public string Remark { get; set; } + + /// + /// 最后登录IP + /// + [Column("login_ip")] + [StringLength(128)] + public string LoginIp { get; set; } + + /// + /// 最后登录时间 + /// + [Column("login_date", TypeName = "datetime")] + public DateTime? LoginDate { get; set; } +} \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/IDeviceRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/IDeviceRepository.cs new file mode 100644 index 0000000..3fece05 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/IDeviceRepository.cs @@ -0,0 +1,114 @@ +using Masuit.Tools.Models; +using Masuit.Tools; +using PVDEMCS.Common; +using PVDEMCS.Common.DI; +using PVDEMCS.Services.Repositories.Entities; + +namespace PVDEMCS.Services.Repositories +{ + /* + * PLC控制器 数据层 接口 + */ + public interface IDeviceRepository: IDependency + { + #region PLC控制器 + + /// + /// 获取PLC控制器分页列表 + /// + /// 控制器编号 + /// 控制器名称 + /// 当前页 + /// 页大小 + /// + Result> GetDevicePageList(string deviceCode, string deviceName, bool? activated, int page, int size); + + /// + /// 获取PLC控制器列表 + /// + /// 控制器编号 + /// 控制器名称 + /// + Result> GetDeviceInfoList(string deviceCode, string deviceName, bool? activated = false); + + /// + /// 获取PLC控制器明细 + /// + /// 主键Id + /// + Result GetDeviceDetail(string id); + + /// + /// 添加PLC控制器 + /// + /// + /// + Result AddDevice(DeviceInfoEntity entity); + + /// + /// 更新PLC控制器 + /// + /// + + Result UpdateDevice(DeviceInfoEntity entity); + /// + /// 删除PLC控制器 + /// + /// + Result DeleteDevice(string id); + + #endregion + + #region PLC点位 + + /// + /// 获取PLC控制器点位分页列表 + /// + /// 控制器Id + /// 点位编号 + /// 点位列表 + /// 当前页 + /// 页大小 + /// + Result> GetDevicePointPageList(string deviceId, string pointCode, string pointName, int page, int size); + + /// + /// 获取PLC控制器点位分页列表 + /// + /// 控制器Id + /// 点位编号 + /// 点位列表 + /// + List GetDevicePointList(string deviceId, string pointCode, string pointName); + + /// + /// 获取PLC控制器点位明细 + /// + /// Id + /// + Result GetDevicePointDetail(string id); + + /// + /// 添加PLC控制器点位 + /// + /// + /// + Result AddDevicePoint(DevicePointEntity entity); + + /// + /// 更新PLC控制器点位 + /// + /// + /// + Result UpdateDevicePoint(DevicePointEntity entity); + + /// + /// 删除PLC控制器点位 + /// + /// + /// + Result DeleteDevicePoint(string id); + + #endregion + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs new file mode 100644 index 0000000..a818201 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs @@ -0,0 +1,13 @@ +using PVDEMCS.Common.DI; + +namespace PVDEMCS.Services.Repositories +{ + /* + * 设备信息记录 数据层 接口 + */ + public interface IEquipmentRecordRepository : IDependency + { + + } +} + diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRepository.cs new file mode 100644 index 0000000..369f503 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRepository.cs @@ -0,0 +1,12 @@ +using PVDEMCS.Common.DI; + +namespace PVDEMCS.Services.Repositories +{ + /* + * 设备管理 数据层 接口 + */ + public interface IEquipmentRepository : IDependency + { + + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/ISysConfigRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/ISysConfigRepository.cs new file mode 100644 index 0000000..5528501 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/ISysConfigRepository.cs @@ -0,0 +1,12 @@ +using PVDEMCS.Common.DI; + +namespace PVDEMCS.Services.Repositories +{ + /* + * 系统参数设置 数据层 接口 + */ + public interface ISysConfigRepository : IDependency + { + + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/ISysUserRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/ISysUserRepository.cs new file mode 100644 index 0000000..b3773f8 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/ISysUserRepository.cs @@ -0,0 +1,12 @@ +using PVDEMCS.Common.DI; + +namespace PVDEMCS.Services.Repositories +{ + /* + * 用户信息 数据层 接口 + */ + public interface ISysUserRepository: IDependency + { + + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/DeviceRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/DeviceRepository.cs new file mode 100644 index 0000000..772bf5a --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/DeviceRepository.cs @@ -0,0 +1,393 @@ +using AngleSharp.Dom; +using Masuit.Tools; +using Masuit.Tools.Models; +using Microsoft.AspNetCore.Mvc.RazorPages; +using PVDEMCS.Common; +using PVDEMCS.Common.DI; +using PVDEMCS.Services.Repositories.Entities; +using SharpCompress.Common; +using System; +using static Microsoft.EntityFrameworkCore.DbLoggerCategory; + +namespace PVDEMCS.Services.Repositories.Impl +{ + /* + * PLC控制器 数据层 实现 + */ + internal class DeviceRepository : IDeviceRepository + { + #region PLC控制器 + + /// + /// 获取PLC控制器分页列表 + /// + /// 控制器编号 + /// 控制器名称 + /// 当前页 + /// 页大小 + /// + public Result> GetDevicePageList(string deviceCode, string deviceName, bool? activated, int page, int size) + { + using (var context = new EFContext()) + { + var query = context.DeviceInfos.Where(f => !f.IsDelete); + + if (!deviceCode.IsNullOrEmpty()) + { + query = query.Where(f => f.DeviceCode.StartsWith(deviceCode)); + } + if (!deviceName.IsNullOrEmpty()) + { + query = query.Where(f => f.DeviceName.StartsWith(deviceName)); + } + if (activated.HasValue) + { + query = query.Where(f => f.Activated == activated.Value); + } + var result = query.OrderBy(f => f.CreateAt).ToPagedList(page, size); + + return new Result>(result); + } + } + + /// + /// 获取PLC控制器列表 + /// + /// 控制器编号 + /// 控制器名称 + /// + public Result> GetDeviceInfoList(string deviceCode, string deviceName, bool? activated = false) + { + using (var context = new EFContext()) + { + var query = context.DeviceInfos.Where(f => !f.IsDelete); + + if (!deviceCode.IsNullOrEmpty()) + { + query = query.Where(f => f.DeviceCode.StartsWith(deviceCode)); + } + if (!deviceName.IsNullOrEmpty()) + { + query = query.Where(f => f.DeviceName.StartsWith(deviceName)); + } + if (activated.HasValue) + { + query = query.Where(f => f.Activated == activated.Value); + } + var result = query.OrderBy(f => f.CreateAt).ToList(); + + return new Result>(result); + } + } + + /// + /// 获取PLC控制器明细 + /// + /// 主键Id + /// + public Result GetDeviceDetail(string id) + { + using (var context = new EFContext()) + { + var result = new Result(); + + var detail = context.DeviceInfos.Where(f => f.Id == id).FirstOrDefault(); + if (detail == null) + { + result.Message = $"没有找到Id:{id}的数据"; + return result; + } + result.Content= detail; + return result; + } + } + + /// + /// 添加PLC控制器 + /// + /// + /// + public Result AddDevice(DeviceInfoEntity entity) + { + using (var context = new EFContext()) + { + var result = new Result(); + + var query = context.DeviceInfos.Where(f => !f.IsDelete); + if (query.Where(f => f.DeviceName == entity.DeviceName).FirstOrDefault() != null) + { + result.Message = $"已存在名称为:{entity.DeviceName}的PLC控制器"; + return result; + } + if (query.Where(f => f.DeviceCode == entity.DeviceCode).FirstOrDefault() != null) + { + result.Message = $"已存在编号为:{entity.DeviceCode}的PLC控制器"; + return result; + } + + entity.Create(); + context.DeviceInfos.Add(entity); + context.SaveChanges(); + + return new Result(entity.Id); + } + } + + /// + /// 更新PLC控制器 + /// + /// + + public Result UpdateDevice(DeviceInfoEntity entity) + { + using (var context = new EFContext()) + { + var result = new Result(); + + var query = context.DeviceInfos.Where(f => !f.IsDelete); + var update = query.Where(f => f.Id == entity.Id).FirstOrDefault(); + if (update == null) + { + result.Message = $"没有找到Id:{entity.Id}的数据"; + return result; + } + if (query.Where(f => f.DeviceName == entity.DeviceName && f.Id != entity.Id).FirstOrDefault() != null) + { + result.Message = $"已存在名称为:{entity.DeviceName}的PLC控制器"; + return result; + } + if (query.Where(f => f.DeviceCode == entity.DeviceCode && f.Id != entity.Id).FirstOrDefault() != null) + { + result.Message = $"已存在编号为:{entity.DeviceCode}的PLC控制器"; + return result; + } + + update.DeviceCode = entity.DeviceCode; + update.DeviceName = entity.DeviceName; + update.Activated = entity.Activated; + update.Host = entity.Host; + update.Port = entity.Port; + update.Protocol = entity.Protocol; + update.Remark = entity.Remark; + entity.Update(); + context.SaveChanges(); + + return result; + } + } + /// + /// 删除PLC控制器 + /// + /// + public Result DeleteDevice(string id) + { + using (var context = new EFContext()) + { + var result = new Result(); + var entity = context.DeviceInfos.Where(f => f.Id == id).FirstOrDefault(); + if (entity == null) + { + result.Message = $"没有找到Id:{id}的数据"; + return result; + + } + + entity.Delete(); + context.SaveChanges(); + + return result; + } + } + + + #endregion + + #region PLC点位 + + /// + /// 获取PLC控制器点位分页列表 + /// + /// 控制器Id + /// 点位编号 + /// 点位列表 + /// 当前页 + /// 页大小 + /// + public Result> GetDevicePointPageList(string deviceId, string pointCode, string pointName, int page, int size) + { + using (var context = new EFContext()) + { + var query = context.DevicePoints.Where(f => !f.IsDelete); + if (!deviceId.IsNullOrEmpty()) + { + query = query.Where(f => f.DeviceId == deviceId); + } + if (!pointCode.IsNullOrEmpty()) + { + query = query.Where(f => f.PointCode.StartsWith(pointCode)); + } + if (!pointName.IsNullOrEmpty()) + { + query = query.Where(f => f.PointName.StartsWith(pointName)); + } + var pageList = query.OrderBy(f => f.CreateAt).ToPagedList(page, size); + return new Result>(pageList); + } + } + + + /// + /// 获取PLC控制器点位分页列表 + /// + /// 控制器Id + /// 点位编号 + /// 点位列表 + /// + public List GetDevicePointList(string deviceId, string pointCode, string pointName) + { + using (var context = new EFContext()) + { + var query = context.DevicePoints.Where(f => !f.IsDelete); + if (!deviceId.IsNullOrEmpty()) + { + query = query.Where(f => f.DeviceId == deviceId); + } + if (!pointCode.IsNullOrEmpty()) + { + query = query.Where(f => f.PointCode.StartsWith(pointCode)); + } + if (!pointName.IsNullOrEmpty()) + { + query = query.Where(f => f.PointName.StartsWith(pointName)); + } + var list = query.ToList(); + return list; + } + } + + /// + /// 获取PLC控制器点位明细 + /// + /// Id + /// + public Result GetDevicePointDetail(string id) + { + using (var context = new EFContext()) + { + var result = new Result(); + + var entity = context.DevicePoints.Where(f => f.Id == id).FirstOrDefault(); + if (entity == null) + { + result.Message = $"没有找到Id:{id}的数据"; + return result; + } + result.Content = entity; + + return result; + } + } + + /// + /// 添加PLC控制器点位 + /// + /// + /// + public Result AddDevicePoint(DevicePointEntity entity) + { + using (var context = new EFContext()) + { + var result = new Result(); + + var query = context.DevicePoints.Where(f => !f.IsDelete); + if (query.Where(f => f.PointName == entity.PointName).FirstOrDefault() != null) + { + result.Message = $"已存在名称为:{entity.PointName}的PLC控制器点位"; + return result; + } + if (query.Where(f => f.PointCode == entity.PointCode).FirstOrDefault() != null) + { + result.Message = $"已存在编号为:{entity.PointCode}的PLC控制器点位"; + return result; + } + + entity.Create(); + context.DevicePoints.Add(entity); + context.SaveChanges(); + result.Content = entity.Id; + + return result; + } + } + + /// + /// 更新PLC控制器点位 + /// + /// + /// + public Result UpdateDevicePoint(DevicePointEntity entity) + { + using (var context = new EFContext()) + { + var result = new Result(); + + var query = context.DevicePoints.Where(f => !f.IsDelete); + var update = query.Where(f => f.Id == entity.Id).FirstOrDefault(); + if (update == null) + { + result.Message = $"没有找到Id:{entity.Id}的数据"; + return result; + } + if (query.Where(f => f.PointName == entity.PointName && f.Id != entity.Id).FirstOrDefault() != null) + { + result.Message = $"已存在名称为:{entity.PointName}的PLC控制器点位"; + return result; + } + if (query.Where(f => f.PointCode == entity.PointCode && f.Id != entity.Id).FirstOrDefault() != null) + { + result.Message = $"已存在编号为:{entity.PointCode}的PLC控制器点位"; + return result; + } + + update.DeviceId = entity.DeviceId; + update.PointCode = entity.PointCode; + update.PointName = entity.PointName; + update.Activated = entity.Activated; + update.Address= entity.Address; + update.Type = entity.Type; + update.Remark= entity.Remark; + entity.Update(); + context.SaveChanges(); + + return result; + } + } + + /// + /// 删除PLC控制器点位 + /// + /// + /// + public Result DeleteDevicePoint(string id) + { + using (var context = new EFContext()) + { + var result = new Result(); + + var entity = context.DevicePoints.Where(f => f.Id == id).FirstOrDefault(); + if (entity == null) + { + result.Message = $"没有找到Id:{id}的数据"; + return result; + } + + entity.Delete(); + context.SaveChanges(); + + return result; + } + } + + #endregion + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs new file mode 100644 index 0000000..5c93544 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs @@ -0,0 +1,12 @@ +using PVDEMCS.Common.DI; + +namespace PVDEMCS.Services.Repositories.Impl +{ + /* + * 用户操作 数据层 实现 + */ + internal class EquipmentRecordRepository : IEquipmentRecordRepository + { + + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRepository.cs new file mode 100644 index 0000000..8861081 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRepository.cs @@ -0,0 +1,12 @@ +using PVDEMCS.Common.DI; + +namespace PVDEMCS.Services.Repositories +{ + /* + * 用户操作 数据层 实现 + */ + internal class EquipmentRepository : IEquipmentRepository + { + + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/SysConfigRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/SysConfigRepository.cs new file mode 100644 index 0000000..22ee170 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/SysConfigRepository.cs @@ -0,0 +1,12 @@ +using PVDEMCS.Common.DI; + +namespace PVDEMCS.Services.Repositories.Impl +{ + /* + * 系统参数设置 数据层 实现 + */ + internal class SysConfigRepository : ISysConfigRepository + { + + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/SysUserRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/SysUserRepository.cs new file mode 100644 index 0000000..f535810 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/SysUserRepository.cs @@ -0,0 +1,12 @@ +using PVDEMCS.Common.DI; + +namespace PVDEMCS.Services.Repositories +{ + /* + * 用户信息 数据层 实现 + */ + internal class SysUserRepository: ISysUserRepository + { + + } +} diff --git a/PVDEMCS/PVDEMCS/appsettings.json b/PVDEMCS/PVDEMCS/appsettings.json index 10f68b8..c6d8708 100644 --- a/PVDEMCS/PVDEMCS/appsettings.json +++ b/PVDEMCS/PVDEMCS/appsettings.json @@ -1,4 +1,7 @@ { + "ConnectionStrings": { + "MySqlConnection": "Server=127.0.0.1;Port=3306;Database=pvdemcs;Uid=root;Pwd=123456;" + }, "Logging": { "LogLevel": { "Default": "Information", diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Humanizer.dll b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Humanizer.dll new file mode 100644 index 0000000..c9a7ef8 Binary files /dev/null and b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Humanizer.dll differ diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Microsoft.EntityFrameworkCore.Design.dll b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Microsoft.EntityFrameworkCore.Design.dll new file mode 100644 index 0000000..313474d Binary files /dev/null and b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Microsoft.EntityFrameworkCore.Design.dll differ diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Microsoft.EntityFrameworkCore.Relational.dll b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Microsoft.EntityFrameworkCore.Relational.dll new file mode 100644 index 0000000..adb86b2 Binary files /dev/null and b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Microsoft.EntityFrameworkCore.Relational.dll differ diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Microsoft.Extensions.DependencyModel.dll b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Microsoft.Extensions.DependencyModel.dll new file mode 100644 index 0000000..072af1f Binary files /dev/null and b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Microsoft.Extensions.DependencyModel.dll differ diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Mono.TextTemplating.dll b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Mono.TextTemplating.dll new file mode 100644 index 0000000..d5a4b3c Binary files /dev/null and b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Mono.TextTemplating.dll differ diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/MySqlConnector.dll b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/MySqlConnector.dll new file mode 100644 index 0000000..3cbe116 Binary files /dev/null and b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/MySqlConnector.dll differ diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.deps.json b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.deps.json index dc23ffd..1df0112 100644 --- a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.deps.json +++ b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.deps.json @@ -12,6 +12,8 @@ "Autofac.Extensions.DependencyInjection": "8.0.0", "Masuit.Tools.Core": "2.6.7.3", "Microsoft.EntityFrameworkCore": "7.0.12", + "Microsoft.EntityFrameworkCore.Tools": "7.0.12", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", "Swashbuckle.AspNetCore": "6.5.0", "HslCommunication": "11.0.6.0" }, @@ -100,6 +102,14 @@ } } }, + "Humanizer.Core/2.14.1": { + "runtime": { + "lib/net6.0/Humanizer.dll": { + "assemblyVersion": "2.14.0.0", + "fileVersion": "2.14.1.48190" + } + } + }, "Masuit.Tools.Abstractions/2.6.7.3": { "dependencies": { "Castle.Core": "5.1.1", @@ -159,6 +169,37 @@ } }, "Microsoft.EntityFrameworkCore.Analyzers/7.0.12": {}, + "Microsoft.EntityFrameworkCore.Design/7.0.12": { + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.EntityFrameworkCore.Relational": "7.0.12", + "Microsoft.Extensions.DependencyModel": "7.0.0", + "Mono.TextTemplating": "2.2.1" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": { + "assemblyVersion": "7.0.12.0", + "fileVersion": "7.0.1223.47811" + } + } + }, + "Microsoft.EntityFrameworkCore.Relational/7.0.12": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "7.0.12", + "Microsoft.Extensions.Configuration.Abstractions": "7.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "7.0.12.0", + "fileVersion": "7.0.1223.47811" + } + } + }, + "Microsoft.EntityFrameworkCore.Tools/7.0.12": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Design": "7.0.12" + } + }, "Microsoft.Extensions.ApiDescription.Server/6.0.5": {}, "Microsoft.Extensions.Caching.Abstractions/7.0.0": { "dependencies": { @@ -258,6 +299,18 @@ } } }, + "Microsoft.Extensions.DependencyModel/7.0.0": { + "dependencies": { + "System.Text.Encodings.Web": "7.0.0", + "System.Text.Json": "7.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.22.51805" + } + } + }, "Microsoft.Extensions.FileProviders.Abstractions/7.0.0": { "dependencies": { "Microsoft.Extensions.Primitives": "7.0.0" @@ -366,6 +419,25 @@ } } }, + "Mono.TextTemplating/2.2.1": { + "dependencies": { + "System.CodeDom": "7.0.0" + }, + "runtime": { + "lib/netstandard2.0/Mono.TextTemplating.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.1.1" + } + } + }, + "MySqlConnector/2.2.5": { + "runtime": { + "lib/net6.0/MySqlConnector.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.2.5.0" + } + } + }, "Newtonsoft.Json/13.0.3": { "runtime": { "lib/net6.0/Newtonsoft.Json.dll": { @@ -374,6 +446,18 @@ } } }, + "Pomelo.EntityFrameworkCore.MySql/7.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "7.0.12", + "MySqlConnector": "2.2.5" + }, + "runtime": { + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.0.0" + } + } + }, "SharpCompress/0.34.1": { "dependencies": { "ZstdSharp.Port": "0.7.2" @@ -706,6 +790,13 @@ "path": "htmlsanitizer/8.0.723", "hashPath": "htmlsanitizer.8.0.723.nupkg.sha512" }, + "Humanizer.Core/2.14.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", + "path": "humanizer.core/2.14.1", + "hashPath": "humanizer.core.2.14.1.nupkg.sha512" + }, "Masuit.Tools.Abstractions/2.6.7.3": { "type": "package", "serviceable": true, @@ -748,6 +839,27 @@ "path": "microsoft.entityframeworkcore.analyzers/7.0.12", "hashPath": "microsoft.entityframeworkcore.analyzers.7.0.12.nupkg.sha512" }, + "Microsoft.EntityFrameworkCore.Design/7.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5UoOLj+qJGkEoL379wi1cSq1bBCCZQZRO5w/wE89ZakQT6qx8juAlJLg4fFwfrg0tYWP12iUAholwcuDM38s7g==", + "path": "microsoft.entityframeworkcore.design/7.0.12", + "hashPath": "microsoft.entityframeworkcore.design.7.0.12.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/7.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-apLzFyjM3s/voBiaMCJPwIOk5SxA1N6GmSbhqthfbUDn8mX+kxZl4RXNdaoBLzPKfUg4EoqCtt0YON/g9YXruQ==", + "path": "microsoft.entityframeworkcore.relational/7.0.12", + "hashPath": "microsoft.entityframeworkcore.relational.7.0.12.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Tools/7.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4ZW43BJzV5aY8rkrSxhej1xiiDr1dLfFl/MitpHn4a5QJpQqctJ0kl/MF1U3CAIKnkeC4RaC9ZjJjODDbHtdeQ==", + "path": "microsoft.entityframeworkcore.tools/7.0.12", + "hashPath": "microsoft.entityframeworkcore.tools.7.0.12.nupkg.sha512" + }, "Microsoft.Extensions.ApiDescription.Server/6.0.5": { "type": "package", "serviceable": true, @@ -811,6 +923,13 @@ "path": "microsoft.extensions.dependencyinjection.abstractions/7.0.0", "hashPath": "microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512" }, + "Microsoft.Extensions.DependencyModel/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oONNYd71J3LzkWc4fUHl3SvMfiQMYUCo/mDHDEu76hYYxdhdrPYv6fvGv9nnKVyhE9P0h20AU8RZB5OOWQcAXg==", + "path": "microsoft.extensions.dependencymodel/7.0.0", + "hashPath": "microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512" + }, "Microsoft.Extensions.FileProviders.Abstractions/7.0.0": { "type": "package", "serviceable": true, @@ -888,6 +1007,20 @@ "path": "microsoft.win32.systemevents/7.0.0", "hashPath": "microsoft.win32.systemevents.7.0.0.nupkg.sha512" }, + "Mono.TextTemplating/2.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "path": "mono.texttemplating/2.2.1", + "hashPath": "mono.texttemplating.2.2.1.nupkg.sha512" + }, + "MySqlConnector/2.2.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6sinY78RvryhHwpup3awdjYO7d5hhWahb5p/1VDODJhSxJggV/sBbYuKK5IQF9TuzXABiddqUbmRfM884tqA3Q==", + "path": "mysqlconnector/2.2.5", + "hashPath": "mysqlconnector.2.2.5.nupkg.sha512" + }, "Newtonsoft.Json/13.0.3": { "type": "package", "serviceable": true, @@ -895,6 +1028,13 @@ "path": "newtonsoft.json/13.0.3", "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" }, + "Pomelo.EntityFrameworkCore.MySql/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Qk5WB/skSZet5Yrz6AN2ywjZaB1pxfAmvQ+5I4khTkLwwIamI4QJoH2NphCWLFQL+2ar8HvsNCTmwYk0qhqL0w==", + "path": "pomelo.entityframeworkcore.mysql/7.0.0", + "hashPath": "pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512" + }, "SharpCompress/0.34.1": { "type": "package", "serviceable": true, diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.dll b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.dll index d10f69b..50fe81e 100644 Binary files a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.dll and b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.dll differ diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.pdb b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.pdb index fc3f8ac..3ac5c11 100644 Binary files a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.pdb and b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/PVDEMCS.pdb differ diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Pomelo.EntityFrameworkCore.MySql.dll b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Pomelo.EntityFrameworkCore.MySql.dll new file mode 100644 index 0000000..94e8968 Binary files /dev/null and b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/Pomelo.EntityFrameworkCore.MySql.dll differ diff --git a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/appsettings.json b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/appsettings.json index 10f68b8..c6d8708 100644 --- a/PVDEMCS/PVDEMCS/bin/Debug/net6.0/appsettings.json +++ b/PVDEMCS/PVDEMCS/bin/Debug/net6.0/appsettings.json @@ -1,4 +1,7 @@ { + "ConnectionStrings": { + "MySqlConnection": "Server=127.0.0.1;Port=3306;Database=pvdemcs;Uid=root;Pwd=123456;" + }, "Logging": { "LogLevel": { "Default": "Information", diff --git a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.assets.cache b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.assets.cache index cc5e322..f9e4337 100644 Binary files a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.assets.cache and b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.assets.cache differ diff --git a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.AssemblyReference.cache b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.AssemblyReference.cache index 09850f3..18042b8 100644 Binary files a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.AssemblyReference.cache and b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.AssemblyReference.cache differ diff --git a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.CoreCompileInputs.cache b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.CoreCompileInputs.cache index d7e01ed..607dac6 100644 --- a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.CoreCompileInputs.cache +++ b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -807f65fd541e025686a40f2bc21bd39c18ac4ab5 +cac9563343eeada6c9db9ada7736b4da688f6f98 diff --git a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.FileListAbsolute.txt b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.FileListAbsolute.txt index 98b392d..2c80038 100644 --- a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.FileListAbsolute.txt +++ b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.csproj.FileListAbsolute.txt @@ -83,3 +83,10 @@ D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\runtimes\win\lib\net6.0\Syste D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\HslCommunication.dll D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\HslCommunication.xml D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\Autofac.Extensions.DependencyInjection.dll +D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\Humanizer.dll +D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\Microsoft.EntityFrameworkCore.Design.dll +D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\Microsoft.EntityFrameworkCore.Relational.dll +D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\Microsoft.Extensions.DependencyModel.dll +D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\Mono.TextTemplating.dll +D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\MySqlConnector.dll +D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Debug\net6.0\Pomelo.EntityFrameworkCore.MySql.dll diff --git a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.dll b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.dll index d10f69b..50fe81e 100644 Binary files a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.dll and b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.dll differ diff --git a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.pdb b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.pdb index fc3f8ac..3ac5c11 100644 Binary files a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.pdb and b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/PVDEMCS.pdb differ diff --git a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/ref/PVDEMCS.dll b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/ref/PVDEMCS.dll index 5ed0cc8..552a9f1 100644 Binary files a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/ref/PVDEMCS.dll and b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/ref/PVDEMCS.dll differ diff --git a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/refint/PVDEMCS.dll b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/refint/PVDEMCS.dll index 5ed0cc8..552a9f1 100644 Binary files a/PVDEMCS/PVDEMCS/obj/Debug/net6.0/refint/PVDEMCS.dll and b/PVDEMCS/PVDEMCS/obj/Debug/net6.0/refint/PVDEMCS.dll differ diff --git a/PVDEMCS/PVDEMCS/obj/PVDEMCS.csproj.nuget.dgspec.json b/PVDEMCS/PVDEMCS/obj/PVDEMCS.csproj.nuget.dgspec.json index 413c0cc..ece1d9f 100644 --- a/PVDEMCS/PVDEMCS/obj/PVDEMCS.csproj.nuget.dgspec.json +++ b/PVDEMCS/PVDEMCS/obj/PVDEMCS.csproj.nuget.dgspec.json @@ -56,6 +56,16 @@ "target": "Package", "version": "[7.0.12, )" }, + "Microsoft.EntityFrameworkCore.Tools": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", + "suppressParent": "All", + "target": "Package", + "version": "[7.0.12, )" + }, + "Pomelo.EntityFrameworkCore.MySql": { + "target": "Package", + "version": "[7.0.0, )" + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[6.5.0, )" @@ -80,7 +90,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.401\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.403\\RuntimeIdentifierGraph.json" } } } diff --git a/PVDEMCS/PVDEMCS/obj/PVDEMCS.csproj.nuget.g.props b/PVDEMCS/PVDEMCS/obj/PVDEMCS.csproj.nuget.g.props index 769abd6..7577489 100644 --- a/PVDEMCS/PVDEMCS/obj/PVDEMCS.csproj.nuget.g.props +++ b/PVDEMCS/PVDEMCS/obj/PVDEMCS.csproj.nuget.g.props @@ -16,8 +16,10 @@ + C:\Users\xiaog\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5 + C:\Users\xiaog\.nuget\packages\microsoft.entityframeworkcore.tools\7.0.12 \ No newline at end of file diff --git a/PVDEMCS/PVDEMCS/obj/project.assets.json b/PVDEMCS/PVDEMCS/obj/project.assets.json index 10d02cc..617c903 100644 --- a/PVDEMCS/PVDEMCS/obj/project.assets.json +++ b/PVDEMCS/PVDEMCS/obj/project.assets.json @@ -118,6 +118,19 @@ } } }, + "Humanizer.Core/2.14.1": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Humanizer.dll": { + "related": ".xml" + } + } + }, "Masuit.Tools.Abstractions/2.6.7.3": { "type": "package", "dependencies": { @@ -216,6 +229,57 @@ "lib/netstandard2.0/_._": {} } }, + "Microsoft.EntityFrameworkCore.Design/7.0.12": { + "type": "package", + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.EntityFrameworkCore.Relational": "7.0.12", + "Microsoft.Extensions.DependencyModel": "7.0.0", + "Mono.TextTemplating": "2.2.1" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": { + "related": ".xml" + } + }, + "build": { + "build/net6.0/Microsoft.EntityFrameworkCore.Design.props": {} + } + }, + "Microsoft.EntityFrameworkCore.Relational/7.0.12": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "7.0.12", + "Microsoft.Extensions.Configuration.Abstractions": "7.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Tools/7.0.12": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Design": "7.0.12" + }, + "compile": { + "lib/net6.0/_._": {} + }, + "runtime": { + "lib/net6.0/_._": {} + } + }, "Microsoft.Extensions.ApiDescription.Server/6.0.5": { "type": "package", "build": { @@ -389,6 +453,26 @@ "buildTransitive/net6.0/_._": {} } }, + "Microsoft.Extensions.DependencyModel/7.0.0": { + "type": "package", + "dependencies": { + "System.Text.Encodings.Web": "7.0.0", + "System.Text.Json": "7.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyModel.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, "Microsoft.Extensions.FileProviders.Abstractions/7.0.0": { "type": "package", "dependencies": { @@ -589,6 +673,31 @@ } } }, + "Mono.TextTemplating/2.2.1": { + "type": "package", + "dependencies": { + "System.CodeDom": "4.4.0" + }, + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/Mono.TextTemplating.dll": {} + } + }, + "MySqlConnector/2.2.5": { + "type": "package", + "compile": { + "lib/net6.0/MySqlConnector.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/MySqlConnector.dll": { + "related": ".xml" + } + } + }, "Newtonsoft.Json/13.0.3": { "type": "package", "compile": { @@ -602,6 +711,23 @@ } } }, + "Pomelo.EntityFrameworkCore.MySql/7.0.0": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "7.0.2", + "MySqlConnector": "2.2.5" + }, + "compile": { + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": { + "related": ".xml" + } + } + }, "SharpCompress/0.34.1": { "type": "package", "dependencies": { @@ -1266,6 +1392,24 @@ "lib/netstandard2.0/HtmlSanitizer.xml" ] }, + "Humanizer.Core/2.14.1": { + "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", + "type": "package", + "path": "humanizer.core/2.14.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "humanizer.core.2.14.1.nupkg.sha512", + "humanizer.core.nuspec", + "lib/net6.0/Humanizer.dll", + "lib/net6.0/Humanizer.xml", + "lib/netstandard1.0/Humanizer.dll", + "lib/netstandard1.0/Humanizer.xml", + "lib/netstandard2.0/Humanizer.dll", + "lib/netstandard2.0/Humanizer.xml", + "logo.png" + ] + }, "Masuit.Tools.Abstractions/2.6.7.3": { "sha512": "XySzP6Nbl4tkbOAoR/KC9tKCnOYsrsgWQcHw5avlOKWrKrz7uk4n1VFZ7OkU/N57GDGE19jXR6cG1WaKlo5aHw==", "type": "package", @@ -1424,6 +1568,60 @@ "microsoft.entityframeworkcore.analyzers.nuspec" ] }, + "Microsoft.EntityFrameworkCore.Design/7.0.12": { + "sha512": "5UoOLj+qJGkEoL379wi1cSq1bBCCZQZRO5w/wE89ZakQT6qx8juAlJLg4fFwfrg0tYWP12iUAholwcuDM38s7g==", + "type": "package", + "path": "microsoft.entityframeworkcore.design/7.0.12", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "build/net6.0/Microsoft.EntityFrameworkCore.Design.props", + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.xml", + "microsoft.entityframeworkcore.design.7.0.12.nupkg.sha512", + "microsoft.entityframeworkcore.design.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Relational/7.0.12": { + "sha512": "apLzFyjM3s/voBiaMCJPwIOk5SxA1N6GmSbhqthfbUDn8mX+kxZl4RXNdaoBLzPKfUg4EoqCtt0YON/g9YXruQ==", + "type": "package", + "path": "microsoft.entityframeworkcore.relational/7.0.12", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.xml", + "microsoft.entityframeworkcore.relational.7.0.12.nupkg.sha512", + "microsoft.entityframeworkcore.relational.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Tools/7.0.12": { + "sha512": "4ZW43BJzV5aY8rkrSxhej1xiiDr1dLfFl/MitpHn4a5QJpQqctJ0kl/MF1U3CAIKnkeC4RaC9ZjJjODDbHtdeQ==", + "type": "package", + "path": "microsoft.entityframeworkcore.tools/7.0.12", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/_._", + "microsoft.entityframeworkcore.tools.7.0.12.nupkg.sha512", + "microsoft.entityframeworkcore.tools.nuspec", + "tools/EntityFrameworkCore.PS2.psd1", + "tools/EntityFrameworkCore.PS2.psm1", + "tools/EntityFrameworkCore.psd1", + "tools/EntityFrameworkCore.psm1", + "tools/about_EntityFrameworkCore.help.txt", + "tools/init.ps1", + "tools/net461/any/ef.exe", + "tools/net461/win-arm64/ef.exe", + "tools/net461/win-x86/ef.exe", + "tools/netcoreapp2.0/any/ef.dll", + "tools/netcoreapp2.0/any/ef.runtimeconfig.json" + ] + }, "Microsoft.Extensions.ApiDescription.Server/6.0.5": { "sha512": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", "type": "package", @@ -1877,6 +2075,34 @@ "useSharedDesignerContext.txt" ] }, + "Microsoft.Extensions.DependencyModel/7.0.0": { + "sha512": "oONNYd71J3LzkWc4fUHl3SvMfiQMYUCo/mDHDEu76hYYxdhdrPYv6fvGv9nnKVyhE9P0h20AU8RZB5OOWQcAXg==", + "type": "package", + "path": "microsoft.extensions.dependencymodel/7.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "README.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets", + "lib/net462/Microsoft.Extensions.DependencyModel.dll", + "lib/net462/Microsoft.Extensions.DependencyModel.xml", + "lib/net6.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net6.0/Microsoft.Extensions.DependencyModel.xml", + "lib/net7.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net7.0/Microsoft.Extensions.DependencyModel.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", + "microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512", + "microsoft.extensions.dependencymodel.nuspec", + "useSharedDesignerContext.txt" + ] + }, "Microsoft.Extensions.FileProviders.Abstractions/7.0.0": { "sha512": "NyawiW9ZT/liQb34k9YqBSNPLuuPkrjMgQZ24Y/xXX1RoiBkLUdPMaQTmxhZ5TYu8ZKZ9qayzil75JX95vGQUg==", "type": "package", @@ -2223,6 +2449,46 @@ "useSharedDesignerContext.txt" ] }, + "Mono.TextTemplating/2.2.1": { + "sha512": "KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "type": "package", + "path": "mono.texttemplating/2.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net472/Mono.TextTemplating.dll", + "lib/netstandard2.0/Mono.TextTemplating.dll", + "mono.texttemplating.2.2.1.nupkg.sha512", + "mono.texttemplating.nuspec" + ] + }, + "MySqlConnector/2.2.5": { + "sha512": "6sinY78RvryhHwpup3awdjYO7d5hhWahb5p/1VDODJhSxJggV/sBbYuKK5IQF9TuzXABiddqUbmRfM884tqA3Q==", + "type": "package", + "path": "mysqlconnector/2.2.5", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net461/MySqlConnector.dll", + "lib/net461/MySqlConnector.xml", + "lib/net471/MySqlConnector.dll", + "lib/net471/MySqlConnector.xml", + "lib/net6.0/MySqlConnector.dll", + "lib/net6.0/MySqlConnector.xml", + "lib/net7.0/MySqlConnector.dll", + "lib/net7.0/MySqlConnector.xml", + "lib/netcoreapp3.1/MySqlConnector.dll", + "lib/netcoreapp3.1/MySqlConnector.xml", + "lib/netstandard2.0/MySqlConnector.dll", + "lib/netstandard2.0/MySqlConnector.xml", + "lib/netstandard2.1/MySqlConnector.dll", + "lib/netstandard2.1/MySqlConnector.xml", + "logo.png", + "mysqlconnector.2.2.5.nupkg.sha512", + "mysqlconnector.nuspec" + ] + }, "Newtonsoft.Json/13.0.3": { "sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", "type": "package", @@ -2253,6 +2519,23 @@ "packageIcon.png" ] }, + "Pomelo.EntityFrameworkCore.MySql/7.0.0": { + "sha512": "Qk5WB/skSZet5Yrz6AN2ywjZaB1pxfAmvQ+5I4khTkLwwIamI4QJoH2NphCWLFQL+2ar8HvsNCTmwYk0qhqL0w==", + "type": "package", + "path": "pomelo.entityframeworkcore.mysql/7.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "icon.png", + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll", + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.xml", + "lib/net7.0/Pomelo.EntityFrameworkCore.MySql.dll", + "lib/net7.0/Pomelo.EntityFrameworkCore.MySql.xml", + "pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512", + "pomelo.entityframeworkcore.mysql.nuspec" + ] + }, "SharpCompress/0.34.1": { "sha512": "WttRM/J/ktUwM3hRPxRYux1AOT+TGLqab34ZNBGTZRChHtpkJXFGHJ/cZCyNOH0OqpCNDdOsHhzxOVYkx4WoGw==", "type": "package", @@ -3109,6 +3392,8 @@ "Autofac.Extensions.DependencyInjection >= 8.0.0", "Masuit.Tools.Core >= 2.6.7.3", "Microsoft.EntityFrameworkCore >= 7.0.12", + "Microsoft.EntityFrameworkCore.Tools >= 7.0.12", + "Pomelo.EntityFrameworkCore.MySql >= 7.0.0", "Swashbuckle.AspNetCore >= 6.5.0" ] }, @@ -3167,6 +3452,16 @@ "target": "Package", "version": "[7.0.12, )" }, + "Microsoft.EntityFrameworkCore.Tools": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", + "suppressParent": "All", + "target": "Package", + "version": "[7.0.12, )" + }, + "Pomelo.EntityFrameworkCore.MySql": { + "target": "Package", + "version": "[7.0.0, )" + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[6.5.0, )" @@ -3191,7 +3486,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.401\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.403\\RuntimeIdentifierGraph.json" } } }, diff --git a/PVDEMCS/PVDEMCS/obj/project.nuget.cache b/PVDEMCS/PVDEMCS/obj/project.nuget.cache index e2f89e0..94f5743 100644 --- a/PVDEMCS/PVDEMCS/obj/project.nuget.cache +++ b/PVDEMCS/PVDEMCS/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "isYhD8nl1VKUhgS8TXHkuMb6+6nbA90q4QUNutzPkN4OpLMFKVjNoJu9yBOn5Q7VKuQuDH1Yu9aQqFI0fLPRTA==", + "dgSpecHash": "u+XZFKvOa5x5287c3setKwoFNwezabW5RpGt2lKpnZCgwlaBKZ6hVHjG9OxTgCm30QK8wC6uwBi3u1WQ2kYzTQ==", "success": true, "projectFilePath": "D:\\Source\\PVDEMCS\\PVDEMCS\\PVDEMCS\\PVDEMCS.csproj", "expectedPackageFiles": [ @@ -11,12 +11,16 @@ "C:\\Users\\xiaog\\.nuget\\packages\\castle.core\\5.1.1\\castle.core.5.1.1.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\dnsclient\\1.7.0\\dnsclient.1.7.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\htmlsanitizer\\8.0.723\\htmlsanitizer.8.0.723.nupkg.sha512", + "C:\\Users\\xiaog\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\masuit.tools.abstractions\\2.6.7.3\\masuit.tools.abstractions.2.6.7.3.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\masuit.tools.core\\2.6.7.3\\masuit.tools.core.2.6.7.3.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.entityframeworkcore\\7.0.12\\microsoft.entityframeworkcore.7.0.12.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\7.0.12\\microsoft.entityframeworkcore.abstractions.7.0.12.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\7.0.12\\microsoft.entityframeworkcore.analyzers.7.0.12.nupkg.sha512", + "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.entityframeworkcore.design\\7.0.12\\microsoft.entityframeworkcore.design.7.0.12.nupkg.sha512", + "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\7.0.12\\microsoft.entityframeworkcore.relational.7.0.12.nupkg.sha512", + "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.entityframeworkcore.tools\\7.0.12\\microsoft.entityframeworkcore.tools.7.0.12.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.extensions.apidescription.server\\6.0.5\\microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\7.0.0\\microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.extensions.caching.memory\\7.0.0\\microsoft.extensions.caching.memory.7.0.0.nupkg.sha512", @@ -26,6 +30,7 @@ "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.extensions.configuration.json\\7.0.0\\microsoft.extensions.configuration.json.7.0.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\7.0.0\\microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\7.0.0\\microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512", + "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.extensions.dependencymodel\\7.0.0\\microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\7.0.0\\microsoft.extensions.fileproviders.abstractions.7.0.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\7.0.0\\microsoft.extensions.fileproviders.physical.7.0.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\7.0.0\\microsoft.extensions.filesystemglobbing.7.0.0.nupkg.sha512", @@ -37,7 +42,10 @@ "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.openapi\\1.2.3\\microsoft.openapi.1.2.3.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.win32.registry\\5.0.0\\microsoft.win32.registry.5.0.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\microsoft.win32.systemevents\\7.0.0\\microsoft.win32.systemevents.7.0.0.nupkg.sha512", + "C:\\Users\\xiaog\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512", + "C:\\Users\\xiaog\\.nuget\\packages\\mysqlconnector\\2.2.5\\mysqlconnector.2.2.5.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", + "C:\\Users\\xiaog\\.nuget\\packages\\pomelo.entityframeworkcore.mysql\\7.0.0\\pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\sharpcompress\\0.34.1\\sharpcompress.0.34.1.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\sixlabors.fonts\\2.0.0\\sixlabors.fonts.2.0.0.nupkg.sha512", "C:\\Users\\xiaog\\.nuget\\packages\\sixlabors.imagesharp\\3.0.2\\sixlabors.imagesharp.3.0.2.nupkg.sha512",