333
schangxiang@126.com
2024-11-26 f23e0223221ec2b96543761bc0ab743d9e0a6294
333
已添加582个文件
已修改1个文件
329750 ■■■■■ 文件已修改
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/LA24030_LuLiPackageLine_PrintService.sln 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/App - 本机.config 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/App.config 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Common/SystemConst.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/PrintWcfService.wsdl 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/Reference.cs 391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/Reference.svcmap 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/configuration.svcinfo 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/configuration91.svcinfo 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/iWarePrintService.PrintBaseService.GetImageResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/iWarePrintService.PrintBaseService.GetPrinterStatusResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/iWarePrintService.PrintBaseService.Print2Response.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/iWarePrintService.PrintBaseService.Print3Response.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/iWarePrintService.PrintBaseService.PrintResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/item.disco 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/item.xsd 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/item1.xsd 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/item2.xsd 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Entity/ColumnEntity.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Entity/MaterialEntity.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/File/CODE_39-123456789321.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/File/ExportFileTemplate/DO发货标签模板.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/File/ExportFileTemplate/标签模板.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/File/ExportFileTemplate/生产订单发货标签模板.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/File/ImportFileTemplate/武汉牧野生产库临时标签.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.Designer.cs 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.cs 385 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Helper/ConfigHelper.cs 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Helper/DataCache.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Program.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Properties/Resources.Designer.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Properties/Resources.resx 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Properties/Settings.Designer.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Properties/Settings.settings 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Utility/Common.cs 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Utility/ExcelHelper.cs 512 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Utility/TextHelper.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/Aspose.Cells.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/Barcode.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/Barcode.xml 2159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/BarcodeLib.Barcode.ASP.NET.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/EPPlus.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/Gma.QrCodeNet.Encoding.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/LICENSE 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/Read Me.txt 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/Release Notes.txt 521 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net20/NPOI.OOXML.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net20/NPOI.OpenXml4Net.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net20/NPOI.OpenXmlFormats.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net20/NPOI.XML 43571 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net20/NPOI.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net40/NPOI.OOXML.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net40/NPOI.OpenXml4Net.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net40/NPOI.OpenXmlFormats.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net40/NPOI.XML 43571 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net40/NPOI.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/logo/120_120.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/logo/240_240.png 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/logo/32_32.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/logo/60_60.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/SharpZipLib.0.86.0/lib/11/ICSharpCode.SharpZipLib.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/SharpZipLib.0.86.0/lib/20/ICSharpCode.SharpZipLib.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/SharpZipLib.0.86.0/lib/SL3/SharpZipLib.Silverlight3.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/SharpZipLib.0.86.0/lib/SL4/SharpZipLib.Silverlight4.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/ZXing.Net.0.12.0.0.nuspec 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/MonoAndroid/zxing.monoandroid.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/MonoAndroid/zxing.monoandroid.xml 10143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/native/ZXing.XML 9313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/native/ZXing.pri 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/native/ZXing.winmd 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net20-cf/zxing.ce2.0.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net20-cf/zxing.ce2.0.xml 10220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net20/zxing.XML 10268 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net20/zxing.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net35-cf/zxing.ce3.5.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net35-cf/zxing.ce3.5.xml 10120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net35/zxing.XML 10168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net35/zxing.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net40/zxing.XML 9429 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net40/zxing.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net40/zxing.presentation.XML 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net40/zxing.presentation.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/portable-win+net40+sl4+sl5+wp7+wp71+wp8/zxing.portable.XML 10029 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/portable-win+net40+sl4+sl5+wp7+wp71+wp8/zxing.portable.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl3-wp/zxing.wp7.0.XML 10199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl3-wp/zxing.wp7.0.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl4-wp71/zxing.wp7.1.XML 10194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl4-wp71/zxing.wp7.1.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl4/zxing.sl4.XML 10194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl4/zxing.sl4.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl5/zxing.sl5.XML 9468 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl5/zxing.sl5.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/windows8-managed/zxing.winrt.XML 9449 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/windows8-managed/zxing.winrt.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/windows8/ZXing.XML 9313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/windows8/ZXing.pri 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/windows8/ZXing.winmd 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/wp8/zxing.wp8.0.XML 10194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/wp8/zxing.wp8.0.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/logtxt.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/iWarePrintService.csproj 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/packages.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/QrCodeAndBarCode.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/creatExcelPrint.cs 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/creatExcelPrintForDO.cs 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/creatExcelPrintForSC.cs 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/labelEntity.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/print.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/BusinessHelper/WCSConfigHelper.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/Dao/CommonDao.cs 554 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/Dao/_system~.ini 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/Globle/SysGloble.cs 243 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ParamEntity/AddMainTaskPostParam.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/Service/CommonService.cs 405 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/Service/_system~.ini 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/Conveyor_CacheEntity.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyorEntity.cs 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyorStationEntity.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyor_DB.cs 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEnumType/ESrmConveyorAlarm.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/CacheEntity.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm1_DB.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm2_DB.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/SrmEntity.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/SrmInfo.cs 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm_CacheEntity.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmAlarm.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmCmd.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmState.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/SystemValue.cs 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Castle.Core.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Castle.Core.xml 5940 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.Core.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.Core.xml 876 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.Log4Net1213.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.Log4Net1213.xml 328 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.xml 2774 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/EntityFramework.SqlServer.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/EntityFramework.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Interop.OPCAutomation.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Newtonsoft.Json.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Newtonsoft.Json.xml 10752 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/OpcAccess.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Pager.XML 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Pager.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/TwinCAT.Ads.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/TwinCatAdsAccess.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/WZ.Useful.Commons.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/log4net.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/log4net.xml 31814 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Properties/Resources.Designer.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Properties/Resources.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/AutoSizeFormClass.cs 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Base64Helper.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/CSharpHelper.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ClassHelper.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ComboBoxHelper.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ConfigHelper.cs 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/DESEncrypt.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/DESHelper.cs 569 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/DataCache.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/DataTableHelper.cs 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/DateTimeHelper.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/EntityPropHelper.cs 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/EnumberHelper.cs 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/FileHelper.cs 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/FolderHelper.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/HTTP/HTTPService.cs 503 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/HTTP/HttpHelper.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/HTTP/SSLUtil.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/IEnumerableHelper.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/IntHelper.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ListHelper.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Log4Net/C_LogWriter.cs 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Log4Net/Log4netHelper.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Log4Net/LogType.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/LogTextHelper.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/MD5Helper.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/MachineHelper.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Mail/MailBaseData.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Mail/SMTPManager.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/MyBase64Helper.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/PageHelper.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/RandomHelper.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/StringHelper.cs 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/SysHelper.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/SysMessageUtil.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/TaskNoHelper.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/TextHelper.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ThreadHelper.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/TreeHelper.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ValidateDataHelper.cs 374 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ZipHelper.cs 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/iWareCommon.csproj 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/log4net_iWare -编辑版.config 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/log4net_iWare.config 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/AGV/AGVRetModel.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/AGV/AGVRetModelJSON.txt 965 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/BindableBase.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/Context.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/Device/DeviceCoordinat.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/EnumberEntity.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/Huffman.cs 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/IBuilder.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ICommonEntity.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/IDirector.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/IHandler.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/IService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/IStrategy.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ITreeEntity.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/LZW.cs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ListItem.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/CriterionContainerOutput.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/MesRetModel.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/MesRetModel2.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/MesRetProductModel.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/MesUpdateOnlineStatusParamModel.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/Mes_BtjReceiveModel.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/WCSDevicesOutput.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/WCSTaskInput.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/WareContainerType.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/QueryParam.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResponseListDataEntity.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResponseListDataPageEntity.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResponseSimpleDataEntity.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResultModel/FunRetEntity.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResultModel/MessageModel.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResultModel/ResEntity.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/SysUser.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/System/ColumnsModel.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/System/PropertieModel.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/TaskSequenceEntity.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ValidateModel.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ValidateResModel.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/WCS/WCSTaskOutput.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/WMS/CriterionContainerOutput.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/WMS/SAPDeliverMaterial.cs 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/WMS/SAPReceivingMaterial.cs 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/WMS/WmsSysReturn.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/_system~.ini 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/AreaTypeEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDbError.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/AGV/AGVState.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/DeviceTaskStatusEnum.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/EDevice.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/EDeviceType.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/ESrmAlarm.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/LineLocation.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/RgvErrorReason.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/RgvInOutFlag.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/RgvIsDie.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/RgvIsStock.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/RgvWorkMode.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvAlarm.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvBodyTest.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvCmd.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvEvent.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvMode.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvState.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Srm/ESrmCmd.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Srm/ESrmForkPosition.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Srm/ESrmMode.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Srm/ESrmState.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Srm/ESrmTaskType.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/ExceptionEnum.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/PLC/PLCServiceTypeEnum.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/PrintTypeEnum22.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/RequestStatusEnum.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/StackSequenceSortRule.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/Sys/LanguageEnum.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/Sys/ValidateIntEnum.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/Task/WareTaskStateEnum.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/Task/WareTaskTypeEnum.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/TaskExcuteTypeEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/ThreadDirectionEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/CommonStatus.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/EnumSAPCancelConfirmStatus.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/EnumSAPConfirmStatus.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/EnumSignStatus.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/MaterialTypeStaus.cs 300 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/PrintClassifyEnum.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/PrintTypeEnum.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/SysDictDataEnum.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WareLocationEnum.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Struct/WmsCarrierType.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Struct/WmsStorageType.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/iWareModel.csproj 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/App.config 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/ApprovalFlow.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/BasicDataSetHandler.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/ClearDataHandler.cs 253 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/ContainerHandler.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/PurchaseOrderHandler.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/SapHandler.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/SysDictDataHandler.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DingTalkUser.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ExtendEntity/MatModel.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ExtendEntity/SyncStockToMesEntity.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ExtendEntity/UDT_SYS_ExceptionInfo_Extend.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/MES/Mes_ResEntity.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ParamModel/InformIniInfoToTrussParam.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ParamModel/MesMatInfo.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ParamModel/Mes_BatchMat_Param.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ParamModel/Mes_BatchOrderUPIParam.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ParamModel/Srm_ItemParam.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/AllMatStockViewForStockList.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/BatchMatGatherView.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/BatchMatView.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/BatchOrderUPIView.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/BoardLoadMaterialView.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/MatStockCollectView.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/PlaceLocationView.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/GoViewPro.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/GoViewProData.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/Base_BasicDataSet.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/C__EFMigrationsHistory.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/MyDbContext.cs 2363 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/SerialRuleDetail.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/SerialSN.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/basic_customer_info.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/basic_express_info.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/basic_supplier_info.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_app.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_code_gen.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_code_gen_config.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_config.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_dict_data.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_dict_type.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_emp.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_emp_ext_org_pos.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_file.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_log_audit.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_log_ex.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_log_op.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_log_vis.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_menu.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_notice.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_notice_user.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_oauth_user.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_org.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_pos.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_role.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_timer.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_user.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sysdiagrams.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_PickUp_SortingOrderOutput.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_SortingOrderOutput.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_check_plan_material.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_check_table_details.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_collect_head.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_collect_matails.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_container_usegridNumber.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_group_container.cs 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_oldMater_ware_inventory.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_order_ware_inventory.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_purchase_order.cs 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_PurchaseOrderDetailsForPDA.cs 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_QueLiaoWarning.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_QueryAllowYKDetail.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_age_warming.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_confirm_delivery_and_ware_delivery_record.cs 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_by_material.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_by_material_type.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_order.cs 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_order_all.cs 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_order_details.cs 241 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_order_details_all.cs 241 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_order_details_no_BeDelivery.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_task_statistics_all.cs 241 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_findEmptyLocation.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_goods_delivery.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_goods_delivery_and_ware_goods_delivery_appointment.cs 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_goods_delivery_details.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_byOrderType_material.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_by_all.cs 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_by_container.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_by_material.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_material.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_order.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_order_out_diff_details.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_plan.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_plan_details_by_material.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_plan_details_by_storehouse.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_for_out.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_for_out_ByGroup.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_statistics_by_all.cs 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_location.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_material_locked.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_material_lockedByGroup.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_region_material.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_scrap_material.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_getOutWarehouseForGroup.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_getOutWarehouseForGroupForKitting.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_getOutWarehouseForGroup_All.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_order.cs 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_order_all.cs 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_order_details.cs 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_order_details_all.cs 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_order_details_group.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_stock_early_warming.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_action_log.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_age.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_backout_orders.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_backout_orders_details.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_borrow_return.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_collect_delivery.cs 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_common_sap_delivery_info.cs 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_common_sap_receive_info.cs 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_confirm_delivery.cs 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_container.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_container_tag.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_container_type.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_container_vs_material.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_delivery_record.cs 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_dic_type.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_dict_data.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_diskGrouping_record.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_equipment.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_equipment_type.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_examine_flower.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_flow_record.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_goods_delivery.cs 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_goods_delivery_appointment.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_goods_delivery_details.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_goods_delivery_details_details.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_order.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_order_details.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_order_record.cs 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_plan.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_plan_details.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_rule.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_location.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_location_extend.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_location_tag.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_location_type.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_location_vs_container.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material.cs 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_flow_record.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_locked.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_maxtype.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_modify.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_print_history.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_tag.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_type.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_menu_examine.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_menu_temp.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_old_material.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_old_material_Flowing.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_orders.cs 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_orders_details.cs 269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_picking.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_picking_detail.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_pickup.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_pickup_details.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_purchase_order.cs 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_purchase_order_details.cs 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_qc_orders.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_qrcode.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_region.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_rema_qty.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_return_order_details.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_return_orders.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_return_record.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sap_log.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_scrap.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_scrap_details.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_scrap_material.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sequencenumber.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_shelves.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_shelves_type.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_site.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sorting.cs 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sorting_details.cs 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sorting_record.cs 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sorting_vs_container.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_storehouse.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_storehouse_type.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_supplier_examine_flower.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_task.cs 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_task_sub.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_temp.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_to_receiving.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_to_receiving_detail.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_flowing.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_hous.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_return.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_return_details.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_stock.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_users.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_views.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_views_detail.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_workflow.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/warepurchaseorder_vs_waregoodsdelivery.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysCodeGen.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysCodeGenConfig.cs 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysConfig.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysDictData.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysDictType.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysFile.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysJobCluster.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysJobDetail.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysJobTrigger.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysJobTriggerRecord.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysLdap.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysLogDiff.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysLogEx.cs 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysLogOp.cs 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysLogVis.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysMenu.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysNotice.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysNoticeUser.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysOnlineUser.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysOpenAccess.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysOrg.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysPlugin.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysPos.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysPrint.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysRegion.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysRole.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysRoleMenu.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysRoleOrg.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysTenant.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysUser.cs 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysUserExtOrg.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysUserLdap.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysUserRole.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysWechatPay.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysWechatUser.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/TestMyDbContext/Model1.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Test_Student.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Test_Teachert.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/V_EmptyStation.cs 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/WmsDBModel.cs 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/iWareSql.csproj 361 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/mes_PushPackageCode.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/mes_batchOrderUPI_new.cs 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/packages.config 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/test_place.cs 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_adapter_categories.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_adapter_management.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_adapter_record.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_area.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_factory.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_material.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_material_type.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_place.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_warehouse.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_config_no_rule.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_config_print.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_config_serial_rule.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_config_serial_sn.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_config_sncode_rule.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_log_action.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_rbline_runmode.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_rbline_task.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_record_print.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_record_trans.cs 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_stock_quan.cs 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_sys_basic_data.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_sys_help_doc.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_sys_pda_menu.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_sys_pda_role_menu.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_task.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_database_info.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_entity_column_info.cs 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_entity_info.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_interface_category.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_interface_list.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_user_info.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/api/main/PrintCenter/wmsRecordPrint.ts 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordPrint/component/editDialog.vue 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordPrint/index.vue 387 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/PrintCenter/WmsRecordPrint/Dto/WmsRecordPrintInput.cs 351 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/PrintCenter/WmsRecordPrint/Dto/WmsRecordPrintOutput.cs 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/PrintCenter/WmsRecordPrint/WmsRecordPrintService.cs 216 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/LA24030_LuLiPackageLine_PrintService.sln
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33213.308
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWarePrintService", "WindowsFormsApplication1\iWarePrintService.csproj", "{5DF978C5-55BD-4056-8D8D-232CAA1E7EC5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWareSql", "iWareSql\iWareSql.csproj", "{D0B38CD8-60AC-472C-8031-A03CF3C2E8A5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWareCommon", "iWareCommon\iWareCommon.csproj", "{3583FCF0-92C7-406C-AD78-9FB7C11293CF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWareModel", "iWareModel\iWareModel.csproj", "{556A91F0-34D1-4D23-A1C7-F27E19D916D3}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
        Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {5DF978C5-55BD-4056-8D8D-232CAA1E7EC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {5DF978C5-55BD-4056-8D8D-232CAA1E7EC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {5DF978C5-55BD-4056-8D8D-232CAA1E7EC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {5DF978C5-55BD-4056-8D8D-232CAA1E7EC5}.Release|Any CPU.Build.0 = Release|Any CPU
        {D0B38CD8-60AC-472C-8031-A03CF3C2E8A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {D0B38CD8-60AC-472C-8031-A03CF3C2E8A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {D0B38CD8-60AC-472C-8031-A03CF3C2E8A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {D0B38CD8-60AC-472C-8031-A03CF3C2E8A5}.Release|Any CPU.Build.0 = Release|Any CPU
        {3583FCF0-92C7-406C-AD78-9FB7C11293CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {3583FCF0-92C7-406C-AD78-9FB7C11293CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {3583FCF0-92C7-406C-AD78-9FB7C11293CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {3583FCF0-92C7-406C-AD78-9FB7C11293CF}.Release|Any CPU.Build.0 = Release|Any CPU
        {556A91F0-34D1-4D23-A1C7-F27E19D916D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {556A91F0-34D1-4D23-A1C7-F27E19D916D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {556A91F0-34D1-4D23-A1C7-F27E19D916D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {556A91F0-34D1-4D23-A1C7-F27E19D916D3}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
    GlobalSection(ExtensibilityGlobals) = postSolution
        SolutionGuid = {D4186099-0842-4154-8578-73F83C5F3DA3}
    EndGlobalSection
EndGlobal
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/App - ±¾»ú.config
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb"/>
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
    </providers>
  </entityFramework>
  <connectionStrings>
    <!--本地-->
    <add name="MyDbContext" connectionString="data source=.;initial catalog=WHMY_Prod_Test;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient"/>
  </connectionStrings>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
    </startup>
</configuration>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/App.config
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb"/>
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
    </providers>
  </entityFramework>
  <connectionStrings>
    <!--本地-->
    <add name="WmsDBModel" connectionString="data source=localhost;initial catalog=LA24030_LuLiPackageLine;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient"/>
  </connectionStrings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
  </startup>
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IPrintWcfService" />
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IPrintWcfService"
        contract="PrintBaseService.IPrintWcfService" name="BasicHttpBinding_IPrintWcfService" />
    </client>
  </system.serviceModel>
</configuration>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Common/SystemConst.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1.Common
{
    public class SystemConst
    {
        /// <summary>
        /// é»˜è®¤çš„左偏移量
        /// </summary>
        public static double Default_LeftMargin = Program.f.textBox1.Text.Trim() == "" ? 1 : Convert.ToDouble(Program.f.textBox1.Text.Trim());//偏移量
        /// <summary>
        /// é»˜è®¤çš„上偏移量
        /// </summary>
        public static double Default_TopMargin = Program.f.textBox2.Text.Trim() == "" ? 1 : Convert.ToDouble(Program.f.textBox2.Text.Trim());
        /// <summary>
        /// ä¸´æ—¶æ‰“印中转的文件路径(物料标签)
        /// </summary>
        public static string TEMPORARY_FILEPATH = AppDomain.CurrentDomain.BaseDirectory + @"File\临时.xlsx";
        /// <summary>
        /// æ¨¡æ¿æ–‡ä»¶è·¯å¾„(物料标签)
        /// </summary>
        public static string TEMPLATE_FILEPATH = AppDomain.CurrentDomain.BaseDirectory + @"File\ExportFileTemplate\标签模板.xlsx";
        /// <summary>
        /// ä¸´æ—¶æ‰“印中转的文件路径(生产订单发货标签)
        /// </summary>
        public static string TEMPORARY_FILEPATH_生产订单发货标签 = AppDomain.CurrentDomain.BaseDirectory + @"File\临时生产订单发货标签.xlsx";
        /// <summary>
        /// æ¨¡æ¿æ–‡ä»¶è·¯å¾„(生产订单发货标签)
        /// </summary>
        public static string TEMPLATE_FILEPATH_生产订单发货标签 = AppDomain.CurrentDomain.BaseDirectory + @"File\ExportFileTemplate\生产订单发货标签模板.xlsx";
        /// <summary>
        /// ä¸´æ—¶æ‰“印中转的文件路径(DO订单发货标签)
        /// </summary>
        public static string TEMPORARY_FILEPATH_DO单发货标签 = AppDomain.CurrentDomain.BaseDirectory + @"File\临时DO订单发货标签.xlsx";
        /// <summary>
        /// æ¨¡æ¿æ–‡ä»¶è·¯å¾„(DO订单发货标签)
        /// </summary>
        public static string TEMPLATE_FILEPATH_DO单发货标签 = AppDomain.CurrentDomain.BaseDirectory + @"File\ExportFileTemplate\DO发货标签模板.xlsx";
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/PrintWcfService.wsdl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tempuri.org/" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" name="PrintWcfService" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <xsd:schema targetNamespace="http://tempuri.org/Imports">
      <xsd:import schemaLocation="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/?xsd=xsd0" namespace="http://tempuri.org/" />
      <xsd:import schemaLocation="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
      <xsd:import schemaLocation="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/?xsd=xsd2" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="IPrintWcfService_Print_InputMessage">
    <wsdl:part name="parameters" element="tns:Print" />
  </wsdl:message>
  <wsdl:message name="IPrintWcfService_Print_OutputMessage">
    <wsdl:part name="parameters" element="tns:PrintResponse" />
  </wsdl:message>
  <wsdl:message name="IPrintWcfService_Print2_InputMessage">
    <wsdl:part name="parameters" element="tns:Print2" />
  </wsdl:message>
  <wsdl:message name="IPrintWcfService_Print2_OutputMessage">
    <wsdl:part name="parameters" element="tns:Print2Response" />
  </wsdl:message>
  <wsdl:message name="IPrintWcfService_Print3_InputMessage">
    <wsdl:part name="parameters" element="tns:Print3" />
  </wsdl:message>
  <wsdl:message name="IPrintWcfService_Print3_OutputMessage">
    <wsdl:part name="parameters" element="tns:Print3Response" />
  </wsdl:message>
  <wsdl:message name="IPrintWcfService_GetImage_InputMessage">
    <wsdl:part name="parameters" element="tns:GetImage" />
  </wsdl:message>
  <wsdl:message name="IPrintWcfService_GetImage_OutputMessage">
    <wsdl:part name="parameters" element="tns:GetImageResponse" />
  </wsdl:message>
  <wsdl:message name="IPrintWcfService_GetPrinterStatus_InputMessage">
    <wsdl:part name="parameters" element="tns:GetPrinterStatus" />
  </wsdl:message>
  <wsdl:message name="IPrintWcfService_GetPrinterStatus_OutputMessage">
    <wsdl:part name="parameters" element="tns:GetPrinterStatusResponse" />
  </wsdl:message>
  <wsdl:portType name="IPrintWcfService">
    <wsdl:operation name="Print">
      <wsdl:input wsaw:Action="http://tempuri.org/IPrintWcfService/Print" message="tns:IPrintWcfService_Print_InputMessage" />
      <wsdl:output wsaw:Action="http://tempuri.org/IPrintWcfService/PrintResponse" message="tns:IPrintWcfService_Print_OutputMessage" />
    </wsdl:operation>
    <wsdl:operation name="Print2">
      <wsdl:input wsaw:Action="http://tempuri.org/IPrintWcfService/Print2" message="tns:IPrintWcfService_Print2_InputMessage" />
      <wsdl:output wsaw:Action="http://tempuri.org/IPrintWcfService/Print2Response" message="tns:IPrintWcfService_Print2_OutputMessage" />
    </wsdl:operation>
    <wsdl:operation name="Print3">
      <wsdl:input wsaw:Action="http://tempuri.org/IPrintWcfService/Print3" message="tns:IPrintWcfService_Print3_InputMessage" />
      <wsdl:output wsaw:Action="http://tempuri.org/IPrintWcfService/Print3Response" message="tns:IPrintWcfService_Print3_OutputMessage" />
    </wsdl:operation>
    <wsdl:operation name="GetImage">
      <wsdl:input wsaw:Action="http://tempuri.org/IPrintWcfService/GetImage" message="tns:IPrintWcfService_GetImage_InputMessage" />
      <wsdl:output wsaw:Action="http://tempuri.org/IPrintWcfService/GetImageResponse" message="tns:IPrintWcfService_GetImage_OutputMessage" />
    </wsdl:operation>
    <wsdl:operation name="GetPrinterStatus">
      <wsdl:input wsaw:Action="http://tempuri.org/IPrintWcfService/GetPrinterStatus" message="tns:IPrintWcfService_GetPrinterStatus_InputMessage" />
      <wsdl:output wsaw:Action="http://tempuri.org/IPrintWcfService/GetPrinterStatusResponse" message="tns:IPrintWcfService_GetPrinterStatus_OutputMessage" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="BasicHttpBinding_IPrintWcfService" type="tns:IPrintWcfService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Print">
      <soap:operation soapAction="http://tempuri.org/IPrintWcfService/Print" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Print2">
      <soap:operation soapAction="http://tempuri.org/IPrintWcfService/Print2" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Print3">
      <soap:operation soapAction="http://tempuri.org/IPrintWcfService/Print3" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetImage">
      <soap:operation soapAction="http://tempuri.org/IPrintWcfService/GetImage" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPrinterStatus">
      <soap:operation soapAction="http://tempuri.org/IPrintWcfService/GetPrinterStatus" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="PrintWcfService">
    <wsdl:port name="BasicHttpBinding_IPrintWcfService" binding="tns:BasicHttpBinding_IPrintWcfService">
      <soap:address location="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/Reference.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,391 @@
//------------------------------------------------------------------------------
// <auto-generated>
//     æ­¤ä»£ç ç”±å·¥å…·ç”Ÿæˆã€‚
//     è¿è¡Œæ—¶ç‰ˆæœ¬:4.0.30319.42000
//
//     å¯¹æ­¤æ–‡ä»¶çš„æ›´æ”¹å¯èƒ½ä¼šå¯¼è‡´ä¸æ­£ç¡®çš„行为,并且如果
//     é‡æ–°ç”Ÿæˆä»£ç ï¼Œè¿™äº›æ›´æ”¹å°†ä¼šä¸¢å¤±ã€‚
// </auto-generated>
//------------------------------------------------------------------------------
namespace iWarePrintService.PrintBaseService {
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="PrintBaseService.IPrintWcfService")]
    public interface IPrintWcfService {
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IPrintWcfService/Print", ReplyAction="http://tempuri.org/IPrintWcfService/PrintResponse")]
        iWarePrintService.PrintBaseService.PrintResponse Print(iWarePrintService.PrintBaseService.PrintRequest request);
        // CODEGEN: æ­£åœ¨ç”Ÿæˆæ¶ˆæ¯åå®šï¼Œåº”为该操作具有多个返回值。
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IPrintWcfService/Print", ReplyAction="http://tempuri.org/IPrintWcfService/PrintResponse")]
        System.Threading.Tasks.Task<iWarePrintService.PrintBaseService.PrintResponse> PrintAsync(iWarePrintService.PrintBaseService.PrintRequest request);
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IPrintWcfService/Print2", ReplyAction="http://tempuri.org/IPrintWcfService/Print2Response")]
        iWarePrintService.PrintBaseService.Print2Response Print2(iWarePrintService.PrintBaseService.Print2Request request);
        // CODEGEN: æ­£åœ¨ç”Ÿæˆæ¶ˆæ¯åå®šï¼Œåº”为该操作具有多个返回值。
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IPrintWcfService/Print2", ReplyAction="http://tempuri.org/IPrintWcfService/Print2Response")]
        System.Threading.Tasks.Task<iWarePrintService.PrintBaseService.Print2Response> Print2Async(iWarePrintService.PrintBaseService.Print2Request request);
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IPrintWcfService/Print3", ReplyAction="http://tempuri.org/IPrintWcfService/Print3Response")]
        iWarePrintService.PrintBaseService.Print3Response Print3(iWarePrintService.PrintBaseService.Print3Request request);
        // CODEGEN: æ­£åœ¨ç”Ÿæˆæ¶ˆæ¯åå®šï¼Œåº”为该操作具有多个返回值。
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IPrintWcfService/Print3", ReplyAction="http://tempuri.org/IPrintWcfService/Print3Response")]
        System.Threading.Tasks.Task<iWarePrintService.PrintBaseService.Print3Response> Print3Async(iWarePrintService.PrintBaseService.Print3Request request);
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IPrintWcfService/GetImage", ReplyAction="http://tempuri.org/IPrintWcfService/GetImageResponse")]
        iWarePrintService.PrintBaseService.GetImageResponse GetImage(iWarePrintService.PrintBaseService.GetImageRequest request);
        // CODEGEN: æ­£åœ¨ç”Ÿæˆæ¶ˆæ¯åå®šï¼Œåº”为该操作具有多个返回值。
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IPrintWcfService/GetImage", ReplyAction="http://tempuri.org/IPrintWcfService/GetImageResponse")]
        System.Threading.Tasks.Task<iWarePrintService.PrintBaseService.GetImageResponse> GetImageAsync(iWarePrintService.PrintBaseService.GetImageRequest request);
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IPrintWcfService/GetPrinterStatus", ReplyAction="http://tempuri.org/IPrintWcfService/GetPrinterStatusResponse")]
        iWarePrintService.PrintBaseService.GetPrinterStatusResponse GetPrinterStatus(iWarePrintService.PrintBaseService.GetPrinterStatusRequest request);
        // CODEGEN: æ­£åœ¨ç”Ÿæˆæ¶ˆæ¯åå®šï¼Œåº”为该操作具有多个返回值。
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IPrintWcfService/GetPrinterStatus", ReplyAction="http://tempuri.org/IPrintWcfService/GetPrinterStatusResponse")]
        System.Threading.Tasks.Task<iWarePrintService.PrintBaseService.GetPrinterStatusResponse> GetPrinterStatusAsync(iWarePrintService.PrintBaseService.GetPrinterStatusRequest request);
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.MessageContractAttribute(WrapperName="Print", WrapperNamespace="http://tempuri.org/", IsWrapped=true)]
    public partial class PrintRequest {
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
        public System.Collections.Generic.Dictionary<string, object> data;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=1)]
        public int copies;
        public PrintRequest() {
        }
        public PrintRequest(System.Collections.Generic.Dictionary<string, object> data, int copies) {
            this.data = data;
            this.copies = copies;
        }
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.MessageContractAttribute(WrapperName="PrintResponse", WrapperNamespace="http://tempuri.org/", IsWrapped=true)]
    public partial class PrintResponse {
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
        public bool PrintResult;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=1)]
        public string msg;
        public PrintResponse() {
        }
        public PrintResponse(bool PrintResult, string msg) {
            this.PrintResult = PrintResult;
            this.msg = msg;
        }
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.MessageContractAttribute(WrapperName="Print2", WrapperNamespace="http://tempuri.org/", IsWrapped=true)]
    public partial class Print2Request {
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
        public System.Collections.Generic.Dictionary<string, object> data;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=1)]
        public int copies;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=2)]
        public string tpl;
        public Print2Request() {
        }
        public Print2Request(System.Collections.Generic.Dictionary<string, object> data, int copies, string tpl) {
            this.data = data;
            this.copies = copies;
            this.tpl = tpl;
        }
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.MessageContractAttribute(WrapperName="Print2Response", WrapperNamespace="http://tempuri.org/", IsWrapped=true)]
    public partial class Print2Response {
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
        public bool Print2Result;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=1)]
        public string msg;
        public Print2Response() {
        }
        public Print2Response(bool Print2Result, string msg) {
            this.Print2Result = Print2Result;
            this.msg = msg;
        }
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.MessageContractAttribute(WrapperName="Print3", WrapperNamespace="http://tempuri.org/", IsWrapped=true)]
    public partial class Print3Request {
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
        public System.Collections.Generic.Dictionary<string, object> data;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=1)]
        public int copies;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=2)]
        public string tpl;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=3)]
        public string printerName;
        public Print3Request() {
        }
        public Print3Request(System.Collections.Generic.Dictionary<string, object> data, int copies, string tpl, string printerName) {
            this.data = data;
            this.copies = copies;
            this.tpl = tpl;
            this.printerName = printerName;
        }
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.MessageContractAttribute(WrapperName="Print3Response", WrapperNamespace="http://tempuri.org/", IsWrapped=true)]
    public partial class Print3Response {
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
        public bool Print3Result;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=1)]
        public string msg;
        public Print3Response() {
        }
        public Print3Response(bool Print3Result, string msg) {
            this.Print3Result = Print3Result;
            this.msg = msg;
        }
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.MessageContractAttribute(WrapperName="GetImage", WrapperNamespace="http://tempuri.org/", IsWrapped=true)]
    public partial class GetImageRequest {
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
        public System.Collections.Generic.Dictionary<string, object> data;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=1)]
        public string templateUrl;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=2)]
        public int width;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=3)]
        public int height;
        public GetImageRequest() {
        }
        public GetImageRequest(System.Collections.Generic.Dictionary<string, object> data, string templateUrl, int width, int height) {
            this.data = data;
            this.templateUrl = templateUrl;
            this.width = width;
            this.height = height;
        }
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.MessageContractAttribute(WrapperName="GetImageResponse", WrapperNamespace="http://tempuri.org/", IsWrapped=true)]
    public partial class GetImageResponse {
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
        public string GetImageResult;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=1)]
        public string msg;
        public GetImageResponse() {
        }
        public GetImageResponse(string GetImageResult, string msg) {
            this.GetImageResult = GetImageResult;
            this.msg = msg;
        }
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.MessageContractAttribute(WrapperName="GetPrinterStatus", WrapperNamespace="http://tempuri.org/", IsWrapped=true)]
    public partial class GetPrinterStatusRequest {
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
        public string printerName;
        public GetPrinterStatusRequest() {
        }
        public GetPrinterStatusRequest(string printerName) {
            this.printerName = printerName;
        }
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.MessageContractAttribute(WrapperName="GetPrinterStatusResponse", WrapperNamespace="http://tempuri.org/", IsWrapped=true)]
    public partial class GetPrinterStatusResponse {
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
        public int GetPrinterStatusResult;
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=1)]
        public string msg;
        public GetPrinterStatusResponse() {
        }
        public GetPrinterStatusResponse(int GetPrinterStatusResult, string msg) {
            this.GetPrinterStatusResult = GetPrinterStatusResult;
            this.msg = msg;
        }
    }
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IPrintWcfServiceChannel : iWarePrintService.PrintBaseService.IPrintWcfService, System.ServiceModel.IClientChannel {
    }
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class PrintWcfServiceClient : System.ServiceModel.ClientBase<iWarePrintService.PrintBaseService.IPrintWcfService>, iWarePrintService.PrintBaseService.IPrintWcfService {
        public PrintWcfServiceClient() {
        }
        public PrintWcfServiceClient(string endpointConfigurationName) :
                base(endpointConfigurationName) {
        }
        public PrintWcfServiceClient(string endpointConfigurationName, string remoteAddress) :
                base(endpointConfigurationName, remoteAddress) {
        }
        public PrintWcfServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
                base(endpointConfigurationName, remoteAddress) {
        }
        public PrintWcfServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
                base(binding, remoteAddress) {
        }
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        iWarePrintService.PrintBaseService.PrintResponse iWarePrintService.PrintBaseService.IPrintWcfService.Print(iWarePrintService.PrintBaseService.PrintRequest request) {
            return base.Channel.Print(request);
        }
        public bool Print(System.Collections.Generic.Dictionary<string, object> data, int copies, out string msg) {
            iWarePrintService.PrintBaseService.PrintRequest inValue = new iWarePrintService.PrintBaseService.PrintRequest();
            inValue.data = data;
            inValue.copies = copies;
            iWarePrintService.PrintBaseService.PrintResponse retVal = ((iWarePrintService.PrintBaseService.IPrintWcfService)(this)).Print(inValue);
            msg = retVal.msg;
            return retVal.PrintResult;
        }
        public System.Threading.Tasks.Task<iWarePrintService.PrintBaseService.PrintResponse> PrintAsync(iWarePrintService.PrintBaseService.PrintRequest request) {
            return base.Channel.PrintAsync(request);
        }
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        iWarePrintService.PrintBaseService.Print2Response iWarePrintService.PrintBaseService.IPrintWcfService.Print2(iWarePrintService.PrintBaseService.Print2Request request) {
            return base.Channel.Print2(request);
        }
        public bool Print2(System.Collections.Generic.Dictionary<string, object> data, int copies, string tpl, out string msg) {
            iWarePrintService.PrintBaseService.Print2Request inValue = new iWarePrintService.PrintBaseService.Print2Request();
            inValue.data = data;
            inValue.copies = copies;
            inValue.tpl = tpl;
            iWarePrintService.PrintBaseService.Print2Response retVal = ((iWarePrintService.PrintBaseService.IPrintWcfService)(this)).Print2(inValue);
            msg = retVal.msg;
            return retVal.Print2Result;
        }
        public System.Threading.Tasks.Task<iWarePrintService.PrintBaseService.Print2Response> Print2Async(iWarePrintService.PrintBaseService.Print2Request request) {
            return base.Channel.Print2Async(request);
        }
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        iWarePrintService.PrintBaseService.Print3Response iWarePrintService.PrintBaseService.IPrintWcfService.Print3(iWarePrintService.PrintBaseService.Print3Request request) {
            return base.Channel.Print3(request);
        }
        public bool Print3(System.Collections.Generic.Dictionary<string, object> data, int copies, string tpl, string printerName, out string msg) {
            iWarePrintService.PrintBaseService.Print3Request inValue = new iWarePrintService.PrintBaseService.Print3Request();
            inValue.data = data;
            inValue.copies = copies;
            inValue.tpl = tpl;
            inValue.printerName = printerName;
            iWarePrintService.PrintBaseService.Print3Response retVal = ((iWarePrintService.PrintBaseService.IPrintWcfService)(this)).Print3(inValue);
            msg = retVal.msg;
            return retVal.Print3Result;
        }
        public System.Threading.Tasks.Task<iWarePrintService.PrintBaseService.Print3Response> Print3Async(iWarePrintService.PrintBaseService.Print3Request request) {
            return base.Channel.Print3Async(request);
        }
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        iWarePrintService.PrintBaseService.GetImageResponse iWarePrintService.PrintBaseService.IPrintWcfService.GetImage(iWarePrintService.PrintBaseService.GetImageRequest request) {
            return base.Channel.GetImage(request);
        }
        public string GetImage(System.Collections.Generic.Dictionary<string, object> data, string templateUrl, int width, int height, out string msg) {
            iWarePrintService.PrintBaseService.GetImageRequest inValue = new iWarePrintService.PrintBaseService.GetImageRequest();
            inValue.data = data;
            inValue.templateUrl = templateUrl;
            inValue.width = width;
            inValue.height = height;
            iWarePrintService.PrintBaseService.GetImageResponse retVal = ((iWarePrintService.PrintBaseService.IPrintWcfService)(this)).GetImage(inValue);
            msg = retVal.msg;
            return retVal.GetImageResult;
        }
        public System.Threading.Tasks.Task<iWarePrintService.PrintBaseService.GetImageResponse> GetImageAsync(iWarePrintService.PrintBaseService.GetImageRequest request) {
            return base.Channel.GetImageAsync(request);
        }
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        iWarePrintService.PrintBaseService.GetPrinterStatusResponse iWarePrintService.PrintBaseService.IPrintWcfService.GetPrinterStatus(iWarePrintService.PrintBaseService.GetPrinterStatusRequest request) {
            return base.Channel.GetPrinterStatus(request);
        }
        public int GetPrinterStatus(string printerName, out string msg) {
            iWarePrintService.PrintBaseService.GetPrinterStatusRequest inValue = new iWarePrintService.PrintBaseService.GetPrinterStatusRequest();
            inValue.printerName = printerName;
            iWarePrintService.PrintBaseService.GetPrinterStatusResponse retVal = ((iWarePrintService.PrintBaseService.IPrintWcfService)(this)).GetPrinterStatus(inValue);
            msg = retVal.msg;
            return retVal.GetPrinterStatusResult;
        }
        public System.Threading.Tasks.Task<iWarePrintService.PrintBaseService.GetPrinterStatusResponse> GetPrinterStatusAsync(iWarePrintService.PrintBaseService.GetPrinterStatusRequest request) {
            return base.Channel.GetPrinterStatusAsync(request);
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/Reference.svcmap
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<ReferenceGroup xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="3c98c5d9-4101-4944-932a-f39239c195c2" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
  <ClientOptions>
    <GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
    <GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
    <EnableDataBinding>true</EnableDataBinding>
    <ExcludedTypes />
    <ImportXmlTypes>false</ImportXmlTypes>
    <GenerateInternalTypes>false</GenerateInternalTypes>
    <GenerateMessageContracts>false</GenerateMessageContracts>
    <NamespaceMappings />
    <CollectionMappings />
    <GenerateSerializableTypes>true</GenerateSerializableTypes>
    <Serializer>Auto</Serializer>
    <UseSerializerForFaults>true</UseSerializerForFaults>
    <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
    <ReferencedAssemblies />
    <ReferencedDataContractTypes />
    <ServiceContractMappings />
  </ClientOptions>
  <MetadataSources>
    <MetadataSource Address="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/" Protocol="http" SourceId="1" />
  </MetadataSources>
  <Metadata>
    <MetadataFile FileName="item.disco" MetadataType="Disco" ID="f1b86cc2-3685-4c9e-8d12-c42470a0045c" SourceId="1" SourceUrl="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/?disco" />
    <MetadataFile FileName="PrintWcfService.wsdl" MetadataType="Wsdl" ID="7a7c0fc1-e758-4cf5-b094-b25459c5b6ed" SourceId="1" SourceUrl="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/?wsdl" />
    <MetadataFile FileName="item.xsd" MetadataType="Schema" ID="25965488-92b4-4784-b26d-2f3bcc6a86b2" SourceId="1" SourceUrl="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/?xsd=xsd1" />
    <MetadataFile FileName="item1.xsd" MetadataType="Schema" ID="d5b28423-8cbe-4b59-81a9-960d6abd4e04" SourceId="1" SourceUrl="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/?xsd=xsd2" />
    <MetadataFile FileName="item2.xsd" MetadataType="Schema" ID="a6f4675b-b36a-40c8-afc8-b3ced54fa1c7" SourceId="1" SourceUrl="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/?xsd=xsd0" />
  </Metadata>
  <Extensions>
    <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
    <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
  </Extensions>
</ReferenceGroup>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/configuration.svcinfo
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<configurationSnapshot xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
  <behaviors />
  <bindings>
    <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data name=&quot;BasicHttpBinding_IPrintWcfService&quot; /&gt;" bindingType="basicHttpBinding" name="BasicHttpBinding_IPrintWcfService" />
  </bindings>
  <endpoints>
    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;BasicHttpBinding_IPrintWcfService&quot; contract=&quot;PrintBaseService.IPrintWcfService&quot; name=&quot;BasicHttpBinding_IPrintWcfService&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;BasicHttpBinding_IPrintWcfService&quot; contract=&quot;PrintBaseService.IPrintWcfService&quot; name=&quot;BasicHttpBinding_IPrintWcfService&quot; /&gt;" contractName="PrintBaseService.IPrintWcfService" name="BasicHttpBinding_IPrintWcfService" />
  </endpoints>
</configurationSnapshot>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/configuration91.svcinfo
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,201 @@
<?xml version="1.0" encoding="utf-8"?>
<SavedWcfConfigurationInformation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="9.1" CheckSum="C2B4zp1X1tHOQR07SgzooxkIZejeWzSPAZ1JMJSprRw=">
  <bindingConfigurations>
    <bindingConfiguration bindingType="basicHttpBinding" name="BasicHttpBinding_IPrintWcfService">
      <properties>
        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>BasicHttpBinding_IPrintWcfService</serializedValue>
        </property>
        <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>StrongWildcard</serializedValue>
        </property>
        <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>65536</serializedValue>
        </property>
        <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
        </property>
        <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>0</serializedValue>
        </property>
        <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>0</serializedValue>
        </property>
        <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>0</serializedValue>
        </property>
        <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>0</serializedValue>
        </property>
        <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>0</serializedValue>
        </property>
        <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.Text.UTF8Encoding</serializedValue>
        </property>
        <property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>Buffered</serializedValue>
        </property>
        <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>Text</serializedValue>
        </property>
        <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
        </property>
        <property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>None</serializedValue>
        </property>
        <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
        </property>
        <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>None</serializedValue>
        </property>
        <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>None</serializedValue>
        </property>
        <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
        </property>
        <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>Never</serializedValue>
        </property>
        <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>TransportSelected</serializedValue>
        </property>
        <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>(集合)</serializedValue>
        </property>
        <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
        </property>
        <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>UserName</serializedValue>
        </property>
        <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>Default</serializedValue>
        </property>
      </properties>
    </bindingConfiguration>
  </bindingConfigurations>
  <endpoints>
    <endpoint name="BasicHttpBinding_IPrintWcfService" contract="PrintBaseService.IPrintWcfService" bindingType="basicHttpBinding" address="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/" bindingConfiguration="BasicHttpBinding_IPrintWcfService">
      <properties>
        <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/</serializedValue>
        </property>
        <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>basicHttpBinding</serializedValue>
        </property>
        <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>BasicHttpBinding_IPrintWcfService</serializedValue>
        </property>
        <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>PrintBaseService.IPrintWcfService</serializedValue>
        </property>
        <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
        </property>
        <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>&lt;Header /&gt;</serializedValue>
        </property>
        <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
        </property>
        <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
        </property>
        <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
        </property>
        <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
        </property>
        <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
        </property>
        <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
        </property>
        <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
        </property>
        <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>My</serializedValue>
        </property>
        <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>LocalMachine</serializedValue>
        </property>
        <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>FindBySubjectDistinguishedName</serializedValue>
        </property>
        <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>False</serializedValue>
        </property>
        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue>BasicHttpBinding_IPrintWcfService</serializedValue>
        </property>
        <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
        <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <serializedValue />
        </property>
      </properties>
    </endpoint>
  </endpoints>
</SavedWcfConfigurationInformation>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/iWarePrintService.PrintBaseService.GetImageResponse.datasource
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
    This file is automatically generated by Visual Studio .Net. It is
    used to store generic object data source configuration information.
    Renaming the file extension or editing the content of this file may
    cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="GetImageResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
   <TypeInfo>iWarePrintService.PrintBaseService.GetImageResponse, Connected Services.PrintBaseService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/iWarePrintService.PrintBaseService.GetPrinterStatusResponse.datasource
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
    This file is automatically generated by Visual Studio .Net. It is
    used to store generic object data source configuration information.
    Renaming the file extension or editing the content of this file may
    cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="GetPrinterStatusResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
   <TypeInfo>iWarePrintService.PrintBaseService.GetPrinterStatusResponse, Connected Services.PrintBaseService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/iWarePrintService.PrintBaseService.Print2Response.datasource
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
    This file is automatically generated by Visual Studio .Net. It is
    used to store generic object data source configuration information.
    Renaming the file extension or editing the content of this file may
    cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="Print2Response" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
   <TypeInfo>iWarePrintService.PrintBaseService.Print2Response, Connected Services.PrintBaseService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/iWarePrintService.PrintBaseService.Print3Response.datasource
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
    This file is automatically generated by Visual Studio .Net. It is
    used to store generic object data source configuration information.
    Renaming the file extension or editing the content of this file may
    cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="Print3Response" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
   <TypeInfo>iWarePrintService.PrintBaseService.Print3Response, Connected Services.PrintBaseService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/iWarePrintService.PrintBaseService.PrintResponse.datasource
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
    This file is automatically generated by Visual Studio .Net. It is
    used to store generic object data source configuration information.
    Renaming the file extension or editing the content of this file may
    cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="PrintResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
   <TypeInfo>iWarePrintService.PrintBaseService.PrintResponse, Connected Services.PrintBaseService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/item.disco
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.xmlsoap.org/disco/">
  <contractRef ref="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/?wsdl" docRef="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
</discovery>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/item.xsd
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="anyType" nillable="true" type="xs:anyType" />
  <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
  <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
  <xs:element name="boolean" nillable="true" type="xs:boolean" />
  <xs:element name="byte" nillable="true" type="xs:byte" />
  <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
  <xs:element name="decimal" nillable="true" type="xs:decimal" />
  <xs:element name="double" nillable="true" type="xs:double" />
  <xs:element name="float" nillable="true" type="xs:float" />
  <xs:element name="int" nillable="true" type="xs:int" />
  <xs:element name="long" nillable="true" type="xs:long" />
  <xs:element name="QName" nillable="true" type="xs:QName" />
  <xs:element name="short" nillable="true" type="xs:short" />
  <xs:element name="string" nillable="true" type="xs:string" />
  <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
  <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
  <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
  <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
  <xs:element name="char" nillable="true" type="tns:char" />
  <xs:simpleType name="char">
    <xs:restriction base="xs:int" />
  </xs:simpleType>
  <xs:element name="duration" nillable="true" type="tns:duration" />
  <xs:simpleType name="duration">
    <xs:restriction base="xs:duration">
      <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
      <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
      <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="guid" nillable="true" type="tns:guid" />
  <xs:simpleType name="guid">
    <xs:restriction base="xs:string">
      <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:attribute name="FactoryType" type="xs:QName" />
  <xs:attribute name="Id" type="xs:ID" />
  <xs:attribute name="Ref" type="xs:IDREF" />
</xs:schema>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/item1.xsd
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="ArrayOfKeyValueOfstringanyType">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfstringanyType">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Key" nillable="true" type="xs:string" />
            <xs:element name="Value" nillable="true" type="xs:anyType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfKeyValueOfstringanyType" nillable="true" type="tns:ArrayOfKeyValueOfstringanyType" />
</xs:schema>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Connected Services/PrintBaseService/item2.xsd
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:8735/Design_Time_Addresses/Express_printer.wcf/PrintWcfService/?xsd=xsd2" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:element name="Print">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="data" nillable="true" type="q1:ArrayOfKeyValueOfstringanyType" />
        <xs:element minOccurs="0" name="copies" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PrintResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="PrintResult" type="xs:boolean" />
        <xs:element minOccurs="0" name="msg" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Print2">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="data" nillable="true" type="q2:ArrayOfKeyValueOfstringanyType" />
        <xs:element minOccurs="0" name="copies" type="xs:int" />
        <xs:element minOccurs="0" name="tpl" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Print2Response">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Print2Result" type="xs:boolean" />
        <xs:element minOccurs="0" name="msg" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Print3">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="data" nillable="true" type="q3:ArrayOfKeyValueOfstringanyType" />
        <xs:element minOccurs="0" name="copies" type="xs:int" />
        <xs:element minOccurs="0" name="tpl" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="printerName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Print3Response">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Print3Result" type="xs:boolean" />
        <xs:element minOccurs="0" name="msg" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetImage">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="data" nillable="true" type="q4:ArrayOfKeyValueOfstringanyType" />
        <xs:element minOccurs="0" name="templateUrl" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="width" type="xs:int" />
        <xs:element minOccurs="0" name="height" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetImageResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetImageResult" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="msg" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetPrinterStatus">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="printerName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetPrinterStatusResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetPrinterStatusResult" type="xs:int" />
        <xs:element minOccurs="0" name="msg" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Entity/ColumnEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
using System;
using System.Text;
using System.Collections.Generic;
namespace Excel2SQL
{
    //表列实体
    public class ColumnEntity
    {
        /// <summary>
        /// åºå·
        /// </summary>
        public string OrderNo { get; set; }
        /// <summary>
        /// å­—段名称
        /// </summary>
        public string ColumnName { get; set; }
        /// <summary>
        /// ä¸­æ–‡åç§°
        /// </summary>
        public string ChinaName { get; set; }
        /// <summary>
        /// æ•°æ®ç±»åž‹
        /// </summary>
        public string DataType { get; set; }
        /// <summary>
        /// æ•°æ®é•¿åº¦
        /// </summary>
        public string DataLength { get; set; }
        /// <summary>
        /// æ˜¯å¦å…è®¸ä¸ºç©º
        /// </summary>
        public string IsNullAuble { get; set; }
    }
    /// <summary>
    /// æ•°æ®ç±»åž‹æžšä¸¾
    /// </summary>
    public enum DataTypeEnum
    {
        dt_nvarchar = 0,
        dt_datetime = 1,
        dt_int = 2,
        dt_bigint = 3,
        dt_decimal = 4,
        dt_bit = 5,
        dt_varchar = 6,
        dt_char = 7
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Entity/MaterialEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
using System;
using System.Text;
using System.Collections.Generic;
namespace Excel2SQL
{
    //物料实体
    public class MaterialEntity
    {
        /// <summary>
        /// ç‰©æ–™å·
        /// </summary>
        public string MaterialCode { get; set; }
        /// <summary>
        /// ç‰©æ–™åç§°
        /// </summary>
        public string MaterialName { get; set; }
        /// <summary>
        /// ä¾›åº”商
        /// </summary>
        public string Vendor { get; set; }
        /// <summary>
        /// PO
        /// </summary>
        public string PO { get; set; }
        /// <summary>
        /// æ•°é‡
        /// </summary>
        public string Qty { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/File/CODE_39-123456789321.jpg
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/File/ExportFileTemplate/DO·¢»õ±êǩģ°å.xlsx
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/File/ExportFileTemplate/±êǩģ°å.xlsx
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/File/ExportFileTemplate/Éú²ú¶©µ¥·¢»õ±êǩģ°å.xlsx
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/File/ImportFileTemplate/Î人ÄÁÒ°Éú²ú¿âÁÙʱ±êÇ©.xlsx
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,174 @@
namespace WindowsFormsApplication1
{
    partial class Form1
    {
        /// <summary>
        /// å¿…需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// æ¸…理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows çª—体设计器生成的代码
        /// <summary>
        /// è®¾è®¡å™¨æ”¯æŒæ‰€éœ€çš„æ–¹æ³• - ä¸è¦
        /// ä½¿ç”¨ä»£ç ç¼–辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.tb_Msg = new System.Windows.Forms.TextBox();
            this.button2 = new System.Windows.Forms.Button();
            this.btn_SelectFile = new System.Windows.Forms.Button();
            this.tb_FilePath = new System.Windows.Forms.TextBox();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.label3 = new System.Windows.Forms.Label();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.label2 = new System.Windows.Forms.Label();
            this.label1 = new System.Windows.Forms.Label();
            this.SuspendLayout();
            //
            // tb_Msg
            //
            this.tb_Msg.Enabled = false;
            this.tb_Msg.Location = new System.Drawing.Point(11, 343);
            this.tb_Msg.Margin = new System.Windows.Forms.Padding(4);
            this.tb_Msg.Multiline = true;
            this.tb_Msg.Name = "tb_Msg";
            this.tb_Msg.Size = new System.Drawing.Size(802, 268);
            this.tb_Msg.TabIndex = 17;
            //
            // button2
            //
            this.button2.Location = new System.Drawing.Point(225, 254);
            this.button2.Margin = new System.Windows.Forms.Padding(4);
            this.button2.Name = "button2";
            this.button2.Size = new System.Drawing.Size(132, 42);
            this.button2.TabIndex = 16;
            this.button2.Text = "批量打印";
            this.button2.UseVisualStyleBackColor = true;
            this.button2.Visible = false;
            this.button2.Click += new System.EventHandler(this.button2_Click);
            //
            // btn_SelectFile
            //
            this.btn_SelectFile.Location = new System.Drawing.Point(36, 254);
            this.btn_SelectFile.Margin = new System.Windows.Forms.Padding(4);
            this.btn_SelectFile.Name = "btn_SelectFile";
            this.btn_SelectFile.Size = new System.Drawing.Size(132, 42);
            this.btn_SelectFile.TabIndex = 15;
            this.btn_SelectFile.Text = "选择文件";
            this.btn_SelectFile.UseVisualStyleBackColor = true;
            this.btn_SelectFile.Visible = false;
            this.btn_SelectFile.Click += new System.EventHandler(this.btn_SelectFile_Click);
            //
            // tb_FilePath
            //
            this.tb_FilePath.Enabled = false;
            this.tb_FilePath.Location = new System.Drawing.Point(15, 209);
            this.tb_FilePath.Margin = new System.Windows.Forms.Padding(4);
            this.tb_FilePath.Name = "tb_FilePath";
            this.tb_FilePath.Size = new System.Drawing.Size(412, 25);
            this.tb_FilePath.TabIndex = 14;
            this.tb_FilePath.Visible = false;
            //
            // textBox2
            //
            this.textBox2.Location = new System.Drawing.Point(162, 92);
            this.textBox2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(100, 25);
            this.textBox2.TabIndex = 13;
            this.textBox2.Text = "0.7";
            this.textBox2.Visible = false;
            //
            // label3
            //
            this.label3.AutoSize = true;
            this.label3.Font = new System.Drawing.Font("宋体", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label3.Location = new System.Drawing.Point(10, 92);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(125, 25);
            this.label3.TabIndex = 12;
            this.label3.Text = "上下偏移:";
            this.label3.Visible = false;
            //
            // textBox1
            //
            this.textBox1.Location = new System.Drawing.Point(162, 136);
            this.textBox1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(100, 25);
            this.textBox1.TabIndex = 11;
            this.textBox1.Text = "0.2";
            this.textBox1.Visible = false;
            //
            // label2
            //
            this.label2.AutoSize = true;
            this.label2.Font = new System.Drawing.Font("宋体", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label2.Location = new System.Drawing.Point(10, 136);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(125, 25);
            this.label2.TabIndex = 9;
            this.label2.Text = "左右偏移:";
            this.label2.Visible = false;
            //
            // label1
            //
            this.label1.AutoSize = true;
            this.label1.Font = new System.Drawing.Font("宋体", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label1.Location = new System.Drawing.Point(57, 16);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(283, 30);
            this.label1.TabIndex = 10;
            this.label1.Text = "自动打印任务执行中";
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(823, 626);
            this.Controls.Add(this.tb_Msg);
            this.Controls.Add(this.button2);
            this.Controls.Add(this.btn_SelectFile);
            this.Controls.Add(this.tb_FilePath);
            this.Controls.Add(this.textBox2);
            this.Controls.Add(this.label3);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.label2);
            this.Controls.Add(this.label1);
            this.Name = "Form1";
            this.Text = "鲁丽木业自动标签打印";
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);
            this.PerformLayout();
        }
        #endregion
        private System.Windows.Forms.TextBox tb_Msg;
        private System.Windows.Forms.Button button2;
        private System.Windows.Forms.Button btn_SelectFile;
        private System.Windows.Forms.TextBox tb_FilePath;
        public System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.Label label3;
        public System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.Label label1;
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,385 @@
using Admin.NET.Application;
using Admin.NET.Core.WareHouse.Enum;
using autuPrint.printService;
using Excel2SQL;
using iWareCommon;
using iWareCommon.Utils;
using iWareSql;
using iWareSql.DataAccess;
using iWareSql.MyDbContext;
using System;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using WindowsFormsApplication1.Common;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        //自动打印线程
        Thread AutoPrint, Colors;
        public Form1()
        {
            InitializeComponent();
        }
        private void btn_SelectFile_Click(object sender, EventArgs e)
        {
            OpenFileDialog fileDialog = new OpenFileDialog();
            fileDialog.Multiselect = true;
            fileDialog.Title = "请选择文件";
            fileDialog.Filter = "所有文件(*xls*)|*.xls*"; //设置要选择的文件的类型
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                string file = fileDialog.FileName;//返回文件的完整路径
                this.tb_FilePath.Text = file;
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                this.tb_Msg.Text = "打印:";
                string filePath = this.tb_FilePath.Text;
                if (filePath == string.Empty)
                {
                    MessageBox.Show("请选择Excel!");
                    return;
                }
                Dictionary<string, string> cellheader = new Dictionary<string, string> {
                    { "MaterialCode", "物料号" },
                    { "MaterialName", "物料名称" },
                    { "Vendor", "供应商" },
                    { "PO", "PO" },
                    { "Qty", "数量" }
                };
                // 1.2解析文件,存放到一个List集合里
                StringBuilder errorMsg = new StringBuilder(); // é”™è¯¯ä¿¡æ¯
                string tableDesc = "", tableName = "";
                List<MaterialEntity> enlist = ExcelHelper.ExcelToEntityListForCreateTable<MaterialEntity>(cellheader, filePath, out tableDesc, out tableName, out errorMsg);
                if (!string.IsNullOrEmpty(errorMsg.ToString()))
                {
                    MessageBox.Show("错误:" + errorMsg.ToString());
                    return;
                }
                enlist = enlist.Where(x => !string.IsNullOrEmpty(x.MaterialCode)).ToList();
                this.tb_Msg.Text = "处理条数:" + enlist.Count;
                if (enlist != null && enlist.Count > 0)
                {
                    foreach (var item in enlist)
                    {
                        if (string.IsNullOrEmpty(item.MaterialName))
                        {
                            continue;
                        }
                        this.do_autoPrint(item);
                    }
                    //MessageBox.Show("批量打印成功成功!");
                    return;
                }
                MessageBox.Show("无打印内容!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("错误:" + ex.Message.ToString());
                this.tb_Msg.Text = "异常:" + ex.Message;
            }
        }
        /// <summary>
        /// è‡ªåŠ¨æ‰“å°-行动
        /// </summary>
        public void do_autoPrint(MaterialEntity material)
        {
            try
            {
                #region å•个处理标签打印
                string barCode = material.MaterialName;//标签条码
                Image img = QrCodeAndBarCode.printQr(barCode);
                var errMsg = "";
                ware_material_print_history ware_Material_Print_History = new ware_material_print_history()
                {
                    Code = material.MaterialCode,
                    Name = material.MaterialName,
                    SupplierNo = material.Vendor,
                    PurchaseNo = material.PO,
                    Quantity = Convert.ToDecimal(material.Qty)
                };
                bool saveSucceed = creatExcelPrint.creatEXcel(img, ware_Material_Print_History, ref errMsg);
                if (saveSucceed)
                {
                    if (File.Exists(SystemConst.TEMPORARY_FILEPATH))
                    {
                        bool printSucceed = true;
                        printSucceed = print.printExcel(SystemConst.TEMPORARY_FILEPATH, SystemConst.Default_LeftMargin, SystemConst.Default_TopMargin);
                        if (printSucceed)
                        {
                            //打印成功 åˆ é™¤ä¸´æ—¶æ–‡ä»¶,并改状态
                            FileInfo myfile = new FileInfo(SystemConst.TEMPORARY_FILEPATH);//PartStatus
                            myfile.Delete();
                            int isSave = 1;
                            if (isSave < 1)
                            {
                                Log4NetHelper.WriteErrorLog(LogType.Print, "类名: Form1 æ–¹æ³•名: do_autoPrint ä¿®æ”¹åº“存自动打印状态失败,修改条数小于1  ", null);
                            }
                        }
                        //*/
                    }
                }
                else
                {
                    this.tb_Msg.Text = "失败,失败内容:" + errMsg;
                }
                #endregion
            }
            catch (Exception ex)
            {
                Log4NetHelper.WriteErrorLog(LogType.Print, "类名: Service1 æ–¹æ³•名: do_autoPrint è‡ªåŠ¨æ‰“å°æ–¹æ³•å‚æ•°è½¬æ¢å¤±è´¥ \r\n  " + ex.ToString(), ex);
                this.tb_Msg.Text = "失败异常 ï¼š" + ex.Message;
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            CheckForIllegalCrossThreadCalls = false;
            //检测是否已经开启
            Process current = Process.GetCurrentProcess();
            Process[] processes = Process.GetProcessesByName(current.ProcessName);
            foreach (Process process in processes)
            {
                if (process.Id != current.Id)
                {
                    if (process.MainModule.FileName == current.MainModule.FileName)
                    {
                        Environment.Exit(0);
                        return;
                    }
                }
            }
            Colors = new Thread(changeColor);
            Colors.Start();
            AutoPrint = new Thread(DBAutoPrint);
            AutoPrint.Start();
            new Thread(DeleteData).Start();
        }
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            Environment.Exit(0);//退出本进程所有线程
        }
        public void changeColor()
        {
            bool isChange = true;
            while (true)
            {
                Thread.Sleep(1000);
                if (isChange)
                {
                    label1.BackColor = Color.Yellow;
                }
                else
                {
                    label1.BackColor = Color.Pink;
                }
                isChange = !isChange;
            }
        }
        #region æ•°æ®åº“打印
        public void DBAutoPrint()
        {
            var errMsg = "";
            while (true)
            {
                try
                {
                    this.tb_Msg.Text = "循环开始...";
                    errMsg = "";//重置
                    try
                    {
                        Do(ref errMsg);
                        if (!string.IsNullOrEmpty(errMsg))
                        {
                            this.tb_Msg.Text = errMsg;
                        }
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.WriteErrorLog(LogType.Print, "打印处理的线程=>" + errMsg + ",异常:" + ex.Message, ex);
                        this.tb_Msg.Text = "打印处理的线程=>" + errMsg + ",异常:" + ex.Message;
                    }
                }
                catch (Exception ex)
                {
                    this.tb_Msg.Text = "出现异常:" + ex.Message;
                    Log4NetHelper.WriteErrorLog(LogType.Print, "Print å‡ºçŽ°å¼‚å¸¸ï¼š" + ex.Message, ex);
                }
                Thread.Sleep(2 * 1000);//休眠2秒
            }
        }
        /// <summary>
        /// æ‰“印
        /// </summary>
        /// <param name="model"></param>
        /// <param name="Lane"></param>
        /// <param name="flag"></param>
        /// <param name="errMsg"></param>
        private void Do(ref string errMsg)
        {
            using (WmsDBModel mycontext = new WmsDBModel())
            {
                var query_PrintStatuEnum = (int)PrintStatuEnum.未打印;
                var list = mycontext.wms_record_print.Where(x => (x.IsDelete == false) && x.PrintStatus == query_PrintStatuEnum)
                    .OrderBy(x => x.Id).ToList();
                wms_config_print printConfig = null;
                string _PrinterName = "";
                if (list.Count > 0)
                {
                }
                else
                {
                    errMsg = $"没有可打印的内容!";
                    return;
                }
                foreach (var item in list)
                {
                    PrintClassifyEnum printClassifyEnum = PrintClassifyEnum.包装条码;
                    printConfig = mycontext.wms_config_print.Where(x => x.PrintClassify == (int)printClassifyEnum).FirstOrDefault();
                    if (printConfig == null)
                    {
                        errMsg = $"没有找到{printClassifyEnum.ToString()}的打印配置!";
                        return;
                    }
                    //设置打印机,注意:这里只获取第一个,以后可能要改!
                    _PrinterName = printConfig.PrinterList.Split(',')[0];
                    //根据配置名字查询 æ‰“印机名字
                    //var printConfigData = mycontext.SysDictData.Where(x => x.Name == _PrinterName).FirstOrDefault();
                    //if (printConfigData == null)
                    //{
                    //    errMsg = $"没有找到{_PrinterName.ToString()}的打印机名字!";
                    //    return;
                    //}
                    //_PrinterName = printConfigData.Value;
                    Dictionary<string, object> data = new Dictionary<string, object>();
                    if (printClassifyEnum == PrintClassifyEnum.包装条码)
                    {
                        //data.Add("bar", item.SNCode);
                        //data.Add("material", item.MaterialCode ?? "" + "/" + item.MaterialName ?? "");
                        //data.Add("supplier", item.SupplierName ?? "");
                        //data.Add("unit", item.MaterialUnit ?? "");
                        //data.Add("qty", item.Quantity);
                        //data.Add("date", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    }
                    else
                    {
                    }
                    //调用打印接口
                    bool isSuccess = false;
                    using (iWarePrintService.PrintBaseService.PrintWcfServiceClient client = new iWarePrintService.PrintBaseService.PrintWcfServiceClient())
                    {
                        //isSuccess = client.Print3(data, 1, @"D:\打印程序\跟踪码打印模板\跟踪码打印模板_一维码.btw", "ZDesigner ZD888-203dpi ZPL", out errMsg);
                        //isSuccess = client.Print3(data, 1, @"D:\打印程序\跟踪码打印模板\跟踪码打印模板_二维码.btw", "ZDesigner ZD888-203dpi ZPL", out errMsg);
                        isSuccess = client.Print3(data, item.PrintSheetNum, printConfig.PrintTemplateAddr, _PrinterName, out errMsg);
                    }
                    if (isSuccess)
                    {
                        item.PrintStatus = 1;//打印状态(0:未打印 1:已打印)
                        item.PrintNum = (item.PrintNum) + 1;
                        mycontext.SaveChanges();
                    }
                    else
                    {
                        errMsg = $"打印错误 æ‰“印机名称{_PrinterName},错误信息:(打印服务返回)" + errMsg;
                        Log4NetHelper.WriteErrorLog(LogType.Print, errMsg, null);
                        return;
                    }
                    Thread.Sleep(2000);
                }
            }
        }
        #endregion
        #region å®šæ—¶åˆ é™¤æ•°æ®
        /// <summary>
        /// å®šæ—¶åˆ é™¤æ•°æ®
        /// </summary>
        public void DeleteData()
        {
            while (true)
            {
                try
                {
                    LogTextHelper.BatchDeleteLog();
                    Thread.Sleep(8 * 60 * 60 * 1000);//每天8小时一次
                }
                catch (Exception ex)
                {
                    Log4NetHelper.WriteErrorLog(iWareCommon.Utils.LogType.Sys_DeleteLog, "定时删除数据 å‡ºçް异叏", ex);
                }
                finally
                {
                }
            }
        }
        #endregion
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Helper/ConfigHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,105 @@
using System;
using System.Configuration;
namespace autuPrint
{
    /// <summary>
    /// web.config操作类
    /// Copyright (C) TBEA.WMS
    /// </summary>
    public sealed class ConfigHelper
    {
        /// <summary>
        /// å¾—到AppSettings中的配置字符串信息
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string GetConfigString(string key)
        {
            string CacheKey = "AppSettings-" + key;
            object objModel = DataCache.GetCache(CacheKey);
            if (objModel == null)
            {
                try
                {
                    objModel = ConfigurationManager.AppSettings[key];
                    if (objModel != null)
                    {
                        DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(180), TimeSpan.Zero);
                    }
                }
                catch
                { }
            }
            return objModel.ToString();
        }
        /// <summary>
        /// å¾—到AppSettings中的配置Bool信息
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static bool GetConfigBool(string key)
        {
            bool result = false;
            string cfgVal = GetConfigString(key);
            if(null != cfgVal && string.Empty != cfgVal)
            {
                try
                {
                    result = bool.Parse(cfgVal);
                }
                catch(FormatException)
                {
                    // Ignore format exceptions.
                }
            }
            return result;
        }
        /// <summary>
        /// å¾—到AppSettings中的配置Decimal信息
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static decimal GetConfigDecimal(string key)
        {
            decimal result = 0;
            string cfgVal = GetConfigString(key);
            if(null != cfgVal && string.Empty != cfgVal)
            {
                try
                {
                    result = decimal.Parse(cfgVal);
                }
                catch(FormatException)
                {
                    // Ignore format exceptions.
                }
            }
            return result;
        }
        /// <summary>
        /// å¾—到AppSettings中的配置int信息
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static int GetConfigInt(string key)
        {
            int result = 0;
            string cfgVal = GetConfigString(key);
            if(null != cfgVal && string.Empty != cfgVal)
            {
                try
                {
                    result = int.Parse(cfgVal);
                }
                catch(FormatException)
                {
                    // Ignore format exceptions.
                }
            }
            return result;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Helper/DataCache.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
using System;
using System.Web;
namespace autuPrint
{
    /// <summary>
    /// ç¼“存相关的操作类
    /// Copyright (C) TBEA.WMS
    /// </summary>
    public class DataCache
    {
        /// <summary>
        /// èŽ·å–å½“å‰åº”ç”¨ç¨‹åºæŒ‡å®šCacheKey的Cache值
        /// </summary>
        /// <param name="CacheKey"></param>
        /// <returns></returns>
        public static object GetCache(string CacheKey)
        {
            System.Web.Caching.Cache objCache = HttpRuntime.Cache;
            return objCache[CacheKey];
        }
        /// <summary>
        /// è®¾ç½®å½“前应用程序指定CacheKey的Cache值
        /// </summary>
        /// <param name="CacheKey"></param>
        /// <param name="objObject"></param>
        public static void SetCache(string CacheKey, object objObject)
        {
            System.Web.Caching.Cache objCache = HttpRuntime.Cache;
            objCache.Insert(CacheKey, objObject);
        }
        /// <summary>
        /// è®¾ç½®å½“前应用程序指定CacheKey的Cache值
        /// </summary>
        /// <param name="CacheKey"></param>
        /// <param name="objObject"></param>
        public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration,TimeSpan slidingExpiration )
        {
            System.Web.Caching.Cache objCache = HttpRuntime.Cache;
            objCache.Insert(CacheKey, objObject,null,absoluteExpiration,slidingExpiration);
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Program.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    static class Program
    {
        public static Form1 f = new Form1();
        /// <summary>
        /// åº”用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            //Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Form1());
            bool result;
            Mutex MyMutex = new Mutex(true, "autuPrint", out result);
            if (result)
            {
                Application.Run(f);
            }
            else
            {
                //程序已经启动
                MessageBox.Show("自动打印程序已启动");
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Properties/AssemblyInfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// æœ‰å…³ç¨‹åºé›†çš„常规信息通过以下
// ç‰¹æ€§é›†æŽ§åˆ¶ã€‚更改这些特性值可修改
// ä¸Žç¨‹åºé›†å…³è”的信息。
[assembly: AssemblyTitle("WindowsFormsApplication1")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("WindowsFormsApplication1")]
[assembly: AssemblyCopyright("Copyright Â©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// å°† ComVisible è®¾ç½®ä¸º false ä½¿æ­¤ç¨‹åºé›†ä¸­çš„类型
// å¯¹ COM ç»„件不可见。  å¦‚果需要从 COM è®¿é—®æ­¤ç¨‹åºé›†ä¸­çš„类型,
// åˆ™å°†è¯¥ç±»åž‹ä¸Šçš„ ComVisible ç‰¹æ€§è®¾ç½®ä¸º true。
[assembly: ComVisible(false)]
// å¦‚果此项目向 COM å…¬å¼€ï¼Œåˆ™ä¸‹åˆ— GUID ç”¨äºŽç±»åž‹åº“çš„ ID
[assembly: Guid("aa711afb-65d2-4ee2-a619-3c132f71fe74")]
// ç¨‹åºé›†çš„版本信息由下面四个值组成:
//
//      ä¸»ç‰ˆæœ¬
//      æ¬¡ç‰ˆæœ¬
//      ç”Ÿæˆå·
//      ä¿®è®¢å·
//
// å¯ä»¥æŒ‡å®šæ‰€æœ‰è¿™äº›å€¼ï¼Œä¹Ÿå¯ä»¥ä½¿ç”¨â€œç”Ÿæˆå·â€å’Œâ€œä¿®è®¢å·â€çš„默认值,
// æ–¹æ³•是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Properties/Resources.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
//     æ­¤ä»£ç ç”±å·¥å…·ç”Ÿæˆã€‚
//     è¿è¡Œæ—¶ç‰ˆæœ¬:4.0.30319.42000
//
//     å¯¹æ­¤æ–‡ä»¶çš„æ›´æ”¹å¯èƒ½ä¼šå¯¼è‡´ä¸æ­£ç¡®çš„行为,并且如果
//     é‡æ–°ç”Ÿæˆä»£ç ï¼Œè¿™äº›æ›´æ”¹å°†ä¼šä¸¢å¤±ã€‚
// </auto-generated>
//------------------------------------------------------------------------------
namespace iWarePrintService.Properties {
    using System;
    /// <summary>
    ///   ä¸€ä¸ªå¼ºç±»åž‹çš„资源类,用于查找本地化的字符串等。
    /// </summary>
    // æ­¤ç±»æ˜¯ç”± StronglyTypedResourceBuilder
    // ç±»é€šè¿‡ç±»ä¼¼äºŽ ResGen æˆ– Visual Studio çš„工具自动生成的。
    // è‹¥è¦æ·»åŠ æˆ–ç§»é™¤æˆå‘˜ï¼Œè¯·ç¼–è¾‘ .ResX æ–‡ä»¶ï¼Œç„¶åŽé‡æ–°è¿è¡Œ ResGen
    // (以 /str ä½œä¸ºå‘½ä»¤é€‰é¡¹),或重新生成 VS é¡¹ç›®ã€‚
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    internal class Resources {
        private static global::System.Resources.ResourceManager resourceMan;
        private static global::System.Globalization.CultureInfo resourceCulture;
        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
        internal Resources() {
        }
        /// <summary>
        ///   è¿”回此类使用的缓存的 ResourceManager å®žä¾‹ã€‚
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        internal static global::System.Resources.ResourceManager ResourceManager {
            get {
                if (object.ReferenceEquals(resourceMan, null)) {
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("iWarePrintService.Properties.Resources", typeof(Resources).Assembly);
                    resourceMan = temp;
                }
                return resourceMan;
            }
        }
        /// <summary>
        ///   é‡å†™å½“前线程的 CurrentUICulture å±žæ€§ï¼Œå¯¹
        ///   ä½¿ç”¨æ­¤å¼ºç±»åž‹èµ„源类的所有资源查找执行重写。
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        internal static global::System.Globalization.CultureInfo Culture {
            get {
                return resourceCulture;
            }
            set {
                resourceCulture = value;
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Properties/Resources.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Properties/Settings.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
//     æ­¤ä»£ç ç”±å·¥å…·ç”Ÿæˆã€‚
//     è¿è¡Œæ—¶ç‰ˆæœ¬:4.0.30319.42000
//
//     å¯¹æ­¤æ–‡ä»¶çš„æ›´æ”¹å¯èƒ½ä¼šå¯¼è‡´ä¸æ­£ç¡®çš„行为,并且如果
//     é‡æ–°ç”Ÿæˆä»£ç ï¼Œè¿™äº›æ›´æ”¹å°†ä¼šä¸¢å¤±ã€‚
// </auto-generated>
//------------------------------------------------------------------------------
namespace iWarePrintService.Properties {
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")]
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
        public static Settings Default {
            get {
                return defaultInstance;
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Properties/Settings.settings
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Utility/Common.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,127 @@
using Excel2SQL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace GenerateModel
{
    /// <summary>
    /// å…¬å…±ç±»
    /// </summary>
    public class Common
    {
        /// <summary>
        /// å½“前时间字符串
        /// </summary>
        /// <returns></returns>
        public static string GetCurDate()
        {
            return DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day
                            + " "
                            + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second;
        }
        /// <summary>
        /// ç”Ÿæˆå±žæ€§å­—符串
        /// </summary>
        /// <param name="columnModel"></param>
        /// <returns></returns>
        public static string GetStrForColumnListStr(List<ColumnEntity> columnList, string primaryKey)
        {
            try
            {
                StringBuilder sb = new StringBuilder();
                string str_isNull = "";
                string tabStr = "   ";//默认的tab值
                int i = 0;
                foreach (var item in columnList)
                {
                    if (item.ColumnName == null)
                        continue;
                    i++;
                    if (i == 1)
                    {
                        tabStr = "";
                    }
                    else
                    {
                        tabStr = "   ";//默认的tab值
                    }
                    if (item.ColumnName.ToUpper() == primaryKey.ToUpper())
                        continue;
                    str_isNull = " NULL ";
                    if (item.IsNullAuble == "Y")
                    {
                        str_isNull = " NOT NULL ";
                    }
                    //获取数据类型
                    DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + item.DataType.ToLower());
                    switch (enumDT)
                    {
                        case DataTypeEnum.dt_char:
                            sb.Append(tabStr + item.ColumnName + "    CHAR(" + item.DataLength + ")  " + str_isNull + ", -- " + item.ChinaName + "\n");
                            break;
                        case DataTypeEnum.dt_varchar:
                        case DataTypeEnum.dt_nvarchar:
                            sb.Append(tabStr + item.ColumnName + "    NVARCHAR(" + item.DataLength + ")  " + str_isNull + ", -- " + item.ChinaName + "\n");
                            break;
                        case DataTypeEnum.dt_int:
                            sb.Append(tabStr + item.ColumnName + "    INT  " + str_isNull + ", -- " + item.ChinaName + "\n");
                            break;
                        case DataTypeEnum.dt_bigint:
                            sb.Append(tabStr + item.ColumnName + "    BIGINT  " + str_isNull + ", -- " + item.ChinaName + "\n");
                            break;
                        case DataTypeEnum.dt_datetime:
                            sb.Append(tabStr + item.ColumnName + "    DATETIME  " + str_isNull + ", -- " + item.ChinaName + "\n");
                            break;
                        case DataTypeEnum.dt_bit:
                            sb.Append(tabStr + item.ColumnName + "    BIT  " + str_isNull + ", -- " + item.ChinaName + "\n");
                            break;
                        case DataTypeEnum.dt_decimal:
                            sb.Append(tabStr + item.ColumnName + "    DECIMAL" + item.DataLength + " " + str_isNull + ", -- " + item.ChinaName + "\n");
                            break;
                    }
                }
                string resStr = sb.ToString();
                if (resStr != "")
                {
                    resStr = resStr.Substring(0, resStr.Length - 1);
                }
                return resStr;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// ç”Ÿæˆå”¯ä¸€ç´¢å¼•
        /// </summary>
        /// <param name="tableName"></param>
        /// <param name="unqiueIndex"></param>
        /// <returns></returns>
        public static string GetUniqueIndex(string tableName, string unqiueIndex)
        {
            if (unqiueIndex == "")
            {
                return "";
            }
            StringBuilder sb = new StringBuilder();
            sb.Append("IF NOT EXISTS(select 1 from sysindexes where id=object_id('" + tableName + "') and name='" + tableName + "_idx')  \n");
            sb.Append("CREATE UNIQUE INDEX \n");
            sb.Append("    " + tableName + "_idx ON " + tableName + "(" + unqiueIndex + ")  \n");
            sb.Append("GO \n");
            return sb.ToString();
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Utility/ExcelHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,512 @@
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace Excel2SQL
{
    /// <summary>
    /// Excel操作类
    /// </summary>
    public class ExcelHelper
    {
        /// <summary>
        /// ä»ŽExcel取数据并记录到List集合里
        /// </summary>
        /// <param name="cellHeard">单元头的值和名称:{ { "UserName", "姓名" }, { "Age", "年龄" } };</param>
        /// <param name="filePath">保存文件绝对路径</param>
        /// <param name="errorMsg">错误信息</param>
        /// <returns>转换后的List对象集合</returns>
        public static List<T> ExcelToEntityListForCreateTable<T>(Dictionary<string, string> cellHeard, string filePath,
            out string tableDesc, out string tableName,
            out StringBuilder errorMsg) where T : new()
        {
            List<T> enlist = new List<T>();
            errorMsg = new StringBuilder();
            try
            {
                enlist = Excel2003ToEntityListForCreateTable<T>(cellHeard, filePath, out tableDesc, out tableName, out errorMsg);
                return enlist;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// ä»ŽExcel取数据并记录到List集合里
        /// </summary>
        /// <param name="cellHeard">单元头的值和名称:{ { "UserName", "姓名" }, { "Age", "年龄" } };</param>
        /// <param name="filePath">保存文件绝对路径</param>
        /// <param name="errorMsg">错误信息</param>
        /// <returns>转换后的List对象集合</returns>
        public static List<T> ExcelToEntityListForInitCodeItems<T>(Dictionary<string, string> cellHeard, string filePath,
            out StringBuilder errorMsg) where T : new()
        {
            List<T> enlist = new List<T>();
            errorMsg = new StringBuilder();
            try
            {
                enlist = Excel2003ToEntityListForInitCodeItems<T>(cellHeard, filePath, out errorMsg);
                return enlist;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// ä»ŽExcel2003取数据并记录到List集合里
        /// </summary>
        /// <param name="cellHeard">单元头的Key和Value:{ { "UserName", "姓名" }, { "Age", "年龄" } };</param>
        /// <param name="filePath">保存文件绝对路径</param>
        /// <param name="errorMsg">错误信息</param>
        /// <returns>转换好的List对象集合</returns>
        private static List<T> Excel2003ToEntityListForCreateTable<T>(Dictionary<string, string> cellHeard,
            string filePath, out string tableDesc, out string tableName, out StringBuilder errorMsg) where T : new()
        {
            errorMsg = new StringBuilder(); // é”™è¯¯ä¿¡æ¯,Excel转换到实体对象时,会有格式的错误信息
            List<T> enlist = new List<T>(); // è½¬æ¢åŽçš„集合
            List<string> keys = cellHeard.Keys.ToList(); // è¦èµ‹å€¼çš„实体对象属性名称
            tableDesc = "";
            tableName = "";
            try
            {
                IWorkbook workbook = GetWorkBook(filePath);
                if (workbook == null)
                {
                    errorMsg.Append("没有找到IWorkbook");
                    return null;
                }
                ISheet sheet = (ISheet)workbook.GetSheetAt(0); // èŽ·å–æ­¤æ–‡ä»¶ç¬¬ä¸€ä¸ªSheet页
                //ICell cell = sheet.GetRow(0).GetCell(0);
                //tableDesc = cell.StringCellValue;
                //cell = sheet.GetRow(1).GetCell(0);
                for (int i = 1; i <= sheet.LastRowNum; i++) // ä»Ž3开始,第0行为表汉字名,第1行是表名,第2行是单元头
                {
                    // 1.判断当前行是否空行,若空行就不在进行读取下一行操作,结束Excel读取操作
                    if (sheet.GetRow(i) == null)
                    {
                        break;
                    }
                    T en = new T();
                    string errStr = ""; // å½“前行转换时,是否有错误信息,格式为:第1行数据转换异常:XXX列;
                    for (int j = 0; j < keys.Count; j++)
                    {
                        // 2.若属性头的名称包含'.',就表示是子类里的属性,那么就要遍历子类,eg:UserEn.TrueName
                        if (keys[j].IndexOf(".") >= 0)
                        {
                            // 2.1解析子类属性
                            string[] properotyArray = keys[j].Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries);
                            string subClassName = properotyArray[0]; // '.'前面的为子类的名称
                            string subClassProperotyName = properotyArray[1]; // '.'后面的为子类的属性名称
                            System.Reflection.PropertyInfo subClassInfo = en.GetType().GetProperty(subClassName); // èŽ·å–å­ç±»çš„ç±»åž‹
                            if (subClassInfo != null)
                            {
                                // 2.1.1 èŽ·å–å­ç±»çš„å®žä¾‹
                                var subClassEn = en.GetType().GetProperty(subClassName).GetValue(en, null);
                                // 2.1.2 æ ¹æ®å±žæ€§åç§°èŽ·å–å­ç±»é‡Œçš„å±žæ€§ä¿¡æ¯
                                System.Reflection.PropertyInfo properotyInfo = subClassInfo.PropertyType.GetProperty(subClassProperotyName);
                                if (properotyInfo != null)
                                {
                                    try
                                    {
                                        // Excel单元格的值转换为对象属性的值,若类型不对,记录出错信息
                                        properotyInfo.SetValue(subClassEn, GetExcelCellToProperty(properotyInfo.PropertyType, sheet.GetRow(i).GetCell(j)), null);
                                    }
                                    catch (Exception e)
                                    {
                                        if (errStr.Length == 0)
                                        {
                                            errStr = "第" + i + "行数据转换异常:";
                                        }
                                        errStr += cellHeard[keys[j]] + "列;";
                                    }
                                }
                            }
                        }
                        else
                        {
                            // 3.给指定的属性赋值
                            System.Reflection.PropertyInfo properotyInfo = en.GetType().GetProperty(keys[j]);
                            if (properotyInfo != null)
                            {
                                try
                                {
                                    // Excel单元格的值转换为对象属性的值,若类型不对,记录出错信息
                                    properotyInfo.SetValue(en, GetExcelCellToProperty(properotyInfo.PropertyType, sheet.GetRow(i).GetCell(j)), null);
                                }
                                catch (Exception e)
                                {
                                    if (errStr.Length == 0)
                                    {
                                        errStr = "第" + i + "行数据转换异常:";
                                    }
                                    errStr += cellHeard[keys[j]] + "列;";
                                }
                            }
                        }
                    }
                    // è‹¥æœ‰é”™è¯¯ä¿¡æ¯ï¼Œå°±æ·»åŠ åˆ°é”™è¯¯ä¿¡æ¯é‡Œ
                    if (errStr.Length > 0)
                    {
                        errorMsg.AppendLine(errStr);
                    }
                    enlist.Add(en);
                }
                return enlist;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// ä»ŽExcel2003取数据并记录到List集合里
        /// </summary>
        /// <param name="cellHeard">单元头的Key和Value:{ { "UserName", "姓名" }, { "Age", "年龄" } };</param>
        /// <param name="filePath">保存文件绝对路径</param>
        /// <param name="errorMsg">错误信息</param>
        /// <returns>转换好的List对象集合</returns>
        private static List<T> Excel2003ToEntityListForInitCodeItems<T>(Dictionary<string, string> cellHeard,
            string filePath, out StringBuilder errorMsg) where T : new()
        {
            errorMsg = new StringBuilder(); // é”™è¯¯ä¿¡æ¯,Excel转换到实体对象时,会有格式的错误信息
            List<T> enlist = new List<T>(); // è½¬æ¢åŽçš„集合
            List<string> keys = cellHeard.Keys.ToList(); // è¦èµ‹å€¼çš„实体对象属性名称
            try
            {
                IWorkbook workbook = GetWorkBook(filePath);
                if (workbook == null)
                {
                    errorMsg.Append("没有找到IWorkbook");
                    return null;
                }
                ISheet sheet = (ISheet)workbook.GetSheetAt(0); // èŽ·å–æ­¤æ–‡ä»¶ç¬¬ä¸€ä¸ªSheet页
                for (int i = 1; i <= sheet.LastRowNum; i++) // ä»Ž1开始,第0行是单元头
                {
                    // 1.判断当前行是否空行,若空行就不在进行读取下一行操作,结束Excel读取操作
                    if (sheet.GetRow(i) == null)
                    {
                        break;
                    }
                    T en = new T();
                    string errStr = ""; // å½“前行转换时,是否有错误信息,格式为:第1行数据转换异常:XXX列;
                    for (int j = 0; j < keys.Count; j++)
                    {
                        // 2.若属性头的名称包含'.',就表示是子类里的属性,那么就要遍历子类,eg:UserEn.TrueName
                        if (keys[j].IndexOf(".") >= 0)
                        {
                            // 2.1解析子类属性
                            string[] properotyArray = keys[j].Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries);
                            string subClassName = properotyArray[0]; // '.'前面的为子类的名称
                            string subClassProperotyName = properotyArray[1]; // '.'后面的为子类的属性名称
                            System.Reflection.PropertyInfo subClassInfo = en.GetType().GetProperty(subClassName); // èŽ·å–å­ç±»çš„ç±»åž‹
                            if (subClassInfo != null)
                            {
                                // 2.1.1 èŽ·å–å­ç±»çš„å®žä¾‹
                                var subClassEn = en.GetType().GetProperty(subClassName).GetValue(en, null);
                                // 2.1.2 æ ¹æ®å±žæ€§åç§°èŽ·å–å­ç±»é‡Œçš„å±žæ€§ä¿¡æ¯
                                System.Reflection.PropertyInfo properotyInfo = subClassInfo.PropertyType.GetProperty(subClassProperotyName);
                                if (properotyInfo != null)
                                {
                                    try
                                    {
                                        // Excel单元格的值转换为对象属性的值,若类型不对,记录出错信息
                                        properotyInfo.SetValue(subClassEn, GetExcelCellToProperty(properotyInfo.PropertyType, sheet.GetRow(i).GetCell(j)), null);
                                    }
                                    catch (Exception e)
                                    {
                                        if (errStr.Length == 0)
                                        {
                                            errStr = "第" + i + "行数据转换异常:";
                                        }
                                        errStr += cellHeard[keys[j]] + "列;";
                                    }
                                }
                            }
                        }
                        else
                        {
                            // 3.给指定的属性赋值
                            System.Reflection.PropertyInfo properotyInfo = en.GetType().GetProperty(keys[j]);
                            if (properotyInfo != null)
                            {
                                try
                                {
                                    // Excel单元格的值转换为对象属性的值,若类型不对,记录出错信息
                                    properotyInfo.SetValue(en, GetExcelCellToProperty(properotyInfo.PropertyType, sheet.GetRow(i).GetCell(j)), null);
                                }
                                catch (Exception e)
                                {
                                    if (errStr.Length == 0)
                                    {
                                        errStr = "第" + i + "行数据转换异常:";
                                    }
                                    errStr += cellHeard[keys[j]] + "列;";
                                }
                            }
                        }
                    }
                    // è‹¥æœ‰é”™è¯¯ä¿¡æ¯ï¼Œå°±æ·»åŠ åˆ°é”™è¯¯ä¿¡æ¯é‡Œ
                    if (errStr.Length > 0)
                    {
                        errorMsg.AppendLine(errStr);
                    }
                    enlist.Add(en);
                }
                return enlist;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// ä»ŽExcel获取值传递到对象的属性里
        /// </summary>
        /// <param name="distanceType">目标对象类型</param>
        /// <param name="sourceCell">对象属性的值</param>
        private static Object GetExcelCellToProperty(Type distanceType, ICell sourceCell)
        {
            object rs = distanceType.IsValueType ? Activator.CreateInstance(distanceType) : null;
            // 1.判断传递的单元格是否为空
            if (sourceCell == null || string.IsNullOrEmpty(sourceCell.ToString()))
            {
                return rs;
            }
            // 2.Excel文本和数字单元格转换,在Excel里文本和数字是不能进行转换,所以这里预先存值
            object sourceValue = null;
            switch (sourceCell.CellType)
            {
                case CellType.Blank:
                    break;
                case CellType.Boolean:
                    break;
                case CellType.Error:
                    break;
                case CellType.Formula:
                    break;
                case CellType.Numeric:
                    sourceValue = sourceCell.NumericCellValue;
                    break;
                case CellType.String:
                    sourceValue = sourceCell.StringCellValue;
                    break;
                case CellType.Unknown:
                    break;
                default:
                    break;
            }
            string valueDataType = distanceType.Name;
            // åœ¨è¿™é‡Œè¿›è¡Œç‰¹å®šç±»åž‹çš„处理
            switch (valueDataType.ToLower()) // ä»¥é˜²å‡ºé”™ï¼Œå…¨éƒ¨å°å†™
            {
                case "string":
                    rs = sourceValue.ToString().Trim();//移除空格
                    break;
                case "int":
                case "int16":
                case "int32":
                    rs = (int)Convert.ChangeType(sourceCell.NumericCellValue.ToString(), distanceType);
                    break;
                case "float":
                case "single":
                    rs = (float)Convert.ChangeType(sourceCell.NumericCellValue.ToString(), distanceType);
                    break;
                case "datetime":
                    rs = sourceCell.DateCellValue;
                    break;
                case "guid":
                    rs = (Guid)Convert.ChangeType(sourceCell.NumericCellValue.ToString(), distanceType);
                    return rs;
            }
            return rs;
        }
        /// <summary>
        /// èŽ·å–IWorkbook
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        private static IWorkbook GetWorkBook(string filePath)
        {
            IWorkbook workbook = null;
            using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read))
            {
                //获取后缀名
                string extension = filePath.Substring(filePath.LastIndexOf(".")).ToString().ToLower();
                //判断是否是excel文件
                if (extension == ".xlsx" || extension == ".xls")
                {
                    //判断excel的版本
                    if (extension == ".xlsx")
                    {
                        workbook = new XSSFWorkbook(fs);
                    }
                    else
                    {
                        workbook = new HSSFWorkbook(fs);
                    }
                }
            }
            return workbook;
        }
        #region æµ‹è¯•用例汇总
        public static List<T> ExcelToEntityListForCSYLHZ<T>(Dictionary<string, string> cellHeard, string filePath,
           out StringBuilder errorMsg) where T : new()
        {
            List<T> enlist = new List<T>();
            errorMsg = new StringBuilder();
            try
            {
                enlist = Excel2003ToEntityListForCSYLHZ<T>(cellHeard, filePath, out errorMsg);
                return enlist;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private static List<T> Excel2003ToEntityListForCSYLHZ<T>(Dictionary<string, string> cellHeard,
   string filePath, out StringBuilder errorMsg) where T : new()
        {
            errorMsg = new StringBuilder(); // é”™è¯¯ä¿¡æ¯,Excel转换到实体对象时,会有格式的错误信息
            List<T> enlist = new List<T>(); // è½¬æ¢åŽçš„集合
            List<string> keys = cellHeard.Keys.ToList(); // è¦èµ‹å€¼çš„实体对象属性名称
            try
            {
                IWorkbook workbook = GetWorkBook(filePath);
                if (workbook == null)
                {
                    errorMsg.Append("没有找到IWorkbook");
                    return null;
                }
                int sheets = workbook.NumberOfSheets;
                for (int pp = 0; pp < sheets - 1; pp++)
                {
                    ISheet sheet = (ISheet)workbook.GetSheetAt(pp); // èŽ·å–æ­¤æ–‡ä»¶ç¬¬ä¸€ä¸ªSheet页
                    for (int i = 6; i <= sheet.LastRowNum; i++) // ä»Ž1开始,第0行是单元头
                    {
                        // 1.判断当前行是否空行,若空行就不在进行读取下一行操作,结束Excel读取操作
                        if (sheet.GetRow(i) == null)
                        {
                            break;
                        }
                        T en = new T();
                        string errStr = ""; // å½“前行转换时,是否有错误信息,格式为:第1行数据转换异常:XXX列;
                        for (int j = 0; j < keys.Count; j++)
                        {
                            // 2.若属性头的名称包含'.',就表示是子类里的属性,那么就要遍历子类,eg:UserEn.TrueName
                            if (keys[j].IndexOf(".") >= 0)
                            {
                                // 2.1解析子类属性
                                string[] properotyArray = keys[j].Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries);
                                string subClassName = properotyArray[0]; // '.'前面的为子类的名称
                                string subClassProperotyName = properotyArray[1]; // '.'后面的为子类的属性名称
                                System.Reflection.PropertyInfo subClassInfo = en.GetType().GetProperty(subClassName); // èŽ·å–å­ç±»çš„ç±»åž‹
                                if (subClassInfo != null)
                                {
                                    // 2.1.1 èŽ·å–å­ç±»çš„å®žä¾‹
                                    var subClassEn = en.GetType().GetProperty(subClassName).GetValue(en, null);
                                    // 2.1.2 æ ¹æ®å±žæ€§åç§°èŽ·å–å­ç±»é‡Œçš„å±žæ€§ä¿¡æ¯
                                    System.Reflection.PropertyInfo properotyInfo = subClassInfo.PropertyType.GetProperty(subClassProperotyName);
                                    if (properotyInfo != null)
                                    {
                                        try
                                        {
                                            // Excel单元格的值转换为对象属性的值,若类型不对,记录出错信息
                                            properotyInfo.SetValue(subClassEn, GetExcelCellToProperty(properotyInfo.PropertyType, sheet.GetRow(i).GetCell(j)), null);
                                        }
                                        catch (Exception e)
                                        {
                                            if (errStr.Length == 0)
                                            {
                                                errStr = "第" + i + "行数据转换异常:";
                                            }
                                            errStr += cellHeard[keys[j]] + "列;";
                                        }
                                    }
                                }
                            }
                            else
                            {
                                // 3.给指定的属性赋值
                                System.Reflection.PropertyInfo properotyInfo = en.GetType().GetProperty(keys[j]);
                                if (properotyInfo != null)
                                {
                                    try
                                    {
                                        // Excel单元格的值转换为对象属性的值,若类型不对,记录出错信息
                                        properotyInfo.SetValue(en, GetExcelCellToProperty(properotyInfo.PropertyType, sheet.GetRow(i).GetCell(j)), null);
                                    }
                                    catch (Exception e)
                                    {
                                        if (errStr.Length == 0)
                                        {
                                            errStr = "第" + i + "行数据转换异常:";
                                        }
                                        errStr += cellHeard[keys[j]] + "列;";
                                    }
                                }
                            }
                        }
                        // è‹¥æœ‰é”™è¯¯ä¿¡æ¯ï¼Œå°±æ·»åŠ åˆ°é”™è¯¯ä¿¡æ¯é‡Œ
                        if (errStr.Length > 0)
                        {
                            errorMsg.AppendLine(errStr);
                        }
                        enlist.Add(en);
                    }
                }
                return enlist;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        #endregion
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Utility/TextHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Excel2SQL
{
    public class TextHelper
    {
        /// <summary>
        /// è¯»å–text文本内容
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public static string ReadText(string path)
        {
            try
            {
                StreamReader sr = new StreamReader(path, Encoding.Default);
                String line;
                StringBuilder sb = new StringBuilder();
                while ((line = sr.ReadLine()) != null)
                {
                    sb.Append(line.ToString() + " \n");
                }
                return sb.ToString();
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// ç”Ÿæˆæ–‡ä»¶
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="fileName"></param>
        /// <param name="textContent"></param>
        public static void CreateFile(string filePath, string fileName, string textContent)
        {
            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }
            string txtName = filePath + "\\" + fileName;
            using (StreamWriter outfile = new StreamWriter(txtName, false, Encoding.GetEncoding("UTF-8")))
            {
                outfile.Write(textContent);
                outfile.Close();
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/Aspose.Cells.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/Barcode.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/Barcode.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2159 @@
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Barcode</name>
    </assembly>
    <members>
        <member name="T:Limilabs.Barcode.Barcode128">
            <summary>
            Code 128 barcode class. <seealso cref="T:Limilabs.Barcode.BarcodeEAN128" />
            </summary>
            <remarks>
            This type of bar code is used mostly in the shipping industry and on labels.
            This code is variable in length, alphanumeric, and continuous
            where all spaces are part of the characters.
            Each character consists of three bars and three spaces.
            This is a very compact, high density symbol.
            Because of its high density it makes very efficient use of space.
            Encoded characters include numbers, letters and special characters.
            The checksum digit is included in all Code 128 Barcodes, but it isn't printed.
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.Barcode128.ReadPattern(System.String)">
            <summary>
            Code128
            </summary>
            <param name="name">"Barcode.Full128.txt"</param>
        </member>
        <member name="M:Limilabs.Barcode.Barcode128.ReadSet(System.String)">
            <summary>
            Code128
            </summary>
            <param name="resourceName"></param>
            <returns></returns>
        </member>
        <member name="M:Limilabs.Barcode.Barcode128.GetByteArrayFromPatterns(System.Collections.ArrayList)">
            <param name="arr">List of indexes in patterns array</param>
            <returns>byte array (containing only zeros and ones) to render</returns>
        </member>
        <member name="M:Limilabs.Barcode.Barcode128.GetPatternsIndexes">
            <returns>List of indexes in patterns array</returns>
        </member>
        <member name="T:Limilabs.Barcode.Barcode39">
            <summary>
            Code 39 barcode class. Also known as: 3 of 9 Code, USD-3.
            </summary>
            <remarks>
            Code 39 is the most popular bar code symbology used for ID, inventory, tracking and labeling.
            It can be read by most types of scanners.
            Characters available for encoding include uppercase letters and numbers.
            It is self checking but when additional security is required, a check character is an option.
            It is the standard bar code used by the United States Department of Defense,
            and is also used by the Health Industry Bar Code Council (HIBCC).
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.Barcode39.AddChecksum">
            <summary>
            Adds checksum
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.Barcode39.CalculateChecksum">
            <summary>
            Calculates checksum
            </summary>
            <returns>Calculated checksum</returns>
        </member>
        <member name="T:Limilabs.Barcode.Barcode39Ext">
            <summary>
            Code 39 "Full ASCII Mode" barcode class.
            </summary>
            <remarks>
            It can encode all 128 ASCII characters.
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.Barcode93">
            <summary>
            Code 93 barcode class.
            </summary>
            <remarks>
            Code 93 is a continous, variable-length symbology
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.Barcode93.AddChecksum">
            <summary>
            Adds c and k modulo 47 checksum (2 chars)
            </summary>
            <param name="visible">
            true if checksum chars should be visible
            </param>
        </member>
        <member name="T:Limilabs.Barcode.Barcode93Ext">
            <summary>
            Code 93 "Full ASCII Mode" barcode class.
            </summary>
            <remarks>
            It can encode all 128 ASCII characters.
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeCodabar">
            <summary>
            Codabar barcode class. Also known as: Ames Code, USD-4, NW-7, 2 of 7 Code.
            </summary>
            <remarks>
            This symbology is used by U.S. blood banks, photo labs, and on FedEx airbills.
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeEAN128">
            <summary>
            UCC/EAN-128 barcode class. Also known as: GS1-128, EAN-128, UCC-128.
            </summary>
            <remarks>
            UCC/EAN-128 was developed to provide a worldwide format and standard for exchanging
            common data between companies.
            While other barcodes simply encode data with no respect for what the data represents,
            UCC/EAN-128 encodes data and encodes what that data represents.
            You shoud use the following number format: (ai)data*.
            For example: (10)12345(01)12345
            </remarks>
        </member>
        <member name="P:Limilabs.Barcode.BarcodeEAN128.DataSections">
            <summary>
            This is the collection that is parsed from number property.
            You can add items to this collection.
            Key is the Application Identifiers (AI)
            Value is AI's data.
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeEAN13">
            <summary>
            EAN-13 barcode class. Also known as: EAN-99, JAN-13.
            </summary>
            <remarks>
            Implemented by the International Article Numbering Association (EAN) in Europe.
            EAN-13 is a superset of UPC-A. This means that any software or hardware capable
            of reading an EAN-13 symbol will automatically be able to read an UPC-A symbol.
            <br /><br />
            Bookland bar codes are used on books and ISSN bar codes are used on magazines.
            <br /><br />
            The number of the item and its price are not actually in the bar code.
            When the EAN bar code is scanned it pulls out information from an inventory database.
            This is how the registers know the item name and price.
            When prices change, they are changed in the database,
            otherwise each item affected by the price change would have to have its bar code replaced.
            <br /><br />
            The EAN Symbol is numeric only. It is made up of the following:
            <list type="bullet">
                <item>The number system, 2 or 3 digits. </item>
                <item>Manufacturer number, assigned by the Uniform Code Council. </item>
                <item>Product number that identifies the product, assigned by the manufacturer. </item>
                <item>A check character found in the lower right hand corner. </item>
            </list>
            <br /><br />
            EAN bar codes are used in Europe,
            JAN (Japanese Article Numbering) bar codes are used in Japan,
            UPC are used in the USA.
            <br /><br />
            EAN-99 is a special form of EAN-13 which just starts with "99".
            JAN-13 is a special form of EAN-13 which just starts with "45" or "49".
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeEAN13.AddChecksum">
            <summary>
            Adds checksum
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeEAN13.CalculateChecksum">
            <summary>
            Calculates checksum
            </summary>
            <returns>Calculated checksum</returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeEAN8">
            <summary>
            EAN-8 barcode class. Also known as EAN-Velocity.
            </summary>
            <remarks>
            Provides a "short" barcode for small packages. <seealso cref="T:Limilabs.Barcode.BarcodeEAN13"/>
            <br /><br />
            EAN-Velocity is a special form of the EAN-8. It always starts with a zero.
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeEAN8.CalculateChecksum">
            <summary>
            Calculates the checksum.
            </summary>
            <returns>Calculated checksum.</returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeI2of5">
            <summary>
            Interleaved 2 of 5 barcode class.
            </summary>
            <remarks>
            It is used primarily in the distribution and warehouse industry and in the medical field.
            It is commonly used for ITF-14, EAN-14, SSC-14 and DUN14.
            <br/><br/>
            The code is variable in length and is numeric only.
            It is also a continuous symbology.
            <br/><br/>
            Each character consists of 5 bars and 5 spaces.
            Each character encodes 2 digits.
            The bars encode the odd digits, and the spaces encode the even digits.
            This is the highest density symbology for numeric data.
            It is a self checking code but the use of a check character is optional if additional security is necessary.
            <br/><br/>
            Number length must be even. If number length is odd add '0' character at the beginning.
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeMSI">
            <summary>
            MSI barcode class. Also known as Modified Plessey.
            </summary>
            <remarks>
            MSI was developed by the MSI Data Corporation, based on the original Plessey Code.
            Is used primarily to mark retail shelves for inventory control.
            MSI is a continuous, non-self-checking symbology.
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeMSI.AddChecksum">
            <summary>
            Adds modulo 10 checksum.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeMSI.CalculateChecksum">
            <summary>
            Calculates modulo 10 checksum.
            </summary>
            <returns>checksum</returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeNumly">
            <summary>
            Numly Number bracode class. Also known as: ESN, Electronic Serial Number.
            </summary>
            <remarks>
            It is a unique identifier that allows an author or publisher to assign to content and
            track licensing of each id assignment.
            Numly Numbers are useful if you wish to identify each electronic distributed copy of any form
            of electronic media.
            <br /><br />
            Media types could include:
            Blogs, Emails, MP3s, Videos, PDFs, eBooks, Software, Websites, etc.
            Numly Numbers can also act a third-party content submission time stamps to
            aid in copyright proving instances and emails.
            <br /><br />
            The Numly Number consists of a 19 digit number generated by an algorithm by Numly.com
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BarcodePlanet">
            <summary>
            Planet barcode class.
            </summary>
            <remarks>
            Postnet was developed by the United States Postal Service (USPS)
            to allow faster sorting and routing of mail.
            Postnet bar codes are used to encode the zip codes on mail for the Postal Service.
            Height of bars alternates rather than the width.
            Each number is represented by 5 bars.
            Can be used on 5-digit zip codes, 9-digit zip+4, and the new 11-digit Deliver Point bar code.
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodePlanet.AddChecksum">
            <summary>
            Adds 1 checksum character.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BarcodePlanet.CalculateChecksum">
            <summary>
            Calculates modulo 10 checksum.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodePostnet">
            <summary>
            Posnet barcode class.
            </summary>
            <remarks>
            Postnet was developed by the United States Postal Service (USPS)
            to allow faster sorting and routing of mail.
            Postnet bar codes are used to encode the zip codes on mail for the Postal Service.
            Height of bars alternates rather than the width.
            Each number is represented by 5 bars.
            Can be used on 5-digit zip codes, 9-digit zip+4, and the new 11-digit Deliver Point bar code.
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodePostnet.AddChecksum">
            <summary>
            Adds 1 checksum character.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BarcodePostnet.CalculateChecksum">
            <summary>
            Calculates modulo 10 checksum.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeSingaporePost4State">
            <summary>
            Singapore Post 4-State barcode class.
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.BearerBarsType">
            <summary>
            Specifies bearer bars drawing type.
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.BearerBarsType.None">
            <summary>
            None bearer bars are drawn (0).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.BearerBarsType.Horizontal">
            <summary>
            Only horizontal bearer bars are drawn (1).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.BearerBarsType.Full">
            <summary>
            Horizontal and Vertical bearer bars are drawn (2).
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeSSCC18">
            <summary>
            SSCC-18 barcode class (EAN128).
            Also known as: Serial Shipping Container Code, EAN-18 and NVE.
            </summary>
            <remarks>
            The Serial Shipping Container Code is used to identify individual shipping containers.
            This is used, generally, to establish a number that is unique worldwide to track a specific container.<br /><br />
            SSCC-18 is encoded with Code128 symbology (UCC/EAN-128). <br />
            Barcode is 18 characters long including 1 checksum character which can be added automatically,
            and has the following structure:
            <list type="bullet">
            <item>
            Packaging Type (1 character).
            <list type="bullet">
                <item>0=Case or carton.</item>
                <item>1=Pallet (Larger than a case).</item>
                <item>2=Container (larger than a pallet).</item>
                <item>3=Undefined.</item>
                <item>4=Internal company use.</item>
                <item>5-8=Reserved.</item>
                <item>9=Variable container.</item>
            </list>
            </item>
            <item>
                UPC/EAN Manufacturer Number (variable length).
                This is the same company code used in EAN-8/EAN-13/UPC-A barcodes.
            </item>
            <item>
                Serial Number (variable Length).
                This is a unique serial number assigned by the manufacturer.
            </item>
            <item>
                Check digit(1 character).
            </item>
            </list>
            <br />
            Two digits, called Application Identifier (AI) are added at the beginning of the barcode (00).
            <br/>
            You shoud use the following number format: "12345678901234567".
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeSSCC18.AddChecksum">
            <summary>
            Adds checksum.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeSSCC18.CalculateChecksum">
            <summary>
            Calculates mod 10 checksum.
            </summary>
            <returns>Calculated checksum.</returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeITF14">
            <summary>
            ITF-14 barcode class (Interleaved 2 of 5).
            Also known as: Shipping Container Code, UCC-14, DUN-14 (Distribution Unit Number), SSC-14, EAN-14.
            </summary>
            <remarks>
            The ITF-14 barcode is used to create the Shipping Container Symbol.
            ITF-14 is created using Interleaved 2 of 5 symbology.
            and contains 14 digits including 1 checksum character which can be added automatically.
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeEAN14">
            <summary>
            EAN-14 barcode class (EAN128).
            Also known as: Shipping Container Code, UCC/EAN-14, UCC-14, DUN-14 (Distribution Unit Number), SSC-14.
            </summary>
            <remarks>
            Barcode contains 14 character including 1 checksum character which can be calculated automatically.
            Encoded with Code128 symbology (UCC/EAN-128).
            Two digits, called Application Identifier (AI) are added at the beginning of the barcode (01).
            <br/><br/>
            You shoud use the following number format: "12345678901234".
            <br/><br/>
            The DUN-14 has the following data encoded:
            <list type="bullet">
            <item>
                The first digits represents the number of units in the container:
                <list type="bullet">
                <item>1=6 units, </item>
                <item>2=10 units, </item>
                <item>3=12 units, </item>
                <item>4=20 units, </item>
                <item>5=24 units.</item>
                </list>
            </item>
            <item>The digits 6,7 and 8 are standing for other numbers of units. </item>
            <item>
            The next 12 digits are representing the product number.
            General this the EAN-13 number without the check digit.
            </item>
            <item>The last digit is the check digit.</item>
            </list>
            <br />
            Two digits, called Application Identifier (AI) are added at the beginning of the barcode (01).
            <br/>
            You shoud use the following number format: "1234567890123".
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeEAN14.AddChecksum">
            <summary>
            Adds checksum.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeEAN14.CalculateChecksum">
            <summary>
            Calculates mod 10 checksum.
            </summary>
            <returns>Calculated checksum.</returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeSwissPostParcel">
            <summary>
            Swiss Post Barcode.
            </summary>
            <remarks>
            It identifies each parcel. All parcels must have a unique barcode.
            The barcode is the requirement for automated processing.
            The structure of the Swiss Post Parcel barcode is 18 numeric digits:
            <list type="bullet">
            <item>2 digits for Swiss Post reference ,</item>
            <item>8 digits for Franking license number,</item>
            <item>8 digits for Item number .</item>
            </list>
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BarcodePZN">
            <summary>
            Pharma Zentral Nummer barcode class.
            Also known as PZN.
            </summary>
            <remarks>
            PZN is used for distribution of pharmaceutical / health care products in Germany.
            The value to encode length is fixed to 6 digits plus 1 digit checksum which is calculated automatically.
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodePZN.AddChecksum">
            <summary>
            Adds 1 checksum character.
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeUSPSSackLabel">
            <summary>
            USPS Sack Label barcode class.
            </summary>
            <remarks>
            Sack Label is used by United States Postal Services (USPS) for:
            <list type="bullet">
            <item>labeling of postal sacks,</item>
            <item>automation rate mailings,</item>
            <item>periodicals and standard mail (letter size and flat size pieces).</item>
            </list>
            It contains the "ZIP code" of the receiver and a "Content Identifier Number".
            The value to encode length is fixed to 8 digits and it must have the following structure:
            <list type="bullet">
            <item>5 digits for "ZIP code" (express, priority, first-class, periodicals, standard, package) </item>
            <item>3 digits for "Content Identifier Number" [CIN] (mailing class, presorting, automation process sack)</item>
            </list>
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeUSPSTrayLabel">
            <summary>
            USPS Tray Label barcode class.
            </summary>
            <remarks>
            Sack Label is used by United States Postal Services (USPS) for:
            <list type="bullet">
            <item>labeling of postal trays,</item>
            <item>automation rate mailings,</item>
            <item>periodicals and standard mail (letter size and flat size pieces).</item>
            </list>
            It contains the "ZIP code" of the receiver and a "Content Identifier Number".
            The value to encode length is fixed to 10 digits and it must have the following structure:
            <list type="bullet">
            <item>5 digits for "ZIP code" (express, priority, first-class, periodicals, standard, package) </item>
            <item>3 digits for "Content Identifier Number" [CIN] (mailing class, presorting, automation process sack)</item>
            <item>2 digits for "Processing Code"</item>
            </list>
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeOPC">
            <summary>
            Optical Product Code barcode class. Also known as: OPC, VCA, Vision Council of America OPC, VCA OPC.
            </summary>
            <remarks>
            The OPC code is used for marking retail optical products.
            The value to encode length is fixed to 10 digits and it must have the following structure:
            <list type="bullet">
            <item>5 digits for Manufacturer Identification Number assigned by the Optical Product Code Council, Inc. </item>
            <item>
            4 digits Item Identification Number assigned and controlled by the optical manufacturer.
            The item identification number must be unique to each individual product.
            </item>
            <item>1 digit for checksum which is calculated automatically.</item>
            </list>
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeOPC.CalculateChecksum">
            <summary>
            Calculates checksum
            </summary>
            <returns>Calculated checksum</returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeDeutschePostLeitcode">
            <summary>
            Deutsche Post Leitcode Barcode.
            </summary>
            <remarks>
            Leitcode barcode Symbology is used by German Post (Deutsche Post AG) (Deutsche Frachtpost).
            Also known as: German Postal 2 of 5 Leitcode, CodeLeitcode, Leitcode, Deutsche Post AG (DHL).
            The Leitcode gives an indication of the destination.
            The value to encode length is fixed to 13 digits plus 1 digit checksum which is calculated automatically.
            The value to encode must have the following structure:
            <list type="bullet">
            <item>5 digits for Postal code (Postleitzahl, PLZ)</item>
            <item>3 digits for Street ID/number</item>
            <item>3 digits for House number</item>
            <item>2 digits for Product code</item>
            </list>
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeDeutschePostIdentcode">
            <summary>
            Deutsche Post Identcode Barcode.
            </summary>
            <remarks>
            Identcode barcode Symbology is used by German Post (Deutsche Post AG) (Deutsche Frachtpost).
            Also known as: Deutsche Post AG Identcode, German Postal 2 of 5 Identcode, Deutsche Post AG (DHL), Deutsche Frachtpost Identcode, Identcode, CodeIdentcode.
            The Identcode contains a tracking number providing an identification of the customer (sender)
            and the mail piece.
            The value to encode length is 11 digits plus 1 digit checksum which is calculated automatically.
            The value to encode must have the following structure:
            <list type="bullet">
            <item>2 digits for ID of primary distribution center.</item>
            <item>3 digits for Customer ID.</item>
            <item>6 digits for Mailing number.</item>
            </list>
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeDeutschePost">
            <summary>
            Base class for Deutsche Post Barcodes <seealso cref="T:Limilabs.Barcode.BarcodeDeutschePostLeitcode"/> <seealso cref="T:Limilabs.Barcode.BarcodeDeutschePostIdentcode"/>.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeDeutschePost.CalculateChecksum">
            <summary>
            Calculates checksum
            </summary>
            <returns>Calculated checksum</returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeRoyalMail4State">
            <summary>
            Royal Mail 4-State Customer barcode class. Also known as RM4SCC.
            </summary>
            <remarks>
            For automated mail sorting processes and is normally used
            to print the postcode and Delivery Point Suffix (DPS)
            on letters in machine readable format.
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeRoyalMail4State.AddChecksum">
            <summary>
            Adds 1 checksum character.
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeRoyalTntPostKix">
            <summary>
            Royal TNT Post kix barcode class.
            Also known as: Dutch KIX 4-State, Dutch KIX, TPG KIX, TPGPOST KIX.
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.Code128Control">
            <summary>
            Code128 control codes.
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.FontStyleType">
            <summary>
            Font style.
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.FontStyleType.Bold">
            <summary>
            Bold text (1).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.FontStyleType.Italic">
            <summary>
             Italic text (2).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.FontStyleType.Regular">
            <summary>
            Normal text (0).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.FontStyleType.Strikeout">
            <summary>
            Text with a line through the middle (8).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.FontStyleType.Underline">
            <summary>
            Underlined text (4).
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.IBaseBarcode">
            <summary>
            COM interface to barcode class.
            </summary>
            <remarks>
            This interface is for COM support.
            </remarks>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.Rotation">
            <summary>
            Rotation of the rendered barcode.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.NarrowBarWidth">
            <summary>
            Width of the narrow bar in rendered barcode in pixels.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.Height">
            <summary>
            Barcode height in pixels.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.BarColor">
            <summary>
            Bar color.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.BackColor">
            <summary>
            Back color.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.ForeColor">
            <summary>
            Fore color.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.BarColorOle">
            <summary>
            Bar color for OLE.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.BackColorOle">
            <summary>
            Back color for OLE.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.ForeColorOle">
            <summary>
            Fore color for OLE.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.Ratio">
            <summary>
            Wide/narrow bar ratio.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.IsNumberVisible">
            <summary>
            True if text should be visible in rendered barcode.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.Number">
            <summary>
            Barcode number. Separate supplement with ',' char.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.CustomText">
            <summary>
            Custom text which will be rendered instead of Number.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.LeftQuietZone">
            <summary>
            Gets or sets quiet zone size.
            If <see cref="P:Limilabs.Barcode.IBaseBarcode.SetMarginsAutomatically"/> is set to <c>true</c> always returns <see cref="P:Limilabs.Barcode.IBaseBarcode.NarrowBarWidth"/>*9.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.RightQuietZone">
            <summary>
            Gets or sets quiet zone size.
            If <see cref="P:Limilabs.Barcode.IBaseBarcode.SetMarginsAutomatically"/> is set to <c>true</c> always returns <see cref="P:Limilabs.Barcode.IBaseBarcode.NarrowBarWidth"/>*9.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.SetMarginsAutomatically">
            <summary>
            If set to true <see cref="P:Limilabs.Barcode.IBaseBarcode.RightQuietZone"/> and <see cref="P:Limilabs.Barcode.IBaseBarcode.LeftQuietZone"/> always return <see cref="P:Limilabs.Barcode.IBaseBarcode.NarrowBarWidth"/>*9.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.FontHeight">
            <summary>
            Fraction of Height which will be reserved for text label.
            Between 0 and 1.0. Default is 0.15
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.FontStyle">
            <summary>
            Font style that will be used for any text on barcode image.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.FontName">
            <summary>
            Font name that will be used for any text on barcode image.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.ChecksumVisible">
            <summary>
            True if checksum should be visible in barcode text.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.ChecksumAdd">
            <summary>
            True if checksum should be added.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBaseBarcode.EAN128IsFNC1OmmitedForFixedLength">
            <summary>
            True if FNC1 control character should be ommited for fixed length fields.
            This results in shorter barcode. False is default.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.IBaseBarcode.GetLicenseFolder">
            <summary>
            Returns folder path from which component
            will load license file (BarcodeLicense.xml).
            </summary>
            <returns>License file folder</returns>
        </member>
        <member name="M:Limilabs.Barcode.IBaseBarcode.RenderHbitmap">
            <summary>
            Creates new Bitmap with rendered Barcode.
            </summary>
            <returns>Bitmap handle (HBITMAP) with rendered Barcode.</returns>
        </member>
        <member name="M:Limilabs.Barcode.IBaseBarcode.RenderHbitmap(System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered Barcode.
            </summary>
            <param name="xDpi">Horizontal resolution in dots per inch</param>
            <param name="yDpi">Vertical resolution in dots per inch</param>
            <returns>Bitmap handle (HBITMAP) with rendered Barcode.</returns>
        </member>
        <member name="M:Limilabs.Barcode.IBaseBarcode.Render(Limilabs.Barcode.ImageType)">
            <summary>
            Creates new Bitmap with rendered barcode and
            returns byte array containing the image.
            </summary>
            <param name="imageType">Format of the output image.</param>
            <returns>Byte array containing barcode image in specified image format.</returns>
        </member>
        <member name="M:Limilabs.Barcode.IBaseBarcode.Render(Limilabs.Barcode.ImageType,System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered barcode and
            returns byte array containing the image.
            </summary>
            <param name="imageType">Format of the output image.</param>
            <param name="xDpi">Horizontal resolution in dots per inch.</param>
            <param name="yDpi">Vertical resolution in dots per inch.</param>
            <returns>Byte array containing barcode image in specified image format.</returns>
        </member>
        <member name="M:Limilabs.Barcode.IBaseBarcode.Save(System.String,Limilabs.Barcode.ImageType)">
            <summary>
            Creates new Bitmap with rendered Barcode and saves
            it to file of imageType format.
            </summary>
            <param name="imageType">Format of the output image.</param>
            <param name="fileName">Name of created file.</param>
        </member>
        <member name="M:Limilabs.Barcode.IBaseBarcode.Save(System.String,Limilabs.Barcode.ImageType,System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered Barcode and saves it to file of imageType format.
            </summary>
            <param name="imageType">Format of the output image</param>
            <param name="xDpi">Horizontal resolution in dots per inch</param>
            <param name="yDpi">Vertical resolution in dots per inch</param>
            <param name="fileName">Name of created file</param>
        </member>
        <member name="M:Limilabs.Barcode.IBaseBarcode.SaveDpi(System.String,Limilabs.Barcode.ImageType,System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered Barcode and saves it to file of imageType format.
            </summary>
            <param name="imageType">Format of the output image</param>
            <param name="xDpi">Horizontal resolution in dots per inch</param>
            <param name="yDpi">Vertical resolution in dots per inch</param>
            <param name="fileName">Name of created file</param>
        </member>
        <member name="M:Limilabs.Barcode.IBaseBarcode.RenderDpi(Limilabs.Barcode.ImageType,System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered barcode and
            returns byte array containing the image.
            </summary>
            <param name="imageType">Format of the output image.</param>
            <param name="xDpi">Horizontal resolution in dots per inch.</param>
            <param name="yDpi">Vertical resolution in dots per inch.</param>
            <returns>Byte array containing barcode image in specified image format.</returns>
        </member>
        <member name="M:Limilabs.Barcode.IBaseBarcode.RenderHbitmapDpi(System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered Barcode.
            </summary>
            <param name="xDpi">Horizontal resolution in dots per inch</param>
            <param name="yDpi">Vertical resolution in dots per inch</param>
            <returns>Bitmap handle (HBITMAP) with rendered Barcode.</returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeFactory">
            <summary>
            Helper class for barcode creation.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeFactory.GetBarcode(Limilabs.Barcode.Symbology)">
            <summary>
            Creates new Barcode instance.
            </summary>
            <param name="symbology">Symbology of the barcode that will be created.</param>
            <returns>new Barcode instance</returns>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeFactory.CreateBarcode(Limilabs.Barcode.Symbology)">
            <summary>
            Creates new Barcode instance.
            </summary>
            <remarks>
            This method is for COM support.
            </remarks>
            <param name="symbology">Symbology of the barcode that will be created.</param>
            <returns>Com interface to newly created barcode.</returns>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeFactory.UseMachineKeyStore(System.Boolean)">
            <summary>
            Gets or sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store.
            </summary>
            <param name="value"><c>true</c> if the key should be persisted in the computer key store; otherwise, <c>false</c>.</param>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeFactory.GetLicenseFolder">
            <summary>
            Returns the file path used to load the license file.
            </summary>
            <returns>License file path.</returns>
        </member>
        <member name="T:Limilabs.Barcode.IBarcodeFactory">
            <summary>
            Barcode factory interface.
            </summary>
            <remarks>
            This interface is for COM support.
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.IBarcodeFactory.CreateBarcode(Limilabs.Barcode.Symbology)">
            <summary>
            Creates new Barcode instance.
            </summary>
            <param name="symbology">Symbology of the barcode that will be created.</param>
            <returns>new Barcode instance</returns>
        </member>
        <member name="M:Limilabs.Barcode.IBarcodeFactory.UseMachineKeyStore(System.Boolean)">
            <summary>
            Gets or sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store.
            </summary>
            <param name="value"><c>true</c> if the key should be persisted in the computer key store; otherwise, <c>false</c>.</param>
        </member>
        <member name="M:Limilabs.Barcode.IBarcodeFactory.GetLicenseFolder">
            <summary>
            Returns the file path used to load the license file.
            </summary>
            <returns>License file path.</returns>
        </member>
        <member name="T:Limilabs.Barcode.Symbology">
            <summary>
            Symbologies supported by <see cref="T:Limilabs.Barcode.BarcodeFactory"/>.
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.EAN13">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeEAN13"/> (0).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.EAN8">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeEAN8"/> (1).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.S2of5">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeS2of5"/> (2).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.I2of5">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeI2of5"/> (3).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.Code39">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.Barcode39"/> (4).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.Code39Ext">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.Barcode39Ext"/> (5).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.Code128">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.Barcode128"/> (6).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.EAN128">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeEAN128"/> (7).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.UPCA">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeUPCA"/> (8).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.UPCE">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeUPCE"/> (9).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.Code93">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.Barcode93"/> (10).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.Code93Ext">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.Barcode93Ext"/> (11).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.Code11">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.Barcode11"/> (12).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.Codabar">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeCodabar"/> (13).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.Postnet">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodePostnet"/> (14).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.Planet">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodePlanet"/> (15).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.MSI">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeMSI"/> (16).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.Numly">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeNumly"/> (17).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.SSCC18">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeSSCC18"/> (18).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.EAN14">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeEAN14"/> (19).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.ITF14">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeITF14"/> (20).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.USPSSackLabel">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeUSPSSackLabel"/> (21).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.USPSTrayLabel">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeUSPSTrayLabel"/> (22).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.SwissPostParcel">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeSwissPostParcel"/> (23).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.PZN">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodePZN"/> (24).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.OPC">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeOPC"/> (25).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.DeutschePostLeitcode">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeDeutschePostLeitcode"/> (26).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.DeutschePostIdentcode">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeDeutschePostIdentcode"/> (27).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.RoyalMail4State">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeRoyalMail4State"/> (28).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.SingaporePost4State">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeSingaporePost4State"/> (29).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Symbology.RoyalTntPostKix">
            <summary>
            Used to create <see cref="T:Limilabs.Barcode.BarcodeRoyalTntPostKix"/> (30).
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.ImageType">
            <summary>
            Image format.
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.ImageType.Bmp">
            <summary>
            Bmp file format (0).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.ImageType.Emf">
            <summary>
            Emf file format (1).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.ImageType.Exif">
            <summary>
            Exif file format (2).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.ImageType.Gif">
            <summary>
            Gif file format (3).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.ImageType.Icon">
            <summary>
            Icon file format (4).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.ImageType.Jpeg">
            <summary>
            Jpeg file format (5).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.ImageType.MemoryBmp">
            <summary>
            MemoryBmp file format (6).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.ImageType.Png">
            <summary>
            Png file format (7).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.ImageType.Tiff">
            <summary>
            Tiff file format (8).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.ImageType.Wmf">
            <summary>
            Wmf file format (9).
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.Log">
            <summary>
            Represents Barcode.dll log.
            </summary>
        </member>
        <member name="E:Limilabs.Barcode.Log.WriteLine">
            <summary>
            You can subscribe your logging library to this event.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.Log.Enabled">
            <summary>
            Gets or sets a value indicating whether logging is enabled or disabled. The default is <see langword="false"/>.
            You can observe the log on standard VS output or use <see cref="P:System.Diagnostics.Trace.Listeners"/> collection to add your own listener.
            Logging uses <see cref="T:System.Diagnostics.BooleanSwitch"/> named "Barcode.dll".
            Category name for log entries is also "Barcode.dll".
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.Renderers.Renderer4State">
            <summary>
            0 full
            1 ascender
            2 descender
            3 tracker
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.Renderers.RendererNW.Render(System.Drawing.Graphics,System.Int32,System.Int32,Limilabs.Barcode.BaseBarcode)">
            <summary>
            Draw specified data, starting at x.
            </summary>
            <param name="g">graphis to draw on to</param>
            <param name="posX">x position</param>
            <param name="posY">y position</param>
            <param name="parent">parent</param>
        </member>
        <member name="F:Limilabs.Barcode.Renderers.TextAlign.Left">
            <summary>
            Left align (0).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Renderers.TextAlign.Center">
            <summary>
            Center align (1).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.Renderers.TextAlign.Right">
            <summary>
            Right align (2).
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.Renderers.TextRenderer.Render(System.Drawing.Graphics,System.Int32,System.Int32,Limilabs.Barcode.BaseBarcode)">
            <summary>
            Draw specified text.
            </summary>
            <param name="g">Graphics to draw on to</param>
            <param name="posX">X position</param>
            <param name="posY">Y position</param>
            <param name="parent"></param>
        </member>
        <member name="T:Limilabs.Barcode.InvalidLengthException">
            <summary>
            Invalid length exception.
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.IBearerBars">
            <summary>
            Barcodes which can have bearer bars will implement this interface.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBearerBars.BearerBars">
            <summary>
            Bearer bars type.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.IBearerBars.BearerBarsSize">
            <summary>
            Bearer bars size in pixels.
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.InvalidCharactersException">
            <summary>
            Invalid characters exception.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.InvalidCharactersException.Message">
            <summary>
            Error message contained in this exception.
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeS2of5">
            <summary>
            Standard 2 of 5 barcode class. Also known as Industrial 2 of 5.
            </summary>
            <remarks>
            Used in airline ticket marking, photofinishing.
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeS2of5.AddChecksum">
            <summary>
            Adds checksum.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeS2of5.CalculateChecksum">
            <summary>
            Calculates checksum
            </summary>
            <returns>Calculated checksum</returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeUPCA">
            <summary>
            UPC-A barcode class
            </summary>
            <remarks>
            UPC bar codes are used by the grocery and retail industries.
            Supersets to UPC are EAN, Jan, Bookland and ISSN bar codes.
            EAN bar codes are used in Europe and JAN bar codes are used in Japan.
            Bookland bar codes are used on books and ISSN bar codes are used on magazines.
            The number of the item and its price are not actually in the bar code.
            When the UPC bar code is scanned it pulls out information from an inventory database.
            This is how the registers know the item name and price.
            When prices change, they are changed in the database,
            otherwise each item affected by the price change would have to have its bar code replaced.
            The UPC Symbol is numeric only. It is made up of the following:
            <list type="bullet">
                <item>The number system, single digit in lower left corner. </item>
                <item>A 5 digit manufacturer number on the left, assigned by the Uniform Code Council. </item>
                <item>A 5 digit product number on the right that identifies the product, assigned by the manufacturer. </item>
                <item>A check character found in the lower right hand corner. </item>
            </list>
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeUPCA.AddChecksum">
            <summary>
            Adds checksum
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BarcodeUPCA.CalculateChecksum">
            <summary>
            Calculates checksum
            </summary>
            <returns>Calculated checksum</returns>
        </member>
        <member name="T:Limilabs.Barcode.BarcodeUPCE">
            <summary>
            UPC-E barcode class.
            </summary>
            <remarks>
            Provides a "short" barcode for small packages. <seealso cref="T:Limilabs.Barcode.BarcodeUPCA"/>
            </remarks>
        </member>
        <member name="T:Limilabs.Barcode.BaseBarcode">
            <summary>
            Base class for all barcode classes.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.Rotation">
            <summary>
            Rotation of the rendered barcode.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.NarrowBarWidth">
            <summary>
            Width of the narrow bar in rendered barcode in pixels.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.Height">
            <summary>
            Barcode height in pixels.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.BarColor">
            <summary>
            Bar color.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.BackColor">
            <summary>
            Back color.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.ForeColor">
            <summary>
            Text color.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.TextRenderingHint">
            <summary>
            Gets or sets text rendering hint.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.BarColorOle">
            <summary>
            Bar color for OLE.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.BackColorOle">
            <summary>
            Back color for OLE.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.ForeColorOle">
            <summary>
            Text color for OLE.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.Ratio">
            <summary>
            Wide/narrow bar ratio.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.IsNumberVisible">
            <summary>
            True if text should be visible in rendered barcode.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.Number">
            <summary>
            Barcode number. Separate supplement with ',' char.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.CustomText">
            <summary>
            Custom text which will be rendered instead of Number.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.LeftQuietZone">
            <summary>
            Gets or sets quiet zone size.
            If <see cref="P:Limilabs.Barcode.BaseBarcode.SetMarginsAutomatically"/> is set to true always returns this.NarrowBarWidth*9.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.RightQuietZone">
            <summary>
            Gets or sets quiet zone size.
            If <see cref="P:Limilabs.Barcode.BaseBarcode.SetMarginsAutomatically"/> is set to true always returns this.NarrowBarWidth*9.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.SetMarginsAutomatically">
            <summary>
            If set to true <see cref="P:Limilabs.Barcode.BaseBarcode.RightQuietZone"/> and <see cref="P:Limilabs.Barcode.BaseBarcode.LeftQuietZone"/> always returns this.NarrowBarWidth*9.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.FontHeight">
            <summary>
            Fraction of Height which will be reserved for text label.
            Between 0 and 1.0. Default is 0.15
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.FontStyle">
            <summary>
            Font style that will be used for any text on barcode image.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.FontName">
            <summary>
            Font name that will be used for any text on barcode image.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.ChecksumAdd">
            <summary>
            True if checksum should be added.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.EAN128IsFNC1OmmitedForFixedLength">
            <summary>
            True if FNC1 control character should be ommited for fixed length fields.
            This results in shorter barcode. True is default.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.Code128SetMode">
            <summary>
            You can specify the set that should be used when using Code128.
            Code128SetMode.BestFitABC is default.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.BaseBarcode.ChecksumVisible">
            <summary>
            True if checksum should be visible in barcode text.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.Render">
            <summary>
            Creates new Bitmap with rendered Barcode.
            </summary>
            <returns>Bitmap with rendered Barcode.</returns>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.Render(System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered Barcode.
            </summary>
            <param name="xDpi">Horizontal resolution in dots per inch</param>
            <param name="yDpi">Vertical resolution in dots per inch</param>
            <returns>Bitmap with rendered Barcode.</returns>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.RenderHbitmap">
            <summary>
            Creates new Bitmap with rendered Barcode.
            </summary>
            <returns>Bitmap handle (HBITMAP) with rendered Barcode.</returns>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.RenderHbitmap(System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered Barcode.
            </summary>
            <param name="xDpi">Horizontal resolution in dots per inch</param>
            <param name="yDpi">Vertical resolution in dots per inch</param>
            <returns>Bitmap handle (HBITMAP) with rendered Barcode.</returns>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.Render(System.Drawing.Graphics,System.Int32,System.Int32)">
            <summary>
            Renders barcode on specified graphics object.
            </summary>
            <param name="g">Graphics object to render on it.</param>
            <param name="x">X coordinate</param>
            <param name="y">Y coordinate</param>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.Render(Limilabs.Barcode.ImageType)">
            <summary>
            Creates new Bitmap with rendered barcode and
            returns byte array containing the image.
            </summary>
            <param name="imageType">Format of the output image.</param>
            <returns>Byte array containing barcode image in specified image format.</returns>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.Render(Limilabs.Barcode.ImageType,System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered barcode and
            returns byte array containing the image.
            </summary>
            <param name="imageType">Format of the output image.</param>
            <param name="xDpi">Horizontal resolution in dots per inch.</param>
            <param name="yDpi">Vertical resolution in dots per inch.</param>
            <returns>Byte array containing barcode image in specified image format.</returns>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.Save(System.String,Limilabs.Barcode.ImageType)">
            <summary>
            Creates new Bitmap with rendered Barcode and saves
            it to file of imageType format.
            </summary>
            <param name="imageType">Format of the output image.</param>
            <param name="fileName">Name of created file.</param>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.Save(System.String,Limilabs.Barcode.ImageType,System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered Barcode and saves it to file of <paramref name="imageType"/> format.
            </summary>
            <param name="imageType">Format of the output image</param>
            <param name="xDpi">Horizontal resolution in dots per inch</param>
            <param name="yDpi">Vertical resolution in dots per inch</param>
            <param name="fileName">Name of created file</param>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.Save(System.IO.Stream,Limilabs.Barcode.ImageType)">
            <summary>
            Creates new Bitmap with rendered Barcode and saves it to the stream
            with specified image format.
            </summary>
            <param name="imageType">Format of the output image</param>
            <param name="stream">Stream</param>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.Save(System.IO.Stream,Limilabs.Barcode.ImageType,System.Single,System.Single)">
            <summary>
            Creates new Bitmap with rendered Barcode and saves it to the stream
            with specified image format and resolution
            </summary>
            <param name="imageType">Format of the output image</param>
            <param name="xDpi">Horizontal resolution in dots per inch</param>
            <param name="yDpi">Vertical resolution in dots per inch</param>
            <param name="stream">Stream</param>
        </member>
        <member name="M:Limilabs.Barcode.BaseBarcode.GetLicenseFolder">
            <summary>
            Returns folder path from which component
            will load license file (BarcodeLicense.xml).
            </summary>
            <returns>License file folder</returns>
        </member>
        <member name="T:Limilabs.Barcode.Barcode11">
            <summary>
            Code 11 barcode class. Also known as USD-8.
            </summary>
            <remarks>
            It is used primarily in labeling telecommunications equipment.
            It is variable length symbology.
            It can encode following chars: "0123456789-".
            </remarks>
        </member>
        <member name="M:Limilabs.Barcode.Barcode11.AddChecksumCK">
            <summary>
            Adds 2 checksum characters (C and K).
            2 checksum characters should be used if the message is 10 characters or longer.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.Barcode11.AddChecksumC">
            <summary>
            Adds 1 checksum character (C).
            1 checksum character should be used if the message is less than 10 characters long.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.Barcode11.AddChecksum">
            <summary>
            If the message is 11 characters or longer adds 2 checksum characters (C and K).
            If the message is less than 11 characters long adds 1 checksum character (C).
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.RotationType">
            <summary>
            Type of rotation.
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.RotationType.Degrees0">
            <summary>
            0 degrees (0).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.RotationType.Degrees90">
            <summary>
            90 degrees (1).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.RotationType.Degrees180">
            <summary>
            180 degrees (2).
            </summary>
        </member>
        <member name="F:Limilabs.Barcode.RotationType.Degrees270">
            <summary>
            270 degrees (3).
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.SimpleBarcode.BearerBars">
            <summary>
            Bearer bars type.
            </summary>
        </member>
        <member name="P:Limilabs.Barcode.SimpleBarcode.BearerBarsSize">
            <summary>
            Bearer bars size in pixels.
            </summary>
        </member>
        <member name="T:Limilabs.Barcode.Supplement">
            <summary>
            Base class for 2-digit and 5-digit supplements.
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.Supplement.GetSupplement(System.String)">
            <summary>
            Creates 2-digit and 5-digit supplement object.
            </summary>
            <param name="number">number for supplement</param>
            <returns>Supplement object</returns>
        </member>
        <member name="T:Limilabs.Barcode.Supplement2">
            <summary>
            EAN/UPC 2-digit supplement code
            </summary>
        </member>
        <member name="M:Limilabs.Barcode.Validator.CheckLength(System.String,System.Int32,System.Int32,System.Boolean)">
            <summary>
            </summary>
            <param name="number">Narcode Number </param>
            <param name="length">Possible Length of the barcode with checksum</param>
            <param name="length2">Possible second Length of the barcode without checksum (-1 if only one length is supported)</param>
            <param name="checksumAdd">Has user choosed to add checksum?</param>
        </member>
        <member name="M:Limilabs.Infrastructure.ResourceReader.ReadLine">
            <summary>
            Reads one line, removes comments
            </summary>
            <returns></returns>
        </member>
        <member name="M:Limilabs.Infrastructure.Argument.IsNotNull(System.Object,System.String)">
            <summary>
            Throws ArgumentNullException when argument is null.
            </summary>
            <param name="argument">Argument that must be != null.</param>
            <param name="name">Argument's name.</param>
        </member>
        <member name="M:Limilabs.Infrastructure.Argument.Is(System.Boolean,System.String)">
            <summary>
            Throws ArgumentException when condition is not met.
            </summary>
            <param name="condition">Condition that is required.</param>
            <param name="message">Message.</param>
        </member>
        <member name="M:Limilabs.Infrastructure.Argument.IsNot(System.Boolean,System.String)">
            <summary>
            Throws ArgumentException when condition is met.
            </summary>
            <param name="condition">Condition that is excluded.</param>
            <param name="message">Message.</param>
        </member>
        <member name="M:Limilabs.Infrastructure.Argument.IsNotNullNorEmpty(System.String,System.String)">
            <summary>
            Throws ArgumentException when string is null or is empty.
            </summary>
            <param name="argument">Argument that must be != null and != string.Empty.</param>
            <param name="name">Argument's name.</param>
        </member>
        <member name="M:Limilabs.Infrastructure.Argument.IsNotBlank(System.String,System.String)">
            <summary>
            Throws ArgumentException when string is blank.
            </summary>
            <param name="argument">Argument that must not be blank.</param>
            <param name="message">Message.</param>
        </member>
        <member name="T:Limilabs.InternalLicensing.AssemblyStringEncryptor">
            <summary>
            This class is used by Babel obfuscator to encrypt all strings found in the application.
            </summary>
        </member>
        <member name="M:Limilabs.InternalLicensing.ILicenseLoader.IsLicensePresent">
            <summary>
            Checks if license exists. May throw exception on error.
            </summary>
            <returns>True if license is present, false otherwise</returns>
        </member>
        <member name="M:Limilabs.InternalLicensing.ILicenseLoader.Load">
            <summary>
            Loads the license document. May throw exception on error.
            </summary>
            <returns>Loaded Xml license document</returns>
        </member>
        <member name="T:Limilabs.InternalLicensing.SnkUtil">
            <summary>
            NOTE: These methods assume 1024 bit keys, the same as exported from sn.exe.
            </summary>
        </member>
        <member name="F:Limilabs.InternalLicensing.SnkUtil._rsa1Header">
            <summary>
            RSA1 header (public only)
            </summary>
        </member>
        <member name="F:Limilabs.InternalLicensing.SnkUtil._rsa2Header">
            <summary>
             RSA2 header
            </summary>
        </member>
        <member name="M:Limilabs.InternalLicensing.SnkUtil.GetRSAFromSnkFile(System.String)">
            <summary>
            Returns RSA object from *.snk key file.
            </summary>
            <param name="path">Path to snk file.</param>
            <returns><c>RSACryptoServiceProvider</c></returns>
        </member>
        <member name="M:Limilabs.InternalLicensing.SnkUtil.GetRSAParameters(System.Byte[])">
            <summary>
            Returns <c>RSAParameters</c> from byte[].
            Example to get rsa public key from assembly:
            <example>
            byte[] keyBytes=System.Reflection.Assembly.GetExecutingAssembly().GetName().GetPublicKey();
            RSAParameters p = SnkUtil.GetRSAParameters(keyBytes);
            </example>
            </summary>
            <returns>RSAParameters</returns>
        </member>
        <member name="M:Limilabs.InternalLicensing.SnkUtil.IsPublicLength(System.Byte[])">
            <summary>
            Returns true if buffer length is public key size.
            </summary>
        </member>
        <member name="T:Limilabs.Licensing.LicenseHelper">
            <summary>
            Utility class for license related functions.
            </summary>
        </member>
        <member name="M:Limilabs.Licensing.LicenseHelper.UseMachineKeyStore(System.Boolean)">
            <summary>
            Sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store.
            </summary>
            <param name="value"><c>true</c> if the key should be persisted in the computer key store; otherwise, <c>false</c>.</param>
        </member>
        <member name="M:Limilabs.Licensing.LicenseHelper.GetLicensePath">
            <summary>
            Returns the file path used to load the license file.
            </summary>
            <returns>License file path.</returns>
        </member>
        <member name="M:Limilabs.Licensing.LicenseHelper.GetLicenseStatus">
            <summary>
            Gets the status of the license file.
            </summary>
            <returns>License file status.</returns>
        </member>
        <member name="T:Limilabs.Licensing.LicenseStatus">
            <summary>
            Status of the license validation.
            </summary>
            <seealso cref="M:Limilabs.Licensing.LicenseHelper.GetLicenseStatus"/>
        </member>
        <member name="F:Limilabs.Licensing.LicenseStatus.NotLoaded">
            <summary>
            There was no attempt to load and check the license file yet.
            </summary>
        </member>
        <member name="F:Limilabs.Licensing.LicenseStatus.NoLicenseFile">
            <summary>
            There is no license file in appropriate folder.
            Please check the value of <see cref="M:Limilabs.Licensing.LicenseHelper.GetLicensePath"/> method and place your license there.
            </summary>
        </member>
        <member name="F:Limilabs.Licensing.LicenseStatus.Invalid">
            <summary>
            License was loaded, but is invalid.
            </summary>
        </member>
        <member name="F:Limilabs.Licensing.LicenseStatus.InvalidSignature">
            <summary>
            License was loaded, but it has invalid signature.
            </summary>
        </member>
        <member name="F:Limilabs.Licensing.LicenseStatus.InvalidXml">
            <summary>
            License was loaded, but the XML is invalid.
            </summary>
        </member>
        <member name="F:Limilabs.Licensing.LicenseStatus.Exception">
            <summary>
            License was loaded, but an exception occurred.
            </summary>
        </member>
        <member name="F:Limilabs.Licensing.LicenseStatus.Valid">
            <summary>
            License was loaded and is valid.
            </summary>
        </member>
        <member name="F:Limilabs.Licensing.LicenseStatus.Revoked">
            <summary>
            Valid license was loaded, but was revoked.
            </summary>
        </member>
        <member name="F:Limilabs.Licensing.PleasePurchaseForm.components">
            <summary>
            Required designer variable.
            </summary>
        </member>
        <member name="M:Limilabs.Licensing.PleasePurchaseForm.Dispose(System.Boolean)">
            <summary>
            Clean up any resources being used.
            </summary>
            <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        </member>
        <member name="M:Limilabs.Licensing.PleasePurchaseForm.InitializeComponent">
            <summary>
            Required method for Designer support - do not modify
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="T:Limilabs.Design.SymbologyListBox">
            <summary>
            The form that contains the dropped down editor.
            </summary>
        </member>
        <member name="F:Limilabs.Design.SymbologyListBox.service">
            <summary>
            The service that dropped this form.
            </summary>
        </member>
        <member name="T:Limilabs.Web.BarcodeControl">
            <summary>
            ASP.NET BarcodeControl
            </summary>
            <remarks>
            To use BarcodeControl:
            <list type="number">
            <item>Create new ASP.NET project</item>
            <item>Add new web.config file if you don't have one</item>
            <item>Set up an HttpHandler in an ASP.NET web application -
            add the following code to your web.config file, inside the &lt;system.web&gt; section:
            <pre>
                &lt;httpHandlers&gt;
                    &lt;add verb="*" path="Barcode.axd" type="Limilabs.Web.BarcodeHttpHandler, Barcode"  /&gt;
                &lt;/httpHandlers&gt;
            </pre>
            </item>
            <item>
            Add Barcode control to the toolbox:
            <list type="bullet">
            <item>use the right mouse button on toolbox </item>
            <item>click 'Choose items...' or 'Add/Remove Items' </item>
            <item>then click 'Browse' and point 'Barcode.dll' file</item>
            </list>
            </item>
            <item>
            Drag and drop BarcodeControl from toolbox to your webpage.
            This will add the references to Barcode.dll to your project.
            </item>
            </list>
            </remarks>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.Symbology">
            <summary>
            Barcode symbology.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.ChecksumAdd">
            <summary>
            If true adds checksum character(s).
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.ChecksumVisible">
            <summary>
            If true checksum character(s) is visible in barcode text.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.Number">
            <summary>
            Barcode number. Separate supplement with ',' char.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.FontHeight">
            <summary>
            Fraction of Height which will be reserved for text label.
            Between 0 and 1.0. Default is 0.15
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.FontStyle">
            <summary>
            Font style that will be used for any text on barcode image.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.FontName">
            <summary>
            Font name that will be used for any text on barcode image.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.LeftQuietZone">
            <summary>
            Gets or sets left quiet zone size.
            If <see cref="P:Limilabs.Web.BarcodeControl.SetMarginsAutomatically"/> is set to true always uses this.NarrowBarWidth*9.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.RightQuietZone">
            <summary>
            Gets or sets right quiet zone size.
            If <see cref="P:Limilabs.Web.BarcodeControl.SetMarginsAutomatically"/> is set to true always uses this.NarrowBarWidth*9.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.SetMarginsAutomatically">
            <summary>
            If set to true <see cref="P:Limilabs.Web.BarcodeControl.RightQuietZone"/> and <see cref="P:Limilabs.Web.BarcodeControl.LeftQuietZone"/> always uses this.NarrowBarWidth*9.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.CustomText">
            <summary>
            Custom text which will be rendered instead of Number.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.NarrowBarWidth">
            <summary>
            Width of the narrow bar in rendered barcode in pixels.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.IsNumberVisible">
            <summary>
            True if text should be visible in rendered barcode.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.Rotation">
            <summary>
            Rotation of the rendered barcode.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.Height">
            <summary>
            Barcode height.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.ImageType">
            <summary>
            Barcode image format.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.XDpi">
            <summary>
            Horizontal resolution in dots per inch.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.YDpi">
            <summary>
            Vertical resolution in dots per inch.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.BearerBars">
            <summary>
            Bearer bars type.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.BearerBarsSize">
            <summary>
            Bearer bars size in pixels.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.BarColor">
            <summary>
            Bar color.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.ForeColor">
            <summary>
            Text color.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.BackColor">
            <summary>
            Back color.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.Ratio">
            <summary>
            Wide/narrow bar ratio.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.EAN128IsFNC1OmmitedForFixedLength">
            <summary>
            True if FNC1 control character should be ommited for fixed length fields.
            This results in shorter barcode. True is default.
            </summary>
        </member>
        <member name="P:Limilabs.Web.BarcodeControl.Code128SetMode">
            <summary>
            You can specify the set that should be used when using Code128.
            BestFitABC is default.
            </summary>
        </member>
        <member name="M:Limilabs.Web.BarcodeControl.Render(System.Web.UI.HtmlTextWriter)">
            <summary>
            Sends <b>BarcodeControl</b> content to a provided HtmlTextWriter object.
            </summary>
            <param name="output">The HtmlTextWriter object that receives the server control content.</param>
        </member>
        <member name="T:Limilabs.Web.BarcodeHttpHandler">
            <summary>
            HttpHandler for generating barcode images on the fly.
            </summary>
        </member>
        <member name="T:Limilabs.Windows.BarcodeControl">
            <summary>
            Windows BarcodeControl.
            </summary>
            <remarks>
            To use BarcodeControl:
            <list type="number">
            <item>Create new WindowsForms project</item>
            <item>
            Add Barcode control to the toolbox:
            <list type="bullet">
                <item>use the right mouse button on toolbox </item>
                <item>click 'Choose items...' or 'Add/Remove Items' </item>
                <item>then click 'Browse' and point 'Barcode.dll' file</item>
            </list>
            </item>
            <item>
            Drag and drop BarcodeControl from toolbox to your WindowsForm.
            This will add the references to Barcode.dll to your project.
            </item>
            </list>
            </remarks>
        </member>
        <member name="M:Limilabs.Windows.BarcodeControl.GetBarcode">
            <summary>
            Returns a barcode object that is used to render barcode image.
            </summary>
            <returns>BaseBarcode objectff</returns>
        </member>
        <member name="M:Limilabs.Windows.BarcodeControl.Render">
            <summary>
            Creates new Bitmap with rendered Barcode.
            </summary>
            <remarks>
            Uses <see cref="P:Limilabs.Windows.BarcodeControl.XDpi"/> as horizontal resolution in dots per inch, and
            <see cref="P:Limilabs.Windows.BarcodeControl.YDpi"/> as vertical resolution in dots per inch.
            </remarks>
            <returns>Bitmap with rendered Barcode.</returns>
        </member>
        <member name="M:Limilabs.Windows.BarcodeControl.Render(System.Drawing.Graphics,System.Int32,System.Int32)">
            <summary>
            Renders barcode on specified graphics object.
            </summary>
            <param name="graphics">Graphics object to render on it.</param>
            <param name="x">X coordinate</param>
            <param name="y">Y coordinate</param>
        </member>
        <member name="M:Limilabs.Windows.BarcodeControl.Save(System.String,Limilabs.Barcode.ImageType)">
            <summary>
            Creates new Bitmap with rendered Barcode and saves it to file of imageType format.
            </summary>
            <remarks>
            Uses <see cref="P:Limilabs.Windows.BarcodeControl.XDpi"/> as horizontal resolution in dots per inch, and
            <see cref="P:Limilabs.Windows.BarcodeControl.YDpi"/> as vertical resolution in dots per inch.
            </remarks>
            <param name="imageType">Format of the output image</param>
            <param name="fileName">Name of created file</param>
        </member>
        <member name="M:Limilabs.Windows.BarcodeControl.Save(System.IO.Stream,Limilabs.Barcode.ImageType)">
            <summary>
            Creates new Bitmap with rendered Barcode and saves it to the stream with specified type.
            </summary>
            <remarks>
            Uses <see cref="P:Limilabs.Windows.BarcodeControl.XDpi"/> as horizontal resolution in dots per inch, and
            <see cref="P:Limilabs.Windows.BarcodeControl.YDpi"/> as vertical resolution in dots per inch.
            </remarks>
            <param name="imageType">Format of the output image</param>
            <param name="stream">Stream</param>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.Symbology">
            <summary>
            Barcode symbology.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.ChecksumAdd">
            <summary>
            If true adds checksum character(s).
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.ChecksumVisible">
            <summary>
            If true checksum character(s) is visible in barcode text.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.Number">
            <summary>
            Barcode number. Separate supplement with ',' char.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.FontHeight">
            <summary>
            Fraction of Height which will be reserved for text label.
            Between 0 and 1.0. Default is 0.15
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.FontStyle">
            <summary>
            Font style that will be used for any text on barcode image.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.FontName">
            <summary>
            Font name that will be used for any text on barcode image.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.LeftQuietZone">
            <summary>
            Gets or sets quiet zone size.
            If <see cref="P:Limilabs.Windows.BarcodeControl.SetMarginsAutomatically"/> is set to true always uses this.NarrowBarWidth*9.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.RightQuietZone">
            <summary>
            Gets or sets quiet zone size.
            If <see cref="P:Limilabs.Windows.BarcodeControl.SetMarginsAutomatically"/> is set to true always uses this.NarrowBarWidth*9.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.SetMarginsAutomatically">
            <summary>
            If set to true <see cref="P:Limilabs.Windows.BarcodeControl.RightQuietZone"/> and <see cref="P:Limilabs.Windows.BarcodeControl.LeftQuietZone"/> always uses this.NarrowBarWidth*9.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.CustomText">
            <summary>
            Custom text which will be rendered instead of Number.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.NarrowBarWidth">
            <summary>
            Width of the narrow bar in rendered barcode in pixels.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.WideBarWidth">
            <summary>
            Width of the narrow bar in rendered barcode in pixels.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.Ratio">
            <summary>
            Wide/narrow bar ratio.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.IsNumberVisible">
            <summary>
            True if text should be visible in rendered barcode.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.Rotation">
            <summary>
            Rotation of the rendered barcode.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.XDpi">
            <summary>
            Horizontal resolution in dots per inch.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.YDpi">
            <summary>
            Vertical resolution in dots per inch.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.BearerBars">
            <summary>
            Bearer bars type.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.BearerBarsSize">
            <summary>
            Bearer bars size in pixels.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.BarColor">
            <summary>
            Text color
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.ForeColor">
            <summary>
            Text color
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.BackColor">
            <summary>
            Back color
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.EAN128IsFNC1OmmitedForFixedLength">
            <summary>
            True if FNC1 control character should be ommited for fixed length fields.
            This results in shorter barcode. False is default.
            </summary>
        </member>
        <member name="P:Limilabs.Windows.BarcodeControl.Code128SetMode">
            <summary>
            You can specify the set that should be used when using Code128.
            BestFitABC is default.
            </summary>
        </member>
        <member name="M:Limilabs.Windows.BarcodeControl.SetControlSize">
            <summary>
            Sets control Size according to Rotation and barcode bitmap size.
            </summary>
        </member>
        <member name="M:Limilabs.Windows.BarcodeControl.SetBarcodeSize">
            <summary>
            Sets barcode Height property according to Rotation and Control's size.
            </summary>
        </member>
    </members>
</doc>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/BarcodeLib.Barcode.ASP.NET.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/EPPlus.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/Gma.QrCodeNet.Encoding.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/LICENSE
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and
distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright
owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities
that control, are controlled by, or are under common control with that entity.
For the purposes of this definition, "control" means (i) the power, direct or
indirect, to cause the direction or management of such entity, whether by
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising
permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including
but not limited to software source code, documentation source, and configuration
files.
"Object" form shall mean any form resulting from mechanical transformation or
translation of a Source form, including but not limited to compiled object code,
generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made
available under the License, as indicated by a copyright notice that is included
in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that
is based on (or derived from) the Work and for which the editorial revisions,
annotations, elaborations, or other modifications represent, as a whole, an
original work of authorship. For the purposes of this License, Derivative Works
shall not include works that remain separable from, or merely link (or bind by
name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version
of the Work and any modifications or additions to that Work or Derivative Works
thereof, that is intentionally submitted to Licensor for inclusion in the Work
by the copyright owner or by an individual or Legal Entity authorized to submit
on behalf of the copyright owner. For the purposes of this definition,
"submitted" means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and
issue tracking systems that are managed by, or on behalf of, the Licensor for
the purpose of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by the copyright
owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
of whom a Contribution has been received by Licensor and subsequently
incorporated within the Work.
2. Grant of Copyright License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such
Derivative Works in Source or Object form.
3. Grant of Patent License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable (except as stated in this section) patent license to make, have
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
such license applies only to those patent claims licensable by such Contributor
that are necessarily infringed by their Contribution(s) alone or by combination
of their Contribution(s) with the Work to which such Contribution(s) was
submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
Contribution incorporated within the Work constitutes direct or contributory
patent infringement, then any patent licenses granted to You under this License
for that Work shall terminate as of the date such litigation is filed.
4. Redistribution.
You may reproduce and distribute copies of the Work or Derivative Works thereof
in any medium, with or without modifications, and in Source or Object form,
provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of
this License; and
You must cause any modified files to carry prominent notices stating that You
changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute,
all copyright, patent, trademark, and attribution notices from the Source form
of the Work, excluding those notices that do not pertain to any part of the
Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any
Derivative Works that You distribute must include a readable copy of the
attribution notices contained within such NOTICE file, excluding those notices
that do not pertain to any part of the Derivative Works, in at least one of the
following places: within a NOTICE text file distributed as part of the
Derivative Works; within the Source form or documentation, if provided along
with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents of
the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works that
You distribute, alongside or as an addendum to the NOTICE text from the Work,
provided that such additional attribution notices cannot be construed as
modifying the License.
You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction, or
distribution of Your modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work otherwise complies
with the conditions stated in this License.
5. Submission of Contributions.
Unless You explicitly state otherwise, any Contribution intentionally submitted
for inclusion in the Work by You to the Licensor shall be under the terms and
conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of
any separate license agreement you may have executed with Licensor regarding
such Contributions.
6. Trademarks.
This License does not grant permission to use the trade names, trademarks,
service marks, or product names of the Licensor, except as required for
reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.
7. Disclaimer of Warranty.
Unless required by applicable law or agreed to in writing, Licensor provides the
Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
including, without limitation, any warranties or conditions of TITLE,
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
solely responsible for determining the appropriateness of using or
redistributing the Work and assume any risks associated with Your exercise of
permissions under this License.
8. Limitation of Liability.
In no event and under no legal theory, whether in tort (including negligence),
contract, or otherwise, unless required by applicable law (such as deliberate
and grossly negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special, incidental,
or consequential damages of any character arising as a result of this License or
out of the use or inability to use the Work (including but not limited to
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
any and all other commercial damages or losses), even if such Contributor has
been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability.
While redistributing the Work or Derivative Works thereof, You may choose to
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
other liability obligations and/or rights consistent with this License. However,
in accepting such obligations, You may act only on Your own behalf and on Your
sole responsibility, not on behalf of any other Contributor, and only if You
agree to indemnify, defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your
accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work
To apply the Apache License to your work, attach the following boilerplate
notice, with the fields enclosed by brackets "{}" replaced with your own
identifying information. (Don't include the brackets!) The text should be
enclosed in the appropriate comment syntax for the file format. We also
recommend that a file or class name and description of purpose be included on
the same "printed page" as the copyright notice for easier identification within
third-party archives.
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/Read Me.txt
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,145 @@
================
* Introduction *
================
This project is the .NET port of POI project. With NPOI, you can read/write Excel and Word files easily. It has a wide application.
For example, you can use it a to generate a Excel report without Microsoft Office suite installed on your
server and more efficient than call Microsoft Excel ActiveX at background; you can also use it to extract
text from Office documents to help you implement full-text indexing feature (most of time this feature is
used to create search engines).
=========================
* Neuzilla Introduction *
=========================
Neuzilla is the studio behind NPOI. While using NPOI, you are becoming one of Neuzilla's clients.
For commercial cooperation or support service consulting, please contact support@neuzilla.com
==================
*  NPOI Website *
==================
https://github.com/tonyqus/npoi/ (Latest source code available)
http://npoi.codeplex.com (Deprecated)
http://npoi.neuzilla.com (coming soon)
======================
* System Requirement *
======================
VS2013
VS2010 with .NET 2.0 or .NET 4.0
VS2005 or VS2008 with .NET 2.0 Runtime (SP1)
vs2003 with .NET 1.1
medium trust environment in ASP.NET
=================
*  Neuzilla on Internet  *
=================
Neuzilla's homepage: http://blog.neuzilla.com
Homepage on Linkedin: http://www.linkedin.com/company/neuzilla
User Group on Linkedin: http://www.linkedin.com/groups/NPOI-User-Group-6655065
企业客户QQ群: 116053476
WeChat Official AccountID: neuzilla
微信公众号ID:neuzilla
================
* Team Members *
================
Tony Qu - coodinator, developer
-------------------------------
From: Shanghai, China
Participated since Sep, 2008
Time Zone: GMT+8
--------------------------------------------------------------------------------
NPOI 1.2.1
--------------------------------------------------------------------------------
Hüseyin Tüfekcilerli - developer
--------------------
From: Istanbul, Turkey
Participated since Nov, 2008
Time Zone: GMT+2
Main Contribution: POIFS Browser 1.0
aTao Xiang - Technical writer
-----------
From: China
Participated since Aug, 2009
Time Zone: GMT+8
Main Contribution: NPOI 1.2 Chinese Tutorial
--------------------------------------------------------------------------------
NPOI 1.2.3 - NPOI 1.2.5
--------------------------------------------------------------------------------
Antony - developer
------------------------------
From: Guangzhou, China
Time Zone: GMT+8
Main Contribution: main code,bug fixing ,Excel2Html, Word2Html
Christian Leutloff - developer
------------------------------
From: Germany
Time Zone: GMT+1
Main Contribution: fix FXCop warnings, OOXML
Jeff Stedfast - developer
------------------------------
From: Cambridge, MA, USA
Time Zone: GMT
Main contribution: Mono version of NPOI, naming conversion
Leon Wang - developer
-----------------------------
From: Xi'an, China
Time Zone: GMT+8
Main contribution: NPOIFS/POIFS
NPOI 2.0
--------------------------------------------------------------------------------
Tony Qu - chief developer
-------------------------------
From: Shanghai, China
Time Zone: GMT+8
Main Contribution: OpenXml4Net, OpenXmlFormats, NPOI.XSSF, NPOI.XWPF implementation
Antony - developer
------------------------------
From: Guangzhou, China
Time Zone: GMT+8
Main Contribution: XWPF implementation, OpenXmlFormats
Christian Leutloff - developer
------------------------------
From: Germany
Time Zone: GMT+1
Main Contribution: OpenXmlFormats, Excel 2007 comment read
Jeff Stedfast - developer
------------------------------
From: Cambridge, MA, USA
Time Zone: GMT
Main contribution: Mono version of NPOI, enumeration changes and compilation optimization
Paul Kratt - developer
------------------------------
From: Greater Milwaukee Area, Wisconsin, USA
Time Zone: GMT
Main contribution: CopyTo, CopySheet functions in HSSFSheet
NPOI 2.1
--------------------------------------------------------------------------------
Tony Qu - main contributor
Antony - fix some poi bugs
Phil Rykoff - developer
------------------------------
Main contribution: XSSF bug fixing and feature implement
NPOI 2.2
--------------------------------------------------------------------------------
Antony
Tony Qu
==================
* How to join us *
==================
If you are interested in this project and want to join me, please write mail to npoi@neuzilla.com
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/Release Notes.txt
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,521 @@
2.3.0 (Mar, 2017)
New Features
- implement XSSF Streaming
BUG Fixes
- Fix GZIPSheetDataWriter
- Hold file handler when OOXML zip package is closed
- Fix test cases
2.2.1 (May,2016)
Bug Fixes
- Fix a lot of serialization issue of ooxml issue
- Fix phonetic guides tag reading/writing issue
- Fix XWPFRun SetText exception issue
- Fix xml security issue
- Optimize memory for AutoResizeColumn
- Fix sqref property is missing on ProtectedRange
- Fix drawing ooxml issue and cell value bug
- Fix numFmtId property issue on NumFmt node
- Fix ooxml issues for RadarChart and CellStyle
- Fix xfrm namespace issue in ooxml
- Fix ScatterChart issue in ooxml
- Fix ooxml bugs in Vml entities
- fix bug when call ISheet.RemoveRow, it removes a wrong row
- Don't close zip stream when zipoutputstream finish writing
2.2.0 (Aug, 2015)
New Feature
1. Implement FIXED, PROPER, DMIN and DGET functions
2. XSSF support for evaluating formula references to other Workbooks
3. Read text from SDTs at the table cell level, including (sometimes) Cover Page, Table of Contents and Bibliography
4. Double Strikethrough support for XWPF runs
5. XSSFSheet support for getDrawingPatriarch(), alongside the existing createDrawingPatriarch() method
6. Start on common interfaces for Paragraphs and Character Runs for XWPF
7. Basic text extractor for older Excel 4,5 and 95 formats
8. Add NPOIFS in-place write support, including updating the contents of existing entries
9. Support loading .xlsx files with no Styles Table
POI Bug fixes
57880 - Handle >32,767 cell styles and formats in XSSF (file format limit is 64,000)
57826 - If a XSSF shape has a buFont but no bullet character, mirror Excel and treat as un-bulleted
56017 - Fix shifting comments with shifted rows
56295 - Fix cloning of styles across workbooks and handling of default value of attribute applyFill
56380 - Remove limitation of 1024 comments per Workbook
56467 - Fix cloning of sheets with pictures
57171 - Adjust the active sheet in setSheetOrder()
57163 - Adjust the active sheet in removeSheet()
57165 - Avoid PartAlreadyExistsException when removing/cloning sheets
57196 - Resolve RefEval to it's inner ValueEval in Hex2Dec
57482 - Handle XSLX files with no shared strings table in read-only mode
46898 - XSSF: Return #VALUE! for circular references.
46912 - Add methods to query outline level for HSSF and XSSF
49541 - Mapping of symbol characters to unicode equivalent
57007 - Add initial implementations of DMIN and DGET functions
57373 - Fix get/setFirstVisibleTab() for XSSFWorkbook
57231 - Add missing ArrayRecord.clone()
56511 - Fix NullPointerException for RichText strings with no formatting for some runs.
56888 - XSSFDataValidation ignores "allow blank" read from sheet, assumes true
57236 -
57254 - XWPF: Correctly build internal list of styles when styles are added
57312 - XWPF: Add check for null value of underline w:val
57355 -
57164 - XSSFDrawing.createCellComment() does not honor dx and dy values passed in
57003 - Add implementation of function FIXED
57185 - Correct naming from "Serie" to "Series"
57010 - Add implementation of function PROPER
55280 - XSSF: Greatly improve performance of shifting rows in sheets with many merged regions.
48195 - Formulas: Fix incorrect evaluation of IF() with ROW()/COLUMN() as else-result.
56914 - XSSFRowShifter.updateConditionalFormatting throws IOOBE when there are more than 1 CTConditionalFormatting
51222 - XSSFColor.getARGBHex() returns wrong color for Excel 2007 xlsx file
56864 - XWPFLatentStyles.isLatentStyle always returns true if there is at least 1 lsdException
57151 - And documentation and validation in CellRangeAddress to prevent invalid row/column combinations
2.1.3.1 (Feb., 2015)
Bug Fixes
a. fix word serialization issues
b. fix CloneStyleFrom issue
c. Fix vertical alignment default value for XSSFCell
d. fix setAutoFilter change range issue
e. fix EDate function
f. fix FormatException in FormulaParser
g. fix Comment random Shape issue (comment serialization issue)
h. fix not be able to unlock the cell issue
POI BUG FIXES
55729 - DataFormatter should format Error cells, returning the Excel error string
49237 - HSSF Row Style XfIndex is 12 not 16 bits of data
54607 - NullPointerException in XSSFSheet.getTopRow() when the top row is 1
55745 - fix handling of tables in XSSF if there are comments as well
54673 - Simple wildcard support in HLOOKUP, VOOLKUP, MATCH, COUNTIF
55047 - REPT formula support
55042 - COMPLEX formula support
55041 - CODE formula support
54508 - EDATE formula support
53966 - IfError support (from Analysis Toolpak)
54402 - IfError handling of indirect references
New feature
a. Add ReplaceText to XWPFParagraph and XWPFRun
b. adjust ExcelExtractor interface
c. Improving comment missing handling in HSSFSheet
d. copy hyperlink in CopySheet and fix some bugs
e. Implement ChartSheet in OpenXmlFormats
f. Implement shrinktofit for XSSF
2.1.3 (Dec., 2014)
Bug Fixes
a. fix 2 charts insert in the same sheet issue
b. fix a lot of Excel 2007 serialization issues
c. fix some Word 2007 serialiation issues
d. fix RemoteSheetAt bug
e. support changing background in XWPF
f. fix Uri-related issues on Mono
New examples
SetIsRightToLeftInXlsx - show how to use IsRightToLeft property
ExtractPicturesFromXlsx - show how to extract pictures from Excel 2007 file
SetRowStyle - show how to set whole row style with simple code
2.1.1 (Jun., 2014)
New Features
a. XSSFSheet.CopySheet
b. Excel2Html for XSSF and HSSF
c. insert picture in word 2007
d. Implement IfError function in formula engine
Bug Fixes
a. fix conditional formatting issue
b. fix ctFont order issue
c. fix vertical alignment issue in XSSF
d. add IndexedColors to NPOI.SS.UserModel
e. fix decimal point issue in non-English culture
f. fix SetMargin issue in XSSF
g.fix multiple images insert issue in XSSF
h.fix rich text style missing issue in XSSF
i. fix cell comment shape (big arrow) in XSSF
j. WorkbookFactory for Excel 2007 doesn't occupy file.
k. fix XSSFCell.IsMergedCell
l. fix incorrect page margin value due to different culture
m. fix HSSFSheet.CopyTo doesn't copy rich text in cells
n. fix scroll bar and tabs missing in previous 2.1 release
New examples
a. XSSF.DownloadXlsx
b. XSSF.ConditionFormats
c. XSSF.LineChart
d. XWPF.InsertPicturesInWord
2.0 [v2.0.6] (Jan., 2014)
a. fix a lot of xml serialization issue for OOXML (2.0.5 will corrupt some xlsx and docx files)
b. implement XSSFCell.IsMergedCell
c. IWorkbook implements IList<ISheet>
2.0 Beta 2 [v2.0.5] (Dec, 2013)
New features
a. Support Scatter chart in XSSF (xlsx) (other chart types are not supported yet)
b. Extract pictures from Excel (xlsx)
c. XWPF becomes stabler than before
d. Able to support xml:space="preserve" attribute
e. Add mono assembly in the release package
f. file generated by NPOI will contain NPOI tags in custom properties to identify the generator
g. Adjust some XWPF interfaces
Sample changes
a. add new samples like BigGridTest, WritePerformanceTest to test performance
b. add ScatterChart to show how to create Scatter chart
c. add LinkedDropDownList for both XSSF and HSSF
d. add MonthlySalaryReport to show how to use formula in XSSF
e. add CreateCustomProperties to show how to use custom props in XSSF and XWPF
Bug fixes
a. fix shift row issue in XSSFSheet
b. fix performance issue due to XmlSerializer. NPOI is getting rid of XmlSerializer.
c. reading/writing CT_Drawing
d. fix ddd pattern issue in CellDateFormatter
e. Change some common interfaces in NPOI.SS
f. fix OutOfMemory issue in MemoryPackagePart
g. Able to read AbsoluteAnchor, OneCellAnchor, TwoCellAnchor in drawing.xml
h. Formula will be calculated automatically after generation
i. improve performance for XSSF while creating new rows
For detail, please read https://npoi.codeplex.com/discussions/443655
j. fix name encoding issue of custom properties in HSSF
For detail, please read https://npoi.codeplex.com/workitem/12296
k. fix exception in HSSFRows.RemoveAllCells
l. fix CellStyle Hashtable comparison issue in class HSSFCellUtil. This can help prevent over 4000 styles issue from code.
m. Fix globalization issue in ExpandedDouble
=========================================================================
2.0 Beta 1 [v2.0.1] (Feb, 2013)
New features
a. Copy rows, columns inside a sheet
b. Copy sheet between workbooks (contributed by Paul Kratt)
c. insert rows and column inside a sheet
d. OpenXml4Net is stable and ready for use
e. Support new Excel functions such as RATE, RANK, ISERR
f. Support converting from Excel to Html
g. POIFS Browser supports Chart records
Example changes
a. Use MemoryStream.WriteTo instead in ExportXlsToDownload in order to avoid out of memory exception
b. add new examples like CalendarDemo, BusinessPlan, CopySheet
NPOI Bug Fixes
Issue with 2.0 Beta: Get an non-Closing Element error
http://npoi.codeplex.com/workitem/11085
Npoi 2 error in NumericCellValue (XSSFCell)
http://npoi.codeplex.com/workitem/11083
[HSSF]Comment is not saved correctly while using a xls template with comment
http://npoi.codeplex.com/workitem/11169
Access issue creating worksheet
http://npoi.codeplex.com/workitem/11383
Error when running NPOI with Mono C# compiler version 2.0.1.0
http://npoi.codeplex.com/workitem/4547
POI Bug Fixes
53282 - Avoid exception when parsing OPC relationships with non-breaking spaces(poi-developers)
54016 - Avoid exception when parsing workbooks with DConRefRecord in row aggregate(poi-developers)
53404 - Fixed compatibility bug with modifying xls files created by POI-3.6 and earlier(poi-developers)
53763 - avoid style mess when using HSSFOptimiser (poi-developers)
53974 - Avoid NPE when constructing HSSFWorbook on Google App Engine(poi-developers)
53950 - fixed setForceFormulaRecalculation to reset workbook-level "manual" flag(poi-developers)
52211 - avoid unnessary re-coverting content types to US-ASCII, it can cause exceptions on ibm mainframes(poi-developers)
HSSFOptimiser will now also tidy away un-used cell styles, in addition to duplicate styles(poi-developers)
53434 - Subtotal is not return correct value. (poi-developers)
53144 - First comment not cloned after cloneSheet() (poi-developers)
53028 - Broken auto fit row height in the cells with word wrap (poi-developers)
53010 - GSoC2012? Improve drawing support in HSSF (poi-developers)
52764 - Unmodified cell comments disappear after HSSFWorkbook.write (poi-developers)
51676 - Using drawingPatriarch.createCellComment(anchor) leads to File error: data may have been lost (poi-developers)
51455 - It would be really nice to be able to set the background picture of a comment (poi-developers)
48989 - If we have a comment but the row is not created we will not be able to get it. (poi-developers)
48873 - Comments not saving in XLS files with collapsible columns (poi-developers)
46143 - setLineStyleColor for comments donot work (poi-developers)
53699 - Patch to correct BorderStyle? enum positions (poi-developers)
53644 - XLS formula bugfix (CalFieldFunc?) + WeekDay? addon (poi-developers)
53446 - Fixed some problems extracting PNGs (poi-developers)
53204 - Improved performanceof PageSettingsBlock? in HSSF (poi-developers)
53500 - Getter for repeating rows and columns(poi-developers)
53476 - Support Complex Name in formulas (poi-developers)
53414 - properly update sheet dimensions when adding column (poi-developers)
Add File based constructor to OPCPackage, alongside existing String one (which constructed a File from the string internally)(poi-developers)
53389 - Handle formatting General and @ formats even if a locale is prefixed to them(poi-developers)
53058 - Utility for representing drawings contained in a binary Excel file as a XML tree(poi-developers)
48528 - support negative arguments to the DATE() function(poi-developers)
53101 - fixed evaluation of SUM over cell range > 255(poi-developers)~
52928 - DateFormatConverter?: an utility to convert instances of java.text.DateFormat? to Excel format patterns(poi-developers)
52895 - show SSTIndex instead of XFIndex in LabelSSTRecord.toString()(poi-developers)
52818 - Added implementation for RANK()(poi-developers)
51564 - support for enforcing fields update in XWPF(poi-developers) 51673 - support grouping rows in SXSSF(poi-developers)
51780 - support replacement of content types in OPC packages (poi-developers)
52057 - updated formula test framework to be aware of recently added Functions (poi-developers)
52574 - support setting header / footer page margins in HSSF(poi-developers)
52583 - fixed WorkbookUtil#createSafeSheetName? to escape colon (poi-developers)
52708 - misc improvements in CellFormat? (poi-developers)
52690 - added a getter for length of encrypted data in Ecma and Agile decryptors(poi-developers)
allow runtime registration of functions in FormulaEvaluator?(poi-developers)
52665 - When reading from a ZipFileZipEntrySource? that has already been closed, give IllegalArgumentException? rather than NPE(poi-developers)
52385 - avoid trancated array and vector data when reading OLE properties(poi-developers)
51498 - fixed evaluation of blank cells in COUNTIF(poi-developers)
52576 - support changing external file references in HSSFWorkbook(poi-developers)
49896 - support external references in FormulaRenderer?(poi-developers)
52527 - avoid exception when matching shared formula records in HSSF(poi-developers)
52568 - Added methods to set/get an XWPFRun's text color(poi-developers)
52566 - Added methods to set/get vertical alignment and color in XWPFTableCell(poi-developers)
52562 - Added methods to get/set a table row's Can't Split and Repeat Header attributes in XWPF(poi-developers)
52561 - Added methods to set table inside borders and cell margins in XWPF(poi-developers)
52569 - Support DConRefRecord in HSSF(poi-developers)
52575 - added an option to ignore missing workbook references in formula evaluator(poi-developers)
52540 - Relax the M4.1 constraint on reading OOXML files, as some Office produced ones do have 2 Core Properties, despite the specification explicitly forbidding this(poi-developers)
52462 - Added implementation for SUMIFS()(poi-developers)
52449 - Support writing XWPF documents with glossaries (Glossaries are not yet supported, but can now be written out again without changes)(poi-developers)
52438 - Update CellDateFormatter? to handle times without seconds(poi-developers)
52389 - Support ?/? as well as #/# fractions, and tighten DataFormatter? rules for fraction matching(poi-developers)
52378 - Support for WORKDAY and NETWORKDAYS functions(poi-developers)
52349 - Merge the logic between the TEXT function and DataFormatter?(poi-developers)
52349 - Correctly support excel style date format strings in the TEXT function(poi-developers)
52369 - XSSFExcelExtractor should format numeric cells based on the format strings applied to them(poi-developers)
52369 - Event based XSSF parsing should handle formatting of formula values in XSSFSheetXMLHandler(poi-developers)
52348 - Avoid exception when creating cell style in a workbook that has an empty xf table(poi-developers)
52314 - enhanced SheetUtil?.getColumnWidth(poi-developers)
51875 - More XSSF new-line in formula support(poi-developers)
POIFS EntryUtils?.copyNodes(POFS,POIFS) now uses FilteringDirectoryNode?, so can exclude from copying nodes not just directly under the root(poi-developers)
POIFS Helper FilteringDirectoryNode?, which wraps a DirectoryEntry? and allows certain parts to be ignored(poi-developers)
52190 - null check on XWPF setFontFamily(poi-developers)
52050 - Support for the Excel RATE function(poi-developers)
51949 - Avoid NPE on double close of ZipFileZipEntrySource?(poi-developers)
51950 - XWPF fix for footnotes not always being present in a document(poi-developers)
51963 - Correct AreaReference? handling of references containing a sheet name which includes a comma(poi-developers)
51834 - Opening and Writing .doc file results in corrupt document(poi-developers)
Allow the passing of a File object to WorkbookFactory?.create, which permits lower memory processing than the InputStream? version(poi-developers)
51850 - support creating comments in XSSF on an earlier slide when later ones already have them(poi-developers)
New PackagePart? method getRelatedPart(PackageRelationship?) to simplify navigation of relations between OPC Parts(poi-developers)
51832 - handle XLS files where the WRITEPROTECT record preceeds the FILEPASS one, rather than following as normal(poi-developers)
51809 - correct GTE handling in COUNTIF(poi-developers)
51670 - avoid LeftoverDataException? when reading .xls files with invalid LabelRecords?(poi-developers)
51196 - prevent NPE in XWPFPicture.getPictureData() (poi-developers)
51196 - more progress with Chart APi in XSSF(poi-developers)
51785 - Allow XSSF setForceFormulaRecalculation to work with the minimal ooxml-schemas jar(poi-developers)
=========================================================================
2.0 Alpha [v2.0.0] (August, 2012)
New features
a. Implement OpenXml4Net (same as System.Packaging from Microsoft). It supports both .NET 2.0 and .NET 4.0
b. Excel 2007 read/write library (NPOI.XSSF)
c. Word 2007 read/write library(NPOI.XWPF)
d. NPOI.SS namespace becomes the interface shared between XSSF and HSSF
e. Load xlsx template and save as new xlsx file (partially supported)
f. Diagonal line in cell both in xls and xlsx
g. Support isRightToLeft and setRightToLeft on the common spreadsheet Sheet interface, as per existing HSSF support(poi-developers)
h. New examples for NPOI.OpenXml4Net(2 examples), NPOI.XSSF (15 examples) and NPOI.XWPF (5 examples)
=========================================================================
1.2.5 (April,2012)
In this release, we fixed most of the bugs found in POI 3.8 beta 4.
POI Bug Fixes
51535 - correct signed vs unsigned short reading in NDocumentInputStream(poi-developers)
50209 - Fixed evaluation of Subtotals to ignore nested subtotals(poi-developers)
50401 - fixed EscherProperty to return property name instead of 'unknown' for complex properties (poi-developers)
51481 - Fixed autofilters in HSSF to avoid warnings in Excel 2007(poi-developers)
51533 - Avoid exception when changing name of a sheet containing shared formulas(poi-developers)
46250 - Fixed cloning worksheets with images(poi-developers)
51514 - allow HSSFObjectData to work with both POIFS and NPOIFS(poi-developers)
51514 - avoid NPE when copying nodes from one HSSF workbook to a new one, when opened from NPOIFS(poi-developers)
51504 - avoid NPE when DefaultRowHeight or DefaultColumnWidth records are missing(poi-developers)
48294 - Fixed HSSFWorkbook.setSheetOrder() to respect inter-sheet references (poi-developers)
51448 - Avoid exception when evaluating workbooks with more than 256 sheets (poi-developers)
51458 - Correct BitField wrapping when setting large values(poi-developers)
51460 - Improve HSSF performance when loading very long rows, by switching the CellValue array to an iterator(poi-developers)
51415 - Fixed Workbook.createSheet(sheetName) to truncate names longer than 31 characters(poi-developers)
51332 - Fixed internal IDs of shapes generated by HSSFPatriarch when there are more than 1023 drawing objects (poi-developers)
48408 - Improved documentation for Sheet.setColumnWidth (poi-developers)
50681 - Avoid exceptions in HSSFDataFormat.getDataFormatString() (poi-developers)
50681 - Fixed autosizing columns beyond 255 character limit (poi-developers)
51339 - Fixed arithmetic rounding in formula evaluation (poi-developers)
51098 - Correctly calculate image width/height, if image fits into one cell(poi-developers)
51273 - Formula Value Cache fix for repeated evaluations(poi-developers)
51171 - Improved performance of SharedValueManager (poi-developers)
51171 - Improved performance of opening large .xls files(poi-developers)
51153 - Correct sizing of LbsDataSubRecord with unused padding fields(poi-developers)
51143 - NameCommentRecord correction for writing non ASCII strings(poi-developers)
51115 - Handle DataFormatter escaping of "." in the same way as "-" and "/"(poi-developers)
51100 - Fix IOUtils issue for NPOIFS reading from an InputStream where every block is full(poi-developers)
50841 - Improved SpreadSheet DataFormatter to handle scientific notation, invalid dates and format spacers(poi-developers)
50939 - ChartEndObjectRecord is supposed to have 6 bytes at the end, but handle it not(poi-developers)
50912 - fixed setting named styles to HSSFCells(poi-developers)
50779 - fixed RecordFormatException when reading unicode strings with photenic data(poi-developers)
50718 - More helpful error message when you try to create a CellReference with #REF!(poi-developers)
50786 - Speed up calls to HSSFColor.getIndexHash() by returning a cached, unmodifiable Map. HSSFColor.getModifiableIndexHash() provides access to the old (slow but modifiable) functionality(poi-developers)
32903 - Correct XBAT chaining explanation in /poifs/fileformat.html(poi-developers)
46664 - When creating HSSF Print Areas, ensure the named range is reference based not value based(poi-developers)
50756 - When formatting numbers based on their Cell Style, treat GENERAL the same as the more typical General(poi-developers)
fixed HSSFWorkbook.createCellStyle to throw exception if the maximum number of cell styles was exceeded(poi-developers)
49928 - allow overridden built-in formats in HSSFCellStyle(poi-developers)
50587 - Improved documentation on user-defined functions(poi-developers)
50416 - Correct shifting of the first or last row in a sheet by multiple rows(POI-DEVELOPERS)
50246 - Properly position GutsRecord when reading HSSF workbooks(POI-DEVELOPERS)
50437 - Support passing ranges to NPV()(POI-DEVELOPERS)
47405 - Improved performance of RowRecordsAggregate.getStartRowNumberForBlock / getEndRowNumberForBlock(poi-developers)
50113 - Remove cell from Calculation Chain after setting cell type to blank (poi-developers)
50096 - Fixed evaluation of cell references with column index greater than 255 (poi-developers)
49761 - Tolerate Double.NaN when reading .xls files(poi-developers)
50211 - Use cached formula result when auto-sizing formula cells(poi-developers)
50118 - OLE2 does allow a directory with an empty name, so support this in POIFS(poi-developers)
NPOI Bug fixes
a. CloneSheet with images throws exception
b. Comments are still visible even set Visible property to false
c. AutoSizeColumn doesn't work as expected
d. Reading sheet protected workbook throws exception
New Features
a. Added NPOIFS constructors to most POIDocument classes and their extractors, and more widely deprecated the Document(DirectoryNode, POIFSFileSystem) constructor in      favour of the more general Document(DirectoryNode) one
b. Added implementation for CLEAN(), CHAR(), ADDRESS(),MROUND(), VAR(), VARP(), IRR()
c. Added Support for HOUR, MINUTE and SECOND date formulas
d. Support for continued NameRecords, continued ExtSSTRecords
e. Support using RecalcIdRecord to trigger a full formula recalculation on load (poi-developers)
f. ExternalNameRecord support for DDE Link entries without an operation(poi-developers)
g. POIFS Browser: add ability to parse EscherContainer and sub nodes
=========================================================================
1.2.4 (Nov,2011)
In this release, we fixed most of the bugs found in POI 3.6 and POI 3.7.
NPOI Bug Fixes
5157 - HSSFSheet.FitToPage property is added. It doesn't work previously.
7271 - Cell formula that has been "dragged" down cannot be read. Patch is applied
xxx - Bad padding calculation
3804 - NPOI doesn't work with a Excel template with macro
POI Bug Fixes
46547 - ClassCastException in HSSFSheet.shiftRows(...)
47363 - Fixed HSSFSheet to allow addition of data validations after sheet protection
45066 - sheet encoding size mismatch problems
49026 - added implementation for text() (poi-developers)
46654 - HSSFRow/RowRecord to properly update cell boundary indexes(POI-DEVELOPERS)
46385 - (also patch 46362) fix serialization of StyleRecord with unicode name(POI-DEVELOPERS)
47069 - Fixed HSSFSheet#getFirstRowNum and HSSFSheet#getLastRowNum to return correct values after removal of all rows(POI-DEVELOPERS)
48325 - bad text 'Page &P of &N' and similar errors when reading in spreadsheets
48485 - add extra paper size constans to printsetup, such as a3, b4 and b5(poi-developers)
48425 - improved performance of dateutil.iscelldateformatted() (poi-developers)
49524 - add vertical text orientation method
47001 - Fixed WriteAccessRecord and LinkTable to handle unusual format written by Google Docs(POI-DEVELOPERS)
46368 - Fix HSSFRichTextRun and strings longer than 32768 characters(POI-DEVELOPERS)
48292 - Support of array formulas
49820 - ParagraphProperties.getLvl() returns 0 for both Level 1 and Body text
      - fixed HSSFWorkbook.createCellStyle to throw exception if the maximum number of cell styles was exceeded(poi-developers)
47405 - Improved performance of RowRecordsAggregate.getStartRowNumberForBlock / getEndRowNumberForBlock(poi-developers)
46250 - Workbook cloneSheet() - clone images
48026 - duplicate footer and header
46664 - Print Area does not save in HSSF worksheets
49761 - Double.NaN can be written but not read with POI
47309 - Number of Cell Comments in a sheet limited to 65536 with HSSF
46776 - POI does not work when run the method "cloneSheet()"
47250 - Fixed FontRecord to expect unicode flags even when name length is zero(POI-DEVELOPERS)
47198 - Fixed formula evaluator comparison of -0.0 and 0.0(POI-DEVELOPERS)
46287 - Control of header and footer extraction in ExcelExtractor / XSSFExcelExtractor(POI-DEVELOPERS)
47154 - Handle the cell format @ as the same as General(POI-DEVELOPERS)
40520 - Fixed HSSFFont.applyFont() to properly apply font to overlapping regions(POI-DEVELOPERS)
45720 - cloneSheet breaks autofilters
46643 - Formula parser should encode explicit range operator with tMemFunc
51481 - Office 2007 warning if using autofilter
50681 - autoSizeColumn sets column width beyond 255 character limit for XSSF sheets and HSSF Sheets
50912 - Applying an HSSFCellStyle on an HSSFCell has no effect
51143 - NameCommentRecord correction for writing non ASCII strings(poi-developers)
New Features
a. Add NameCommentRecord, HeaderFooterRecord
b. AutoFilter Phrase II - it's able to create autofilter with any cell range
c. Add the method to determine if the cell is merged or not
d. Support compilation with MonoDeveloper
e. Change all interface name starting with 'I'
=========================================================================
1.2.3 (Nov. 2010)
NPOI Bug fixes
5010 - Unable to read xls file with pivot table
5139 - SheetExtRecord DataSize is 40
6177 - LeftoverDataException: Intermitend Bug
6341 - System.NullReferenceException on Workbook.Dispose (+Bugfix)
Change NPOI.HSSF.Model.Sheet to NPOI.HSSF.Model.InternalSheet
Change NPOI.HSSF.Model.Workbook to NPOI.HSSF.Model.InternalWorkbook
6984 - Cannot manually edit/add dates in the xls created by NPOI
Sync POI bug fixes
46776 - Added clone() method to MulBlankRecord to fix crash in Sheet.cloneSheet()(POI-DEVELOPERS)
46547 - Allow addition of conditional formatting after data validation(POI-DEVELOPERS)
45290 - Support odd files where the POIFS header block comes after the data blocks, and is on the data blocks list(POI-DEVELOPERS)
46904 - Fix POIFS issue with duplicate block 0 references on very old BIFF5/BIFF7 files(POI-DEVELOPERS)
45376
47970 - added a method to set arabic mode in HSSFSheet(POI-DEVELOPERS)
47048 - Fixed evaluation of defined names with the 'complex' flag set(POI-DEVELOPERS)
44916 - Allow access to the HSSFPatriarch from HSSFSheet once created(POI-DEVELOPERS)
45672 - improve handling by MissingRecordAwareHSSFListener of records that cover multiple cells (MulBlankRecord and MulRKRecord)(POI-DEVELOPERS)
45698 - Fix LinkTable to tolerate multiple EXTERNSHEET records(POI-DEVELOPERS)
45784 - More fixes to SeriesTextRecord(POI-DEVELOPERS)
46065 - added implementation for VALUE function(POI-DEVELOPERS)
45966 - added implementation for FIND function(POI-DEVELOPERS)
45784 - More fixes to SeriesTextRecord(POI-DEVELOPERS)
46065 - added implementation for VALUE function(POI-DEVELOPERS)
45966 - added implementation for FIND function(POI-DEVELOPERS)
47721 - Added implementation for INDIRECT()
    Added implementation for ISNA()(
48332 - fixed ColumnInfoRecord to tolerate missing reserved field
45778 - fixed ObjRecord to read ftLbsData properly(POI-DEVELOPERS)
46206 - Fixed Sheet to tolerate missing DIMENSION records(POI-DEVELOPERS)
47384 - Fixed ExternalNameRecord to handle unicode names(POI-DEVELOPERS)
47479 - Fix BoolErrRecord to tolerate incorrect format written by OOO
46199 - More tweaks to EmbeddedObjectRefSubRecord(POI-DEVELOPERS)
47751 - Do not allow HSSF's cell text longer than 32,767 characters
46213 - Fixed FormulaRecordAggregate to gracefully ignore extra StringRecords(POI-DEVELOPERS)
46301 - added pivot table records: SXDI, SXVDEX, SXPI, SXIDSTM, SXVIEW, SXVD, SXVS, et al(POI-DEVELOPERS)
48180 - be more forgiving of short chart records, which skip some unused fields(POI-DEVELOPERS)
46280 - Fixed RowRecordsAggregate etc to properly skip PivotTable records(POI-DEVELOPERS)
46174 - Fixed HSSFName to handle general formulas (not just area references)(POI-DEVELOPERS)
47768 - Implementation of Excel "Npv" functions
47771 - Added method setFunction(boolean) for defined names
47770 - built-in positive formats don't need starting '
47737 - adjust sheet indices of named ranges when deleting sheets
47448 - Allow HSSFEventFactory to handle non-zero padding at the end of the workbook stream
47143 - Fixed OOM in HSSFWorkbook#getAllPictures when reading .xls files containing metafiles
47415 - Fixed PageSettingsBlock to allow multiple PLS records
46269 - Improved error message when attempting to read BIFF2 file(POI-DEVELOPERS)
46189 - added chart records: CHARTFRTINFO, STARTBLOCK, ENDBLOCK, STARTOBJECT, ENDOBJECT, and CATLAB(POI-DEVELOPERS)
45290 - Support odd files where the POIFS header block comes after the data blocks, and is on the data blocks list(POI-DEVELOPERS)
46137 - Handle odd files with a ContinueRecord after EOFRecord(POI-DEVELOPERS)
=========================================================================
NPOI 1.2.2 (2009-12-5)
a. ability to identify more Chart record
b. ColumnAutoSize bug is fixed (bug 3754 )
c. DefaultRowHeight bug is fixed (bug 3880)
e. Sheet Tab Formatting (bug 3772)
f. ShrinkToFit property is exposed to user (bug 4103)
g. Active selection area (bug 4527)
h. HSSFSheet.RemoveRow will remove CellRecord as well as RowRecord (bug 3493)
i. Auto filter feature (alpha)
j. read xls template with macro (bug 3804)
=========================================================================
NPOI 1.2.1 (2009-6-1)
a. Conditional Formating doesn't work as expected
b. HSSFDataFormat.GetFormat return different index for the same format string
c. Incorrect namespace spelling of NPOI.SS.Formula
d. HSSFCell.ToString() method supports DataFormat now
e. add strong name for all the assembiles
f. HSSFColor.index static variable isn't accessible in VB.NET due to the HSSFColor Index property
=========================================================================
NPOI 1.2 (2009-5)
implement features in POI 3.2 final
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net20/NPOI.OOXML.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net20/NPOI.OpenXml4Net.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net20/NPOI.OpenXmlFormats.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net20/NPOI.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net20/NPOI.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net40/NPOI.OOXML.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net40/NPOI.OpenXml4Net.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net40/NPOI.OpenXmlFormats.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net40/NPOI.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/lib/net40/NPOI.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/logo/120_120.jpg
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/logo/240_240.png
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/logo/32_32.jpg
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/NPOI.2.3.0/logo/60_60.jpg
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/SharpZipLib.0.86.0/lib/11/ICSharpCode.SharpZipLib.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/SharpZipLib.0.86.0/lib/20/ICSharpCode.SharpZipLib.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/SharpZipLib.0.86.0/lib/SL3/SharpZipLib.Silverlight3.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/SharpZipLib.0.86.0/lib/SL4/SharpZipLib.Silverlight4.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/ZXing.Net.0.12.0.0.nuspec
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
  <metadata>
    <id>ZXing.Net</id>
    <version>0.12.0.0</version>
    <title>ZXing.Net</title>
    <authors>Michael Jahn</authors>
    <owners>Michael Jahn</owners>
    <licenseUrl>http://zxingnet.codeplex.com/license</licenseUrl>
    <projectUrl>http://zxingnet.codeplex.com/</projectUrl>
    <iconUrl>https://api.nuget.org/v3-flatcontainer/zxing.net/0.12.0/icon</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>ZXing.Net is a port of ZXing, an open-source, multi-format 1D/2D barcode image processing library originally implemented in Java.
It has been ported by hand with a lot of optimizations and improvements.
It is now compatible with .Net 2.0, .Net 3.5, .Net 4.0, Windows RT Class Library and Components, Silverlight 4, Silverlight 5, Windows Phone 7.0, Windows Phone 7.1 and Windows Phone 8.0, Xamarin.Android and Xamarin.iOS</description>
    <summary>ZXing.Net is a port of ZXing, an open-source, multi-format 1D/2D barcode image processing library originally implemented in Java.</summary>
    <releaseNotes>* sync with rev. 2875 of the java version
* new PDF417 decoder
* improved Aztec decoder
* global speed improvements
* direct Kinect support for ColorImageFrame
* better Structured Append support
* many other small bug fixes and improvements</releaseNotes>
    <tags>ZXing barcode scanning 1D 2D UPC-A UPC-E EAN-8 EAN-13 QR ITF Codabar RSS-14 Data Matrix PDF 417 PDF417 Aztec</tags>
  </metadata>
</package>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/MonoAndroid/zxing.monoandroid.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/MonoAndroid/zxing.monoandroid.xml
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/native/ZXing.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/native/ZXing.pri
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/native/ZXing.winmd
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net20-cf/zxing.ce2.0.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net20-cf/zxing.ce2.0.xml
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net20/zxing.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net20/zxing.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net35-cf/zxing.ce3.5.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net35-cf/zxing.ce3.5.xml
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net35/zxing.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net35/zxing.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net40/zxing.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net40/zxing.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net40/zxing.presentation.XML
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>zxing.presentation</name>
    </assembly>
    <members>
        <member name="T:ZXing.Presentation.BarcodeReader">
            <summary>
            A smart class to decode the barcode inside a bitmap object which is derived from BitmapSource
            </summary>
        </member>
        <member name="M:ZXing.Presentation.BarcodeReader.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ZXing.Presentation.BarcodeReader"/> class.
            </summary>
        </member>
        <member name="M:ZXing.Presentation.BarcodeReader.#ctor(ZXing.Reader,System.Func{System.Windows.Media.Imaging.BitmapSource,ZXing.LuminanceSource},System.Func{ZXing.LuminanceSource,ZXing.Binarizer})">
            <summary>
            Initializes a new instance of the <see cref="T:ZXing.Presentation.BarcodeReader"/> class.
            </summary>
            <param name="reader">Sets the reader which should be used to find and decode the barcode.
            If null then MultiFormatReader is used</param>
            <param name="createLuminanceSource">Sets the function to create a luminance source object for a bitmap.
            If null, default is used</param>
            <param name="createBinarizer">Sets the function to create a binarizer object for a luminance source.
            If null then HybridBinarizer is used</param>
        </member>
        <member name="M:ZXing.Presentation.BarcodeReader.#ctor(ZXing.Reader,System.Func{System.Windows.Media.Imaging.BitmapSource,ZXing.LuminanceSource},System.Func{ZXing.LuminanceSource,ZXing.Binarizer},System.Func{System.Byte[],System.Int32,System.Int32,ZXing.RGBLuminanceSource.BitmapFormat,ZXing.LuminanceSource})">
            <summary>
            Initializes a new instance of the <see cref="T:ZXing.Presentation.BarcodeReader"/> class.
            </summary>
            <param name="reader">Sets the reader which should be used to find and decode the barcode.
            If null then MultiFormatReader is used</param>
            <param name="createLuminanceSource">Sets the function to create a luminance source object for a bitmap.
            If null, default is used</param>
            <param name="createBinarizer">Sets the function to create a binarizer object for a luminance source.
            If null then HybridBinarizer is used</param>
            <param name="createRGBLuminanceSource">The create RGB luminance source.</param>
        </member>
        <member name="M:ZXing.BitmapSourceLuminanceSource.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:ZXing.BitmapSourceLuminanceSource"/> class.
            </summary>
            <param name="width">The width.</param>
            <param name="height">The height.</param>
        </member>
        <member name="M:ZXing.BitmapSourceLuminanceSource.#ctor(System.Windows.Media.Imaging.BitmapSource)">
            <summary>
            Initializes a new instance of the <see cref="T:ZXing.BitmapSourceLuminanceSource"/> class.
            </summary>
            <param name="bitmap">The bitmap.</param>
        </member>
        <member name="M:ZXing.BitmapSourceLuminanceSource.CreateLuminanceSource(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Should create a new luminance source with the right class type.
            The method is used in methods crop and rotate.
            </summary>
            <param name="newLuminances">The new luminances.</param>
            <param name="width">The width.</param>
            <param name="height">The height.</param>
            <returns></returns>
        </member>
    </members>
</doc>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/net40/zxing.presentation.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/portable-win+net40+sl4+sl5+wp7+wp71+wp8/zxing.portable.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/portable-win+net40+sl4+sl5+wp7+wp71+wp8/zxing.portable.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl3-wp/zxing.wp7.0.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl3-wp/zxing.wp7.0.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl4-wp71/zxing.wp7.1.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl4-wp71/zxing.wp7.1.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl4/zxing.sl4.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl4/zxing.sl4.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl5/zxing.sl5.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/sl5/zxing.sl5.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/windows8-managed/zxing.winrt.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/windows8-managed/zxing.winrt.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/windows8/ZXing.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/windows8/ZXing.pri
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/windows8/ZXing.winmd
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/wp8/zxing.wp8.0.XML
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/ZXing.Net.0.12.0.0/lib/wp8/zxing.wp8.0.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/dll/logtxt.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/iWarePrintService.csproj
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,264 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{5DF978C5-55BD-4056-8D8D-232CAA1E7EC5}</ProjectGuid>
    <OutputType>WinExe</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>iWarePrintService</RootNamespace>
    <AssemblyName>iWarePrintService</AssemblyName>
    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <TargetFrameworkProfile />
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <PlatformTarget>AnyCPU</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <PlatformTarget>AnyCPU</PlatformTarget>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Aspose.Cells, Version=8.9.2.0, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dll\Aspose.Cells.dll</HintPath>
    </Reference>
    <Reference Include="Barcode, Version=2.0.0.20, Culture=neutral, PublicKeyToken=6dc438ab78a525b3, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dll\Barcode.dll</HintPath>
    </Reference>
    <Reference Include="BarcodeLib.Barcode.ASP.NET, Version=6.10.1.12310, Culture=neutral, PublicKeyToken=f1ec954ce2c30e4e, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dll\BarcodeLib.Barcode.ASP.NET.dll</HintPath>
    </Reference>
    <Reference Include="EntityFramework">
      <HintPath>..\iWareCommon\DLL\EntityFramework.dll</HintPath>
    </Reference>
    <Reference Include="EntityFramework.SqlServer">
      <HintPath>..\iWareCommon\DLL\EntityFramework.SqlServer.dll</HintPath>
    </Reference>
    <Reference Include="EPPlus, Version=3.0.0.2, Culture=neutral, PublicKeyToken=ea159fdaa78159a1, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dll\EPPlus.dll</HintPath>
    </Reference>
    <Reference Include="Gma.QrCodeNet.Encoding, Version=0.4.0.0, Culture=neutral, PublicKeyToken=e8a75d24b142be49, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dll\Gma.QrCodeNet.Encoding.dll</HintPath>
    </Reference>
    <Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dll\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
    </Reference>
    <Reference Include="NPOI, Version=2.3.0.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dll\NPOI.2.3.0\lib\net40\NPOI.dll</HintPath>
    </Reference>
    <Reference Include="NPOI.OOXML, Version=2.3.0.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dll\NPOI.2.3.0\lib\net40\NPOI.OOXML.dll</HintPath>
    </Reference>
    <Reference Include="NPOI.OpenXml4Net, Version=2.3.0.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dll\NPOI.2.3.0\lib\net40\NPOI.OpenXml4Net.dll</HintPath>
    </Reference>
    <Reference Include="NPOI.OpenXmlFormats, Version=2.3.0.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dll\NPOI.2.3.0\lib\net40\NPOI.OpenXmlFormats.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Configuration" />
    <Reference Include="System.Core" />
    <Reference Include="System.Runtime.Serialization" />
    <Reference Include="System.ServiceModel" />
    <Reference Include="System.Web" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Deployment" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="zxing">
      <HintPath>dll\ZXing.Net.0.12.0.0\lib\net40\zxing.dll</HintPath>
    </Reference>
    <Reference Include="zxing.presentation">
      <HintPath>dll\ZXing.Net.0.12.0.0\lib\net40\zxing.presentation.dll</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Common\SystemConst.cs" />
    <Compile Include="Connected Services\PrintBaseService\Reference.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Reference.svcmap</DependentUpon>
    </Compile>
    <Compile Include="Entity\ColumnEntity.cs" />
    <Compile Include="Entity\MaterialEntity.cs" />
    <Compile Include="Form1.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="Form1.Designer.cs">
      <DependentUpon>Form1.cs</DependentUpon>
    </Compile>
    <Compile Include="Helper\ConfigHelper.cs" />
    <Compile Include="Helper\DataCache.cs" />
    <Compile Include="printService\creatExcelPrintForDO.cs" />
    <Compile Include="printService\creatExcelPrintForSC.cs" />
    <Compile Include="printService\creatExcelPrint.cs" />
    <Compile Include="printService\labelEntity.cs" />
    <Compile Include="printService\print.cs" />
    <Compile Include="printService\QrCodeAndBarCode.cs" />
    <Compile Include="Program.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Utility\Common.cs" />
    <Compile Include="Utility\ExcelHelper.cs" />
    <Compile Include="Utility\TextHelper.cs" />
    <EmbeddedResource Include="Form1.resx">
      <DependentUpon>Form1.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="Properties\Resources.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
      <SubType>Designer</SubType>
    </EmbeddedResource>
    <Compile Include="Properties\Resources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DependentUpon>Resources.resx</DependentUpon>
      <DesignTime>True</DesignTime>
    </Compile>
    <None Include="App - æœ¬æœº.config" />
    <None Include="Connected Services\PrintBaseService\item.xsd">
      <SubType>Designer</SubType>
    </None>
    <None Include="Connected Services\PrintBaseService\item1.xsd">
      <SubType>Designer</SubType>
    </None>
    <None Include="Connected Services\PrintBaseService\item2.xsd">
      <SubType>Designer</SubType>
    </None>
    <None Include="Connected Services\PrintBaseService\iWarePrintService.PrintBaseService.GetImageResponse.datasource">
      <DependentUpon>Reference.svcmap</DependentUpon>
    </None>
    <None Include="Connected Services\PrintBaseService\iWarePrintService.PrintBaseService.GetPrinterStatusResponse.datasource">
      <DependentUpon>Reference.svcmap</DependentUpon>
    </None>
    <None Include="Connected Services\PrintBaseService\iWarePrintService.PrintBaseService.Print2Response.datasource">
      <DependentUpon>Reference.svcmap</DependentUpon>
    </None>
    <None Include="Connected Services\PrintBaseService\iWarePrintService.PrintBaseService.Print3Response.datasource">
      <DependentUpon>Reference.svcmap</DependentUpon>
    </None>
    <None Include="Connected Services\PrintBaseService\iWarePrintService.PrintBaseService.PrintResponse.datasource">
      <DependentUpon>Reference.svcmap</DependentUpon>
    </None>
    <None Include="Connected Services\PrintBaseService\PrintWcfService.wsdl" />
    <None Include="dll\NPOI.2.3.0\LICENSE" />
    <None Include="dll\NPOI.2.3.0\NPOI.2.3.0.nupkg" />
    <None Include="dll\SharpZipLib.0.86.0\SharpZipLib.0.86.0.nupkg" />
    <None Include="File\ExportFileTemplate\DO发货标签模板.xlsx">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="File\ExportFileTemplate\生产订单发货标签模板.xlsx">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="File\ExportFileTemplate\标签模板.xlsx">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="File\ImportFileTemplate\武汉牧野生产库临时标签.xlsx">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="packages.config" />
    <None Include="Properties\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
    </None>
    <Compile Include="Properties\Settings.Designer.cs">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <None Include="App.config" />
  </ItemGroup>
  <ItemGroup>
    <None Include="Connected Services\PrintBaseService\item.disco" />
    <None Include="Connected Services\PrintBaseService\configuration91.svcinfo" />
    <None Include="Connected Services\PrintBaseService\configuration.svcinfo" />
    <None Include="Connected Services\PrintBaseService\Reference.svcmap">
      <Generator>WCF Proxy Generator</Generator>
      <LastGenOutput>Reference.cs</LastGenOutput>
    </None>
    <Content Include="dll\Aspose.Cells.dll" />
    <Content Include="dll\Barcode.dll" />
    <Content Include="dll\Barcode.xml" />
    <Content Include="dll\BarcodeLib.Barcode.ASP.NET.dll" />
    <Content Include="dll\EPPlus.dll" />
    <Content Include="dll\Gma.QrCodeNet.Encoding.dll" />
    <Content Include="dll\logtxt.dll" />
    <Content Include="dll\NPOI.2.3.0\lib\net20\NPOI.dll" />
    <Content Include="dll\NPOI.2.3.0\lib\net20\NPOI.OOXML.dll" />
    <Content Include="dll\NPOI.2.3.0\lib\net20\NPOI.OpenXml4Net.dll" />
    <Content Include="dll\NPOI.2.3.0\lib\net20\NPOI.OpenXmlFormats.dll" />
    <Content Include="dll\NPOI.2.3.0\lib\net20\NPOI.XML" />
    <Content Include="dll\NPOI.2.3.0\lib\net40\NPOI.dll" />
    <Content Include="dll\NPOI.2.3.0\lib\net40\NPOI.OOXML.dll" />
    <Content Include="dll\NPOI.2.3.0\lib\net40\NPOI.OpenXml4Net.dll" />
    <Content Include="dll\NPOI.2.3.0\lib\net40\NPOI.OpenXmlFormats.dll" />
    <Content Include="dll\NPOI.2.3.0\lib\net40\NPOI.XML" />
    <Content Include="dll\NPOI.2.3.0\logo\120_120.jpg" />
    <Content Include="dll\NPOI.2.3.0\logo\240_240.png" />
    <Content Include="dll\NPOI.2.3.0\logo\32_32.jpg" />
    <Content Include="dll\NPOI.2.3.0\logo\60_60.jpg" />
    <Content Include="dll\NPOI.2.3.0\Read Me.txt" />
    <Content Include="dll\NPOI.2.3.0\Release Notes.txt" />
    <Content Include="dll\SharpZipLib.0.86.0\lib\11\ICSharpCode.SharpZipLib.dll" />
    <Content Include="dll\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll" />
    <Content Include="dll\SharpZipLib.0.86.0\lib\SL3\SharpZipLib.Silverlight3.dll" />
    <Content Include="dll\SharpZipLib.0.86.0\lib\SL4\SharpZipLib.Silverlight4.dll" />
    <Content Include="File\CODE_39-123456789321.jpg" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\iWareCommon\iWareCommon.csproj">
      <Project>{3583fcf0-92c7-406c-ad78-9fb7c11293cf}</Project>
      <Name>iWareCommon</Name>
    </ProjectReference>
    <ProjectReference Include="..\iWareModel\iWareModel.csproj">
      <Project>{556A91F0-34D1-4D23-A1C7-F27E19D916D3}</Project>
      <Name>iWareModel</Name>
    </ProjectReference>
    <ProjectReference Include="..\iWareSql\iWareSql.csproj">
      <Project>{d0b38cd8-60ac-472c-8031-a03cf3c2e8a5}</Project>
      <Name>iWareSql</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <WCFMetadata Include="Connected Services\" />
  </ItemGroup>
  <ItemGroup>
    <WCFMetadataStorage Include="Connected Services\PrintBaseService\" />
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
</Project>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/packages.config
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="FreeSpire.XLS" version="12.7.0" targetFramework="net45" />
</packages>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/QrCodeAndBarCode.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing.Imaging;
using ZXing.Common;
using ZXing;
using System.Drawing;
using Gma.QrCodeNet.Encoding;
using Gma.QrCodeNet.Encoding.Windows.Render;
using System.IO;
namespace autuPrint.printService
{
    class QrCodeAndBarCode
    {
        /// <summary>
        /// ç”ŸæˆäºŒç»´ç 
        /// </summary>
        /// <param name="qr">二维码字符串内容</param>
        /// <returns>成功返回二维码图片,失败返回空</returns>
        public static Image printQr(string Qr)
        {
            try
            {
                QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
                QrCode qrCode = new QrCode();
                qrEncoder.TryEncode(Qr, out qrCode);
                GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);
                using (MemoryStream ms = new MemoryStream())
                {
                    renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);
                    Image img = Image.FromStream(ms);
                    //img.Save("E:/二维码.png");
                    return img;
                }
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// ç”Ÿäº§æ¡å½¢ç 
        /// </summary>
        /// <param name="Br">条形码内容</param>
        /// <returns>成功返回图片</returns>
        public static Image printBr(string Br)
        {
            try
            {
                EncodingOptions encodeOption = new EncodingOptions();
                encodeOption.Height = 60; // å¿…须制定高度、宽度
                encodeOption.Width = 240;
                encodeOption.PureBarcode = true;
                // 2.生成条形码图片并保存
                ZXing.BarcodeWriter wr = new BarcodeWriter();
                wr.Options = encodeOption;
                //  wr.Format = BarcodeFormat.CODE_39;  // è¿™é‡Œå¯ä»¥è®¾å®šæ¡ç çš„æ ‡å‡†
                wr.Format = BarcodeFormat.CODE_128;
                Bitmap img = wr.Write(Br);
                return img;
            }
            catch (Exception)
            {
                return null;
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/creatExcelPrint.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,149 @@
using iWareCommon.Utils;
using iWareSql.MyDbContext;
using OfficeOpenXml;
using OfficeOpenXml.Drawing;
using System;
using System.IO;
using System.Threading;
using WindowsFormsApplication1.Common;
namespace autuPrint.printService
{
    public class creatExcelPrint
    {
        /// <summary>
        /// //线程锁防止并发
        /// </summary>
        private static Mutex single = new Mutex();
        /// <summary>
        /// ç”Ÿæˆæ‰“印数据源
        /// </summary>
        /// <param name="img">条形码</param>
        ///   <param name="label">标签参数</param>
        /// <returns>成功返回true</returns>
        public static bool creatEXcel(System.Drawing.Image img, ware_material_print_history label, ref string errMsg)
        {
            if (single.WaitOne())//增加线程锁防止双击并发
            {
                try
                {
                    #region éªŒè¯æ¨¡æ¿æ–‡ä»¶æ˜¯å¦å­˜åœ¨
                    if (!File.Exists(SystemConst.TEMPLATE_FILEPATH))
                    {
                        Log4NetHelper.WriteErrorLog(LogType.Print, "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ¨¡æ¿ç¼ºå¤±", null);
                        errMsg = "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ¨¡æ¿ç¼ºå¤±";
                        return false;
                    }
                    //if (img == null)
                    //{
                    //    logtxt.txtWrite("类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾æ¡å½¢ç ä¸ºç©º", 2);
                    //    errMsg = "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾æ¡å½¢ç ä¸ºç©º";
                    //    return false;
                    //}
                    if (label == null)
                    {
                        Log4NetHelper.WriteErrorLog(LogType.Print, "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾å‚数为空", null);
                        errMsg = "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾å‚数为空";
                        return false;
                    }
                    #endregion
                    //获取模板文件
                    FileInfo copyFile = new FileInfo(SystemConst.TEMPLATE_FILEPATH);
                    copyFile.CopyTo(SystemConst.TEMPORARY_FILEPATH, true);
                    FileInfo existingFile = new FileInfo(SystemConst.TEMPORARY_FILEPATH);
                    using (ExcelPackage package = new ExcelPackage(existingFile))
                    {
                        //获取模板内容
                        ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheet1"];
                        //行,列
                        //注意:行和列都是从1开始,而不是从0开始!!!
                        worksheet.Cells[1, 2].Value = label.Code;//物料单号
                        worksheet.Cells[2, 1].Value = "Descript:" + label.Name;//物料单号
                        worksheet.Cells[3, 1].Value = "Vendor:" + (label.SupplierNo ?? "") + " " + (label.SupplierName ?? "");//供应商
                        worksheet.Cells[4, 1].Value = "PO:" + label.PurchaseNo + "/" + label.PurchaseEbelp;
                        worksheet.Cells[5, 1].Value = "Qty:" + label.Quantity;
                        worksheet.Cells[6, 1].Value = "Batch:" + label.BatchNo;
                        worksheet.Cells[7, 1].Value = "Time:" + DateTime.Now.ToString("dd.MM.yyyy") + " " + DateTime.Now.ToString("HH:mm:ss");
                        if (img != null)
                        {
                            ExcelPicture pic = worksheet.Drawings.AddPicture("barCode", img);//插入图片
                            pic.SetSize(103, 78);//设置图片尺寸
                            pic.SetPosition(3, 3, 2, 3);//设置图片位置,以单元格为单位(参数1,3行和列,2,4是偏移量)
                        }
                        package.Save();//保存
                    }
                }
                catch (Exception ex)
                {
                    Log4NetHelper.WriteErrorLog(LogType.Print, "类名: creatExcelPrint æ–¹æ³•名: creatEXcel ç”Ÿæˆæ‰“印文件出错 \r\n  " + ex.ToString(), ex);
                    //logtxt.txtWrite("类名: creatExcelPrint æ–¹æ³•名: creatEXcel ç”Ÿæˆæ‰“印文件出错 \r\n  " + ex.ToString(), 2);
                    errMsg = ex.Message;
                    return false;
                }
                finally { single.ReleaseMutex(); }//一轮结束
            }
            return true;
        }
        public static string PrintFor物料标签(MyDbContext mod, ware_material_print_history item)
        {
            #region å•个处理标签打印
            Thread.Sleep(1000);
            var errMsg = "";
            //二维码格式
            //PARTS NUMBER:L11B190,SAP: ,LOT NO: WH1683820800000,QUANTITY: 100
            string barCode = $"PARTS NUMBER:{item.Code},SAP:{item.Sap_Location ?? ""} ,LOT NO: {item.BatchNo},QUANTITY: {item.Quantity}";//标签条码
            //string barCode = $"21VS-ASTG-PSET=5";//标签条码
            System.Drawing.Image img = QrCodeAndBarCode.printQr(barCode);
            bool saveSucceed = creatExcelPrint.creatEXcel(img, item, ref errMsg);
            if (saveSucceed)
            {
                if (File.Exists(SystemConst.TEMPORARY_FILEPATH))
                {
                    bool printSucceed = true;
                    item.PrintSheetNum = item.PrintSheetNum ?? 1;//打印张数
                    for (int i = 0; i < item.PrintSheetNum; i++)
                    {
                        printSucceed = print.printExcel(SystemConst.TEMPORARY_FILEPATH, SystemConst.Default_LeftMargin, SystemConst.Default_TopMargin);
                    }
                    if (printSucceed)
                    {
                        //打印成功 åˆ é™¤ä¸´æ—¶æ–‡ä»¶,并改状态
                        FileInfo myfile = new FileInfo(SystemConst.TEMPORARY_FILEPATH);//PartStatus
                        myfile.Delete();
                        item.PrintStatu = 1;//打印状态(0:未打印 1:已打印)
                        item.PrintNum = (item.PrintNum ?? 0) + 1;
                        int isSave = mod.SaveChanges();
                        if (isSave < 1)
                        {
                            Log4NetHelper.WriteErrorLog(LogType.Print, "类名: Form1 æ–¹æ³•名: do_autoPrint ä¿®æ”¹åº“存自动打印状态失败  ", null);
                        }
                    }
                    //*/
                }
            }
            else
            {
                //this.tb_Msg.Text = "失败,失败内容:" + errMsg;
            }
            return errMsg;
            #endregion
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/creatExcelPrintForDO.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,150 @@
using iWareCommon.Utils;
using iWareSql.MyDbContext;
using OfficeOpenXml;
using OfficeOpenXml.Drawing;
using System;
using System.IO;
using System.Threading;
using WindowsFormsApplication1.Common;
namespace autuPrint.printService
{
    public class creatExcelPrintForDO
    {
        /// <summary>
        /// //线程锁防止并发
        /// </summary>
        private static Mutex single = new Mutex();
        /// <summary>
        /// ç”Ÿæˆæ‰“印数据源
        /// </summary>
        /// <param name="img">条形码</param>
        ///   <param name="label">标签参数</param>
        /// <returns>成功返回true</returns>
        public static bool creatEXcel(System.Drawing.Image img, ware_material_print_history label, ref string errMsg)
        {
            if (single.WaitOne())//增加线程锁防止双击并发
            {
                try
                {
                    #region éªŒè¯æ¨¡æ¿æ–‡ä»¶æ˜¯å¦å­˜åœ¨
                    if (!File.Exists(SystemConst.TEMPLATE_FILEPATH_DO单发货标签))
                    {
                        Log4NetHelper.WriteErrorLog(LogType.Print, "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ¨¡æ¿ç¼ºå¤±", null);
                        errMsg = "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ¨¡æ¿ç¼ºå¤±";
                        return false;
                    }
                    //if (img == null)
                    //{
                    //    logtxt.txtWrite("类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾æ¡å½¢ç ä¸ºç©º", 2);
                    //    errMsg = "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾æ¡å½¢ç ä¸ºç©º";
                    //    return false;
                    //}
                    if (label == null)
                    {
                        Log4NetHelper.WriteErrorLog(LogType.Print, "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾å‚数为空", null);
                        errMsg = "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾å‚数为空";
                        return false;
                    }
                    #endregion
                    //获取模板文件
                    FileInfo copyFile = new FileInfo(SystemConst.TEMPLATE_FILEPATH_DO单发货标签);
                    copyFile.CopyTo(SystemConst.TEMPORARY_FILEPATH_DO单发货标签, true);
                    FileInfo existingFile = new FileInfo(SystemConst.TEMPORARY_FILEPATH_DO单发货标签);
                    using (ExcelPackage package = new ExcelPackage(existingFile))
                    {
                        //获取模板内容
                        ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheet1"];
                        //行,列
                        //注意:行和列都是从1开始,而不是从0开始!!!
                        worksheet.Cells[1, 2].Value = label.Code;//物料单号
                        worksheet.Cells[2, 1].Value = "Descript:" + label.Name;//物料单号
                        worksheet.Cells[3, 1].Value = "Vendor:" + (label.SupplierNo ?? "") + " " + (label.SupplierName ?? "");//供应商
                        //DO号改为 NO,是为了兼容 å…¶ä»–非do单的,如 STO出库单、退货单等 ã€Editby shaocx,2023-10-10】
                        //worksheet.Cells[4, 1].Value = "DO:" + label.DeliveryNo;
                        worksheet.Cells[4, 1].Value = "NO:" + label.DeliveryNo;
                        worksheet.Cells[5, 1].Value = "Qty:" + label.Quantity;
                        worksheet.Cells[6, 1].Value = "Batch:" + label.BatchNo;
                        worksheet.Cells[7, 1].Value = "Time:" + DateTime.Now.ToString("dd.MM.yyyy") + " " + DateTime.Now.ToString("HH:mm:ss");
                        if (img != null)
                        {
                            ExcelPicture pic = worksheet.Drawings.AddPicture("barCode", img);//插入图片
                            pic.SetSize(103, 78);//设置图片尺寸
                            pic.SetPosition(3, 3, 2, 3);//设置图片位置,以单元格为单位(参数1,3行和列,2,4是偏移量)
                        }
                        package.Save();//保存
                    }
                }
                catch (Exception ex)
                {
                    Log4NetHelper.WriteErrorLog(LogType.Print, "类名: creatExcelPrint æ–¹æ³•名: creatEXcel ç”Ÿæˆæ‰“印文件出错 \r\n  " + ex.ToString(), ex);
                    //logtxt.txtWrite("类名: creatExcelPrint æ–¹æ³•名: creatEXcel ç”Ÿæˆæ‰“印文件出错 \r\n  " + ex.ToString(), 2);
                    errMsg = ex.Message;
                    return false;
                }
                finally { single.ReleaseMutex(); }//一轮结束
            }
            return true;
        }
        public static string PrintForDO订单标签(MyDbContext mod, ware_material_print_history item)
        {
            #region å•个处理标签打印
            Thread.Sleep(1000);
            var errMsg = "";
            //二维码格式
            //PARTS NUMBER:18VS130A406-01,SAP: ,LOT NO: ,ORDER NO: 122100059369_1,QUANTITY: 1
            string barCode = $"PARTS NUMBER:{item.Code},SAP:{item.Sap_Location ?? ""} ,LOT NO: {item.BatchNo},ORDER NO: {item.DeliveryNo},QUANTITY: {item.Quantity}";//标签条码
            System.Drawing.Image img = QrCodeAndBarCode.printQr(barCode);
            bool saveSucceed = creatExcelPrintForDO.creatEXcel(img, item, ref errMsg);
            if (saveSucceed)
            {
                if (File.Exists(SystemConst.TEMPORARY_FILEPATH_DO单发货标签))
                {
                    bool printSucceed = true;
                    item.PrintSheetNum = item.PrintSheetNum ?? 1;//打印张数
                    for (int i = 0; i < item.PrintSheetNum; i++)
                    {
                        printSucceed = print.printExcel(SystemConst.TEMPORARY_FILEPATH_DO单发货标签, SystemConst.Default_LeftMargin, SystemConst.Default_TopMargin);
                    }
                    if (printSucceed)
                    {
                        //打印成功 åˆ é™¤ä¸´æ—¶æ–‡ä»¶,并改状态
                        FileInfo myfile = new FileInfo(SystemConst.TEMPORARY_FILEPATH_DO单发货标签);//PartStatus
                        myfile.Delete();
                        item.PrintStatu = 1;//打印状态(0:未打印 1:已打印)
                        item.PrintNum = (item.PrintNum ?? 0) + 1;
                        int isSave = mod.SaveChanges();
                        if (isSave < 1)
                        {
                            Log4NetHelper.WriteErrorLog(LogType.Print, "类名: Form1 æ–¹æ³•名: do_autoPrint ä¿®æ”¹åº“存自动打印状态失败  ", null);
                        }
                    }
                    //*/
                }
            }
            else
            {
                // this.tb_Msg.Text = "失败,失败内容:" + errMsg;
            }
            return errMsg;
            #endregion
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/creatExcelPrintForSC.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,153 @@
using iWareCommon.Utils;
using iWareSql.MyDbContext;
using OfficeOpenXml;
using OfficeOpenXml.Drawing;
using System;
using System.IO;
using System.Threading;
using WindowsFormsApplication1.Common;
namespace autuPrint.printService
{
    public class creatExcelPrintForSC
    {
        /// <summary>
        /// //线程锁防止并发
        /// </summary>
        private static Mutex single = new Mutex();
        /// <summary>
        /// ç”Ÿæˆæ‰“印数据源
        /// </summary>
        /// <param name="img">条形码</param>
        ///   <param name="label">标签参数</param>
        /// <returns>成功返回true</returns>
        public static bool creatEXcel(System.Drawing.Image img, ware_material_print_history label, ref string errMsg)
        {
            if (single.WaitOne())//增加线程锁防止双击并发
            {
                try
                {
                    #region éªŒè¯æ¨¡æ¿æ–‡ä»¶æ˜¯å¦å­˜åœ¨
                    if (!File.Exists(SystemConst.TEMPLATE_FILEPATH_生产订单发货标签))
                    {
                        Log4NetHelper.WriteErrorLog(LogType.Print, "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ¨¡æ¿ç¼ºå¤±", null);
                        errMsg = "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ¨¡æ¿ç¼ºå¤±";
                        return false;
                    }
                    //if (img == null)
                    //{
                    //    logtxt.txtWrite("类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾æ¡å½¢ç ä¸ºç©º", 2);
                    //    errMsg = "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾æ¡å½¢ç ä¸ºç©º";
                    //    return false;
                    //}
                    if (label == null)
                    {
                        Log4NetHelper.WriteErrorLog(LogType.Print, "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾å‚数为空", null);
                        errMsg = "类名: creatExcelPrint æ–¹æ³•名: creatEXcel æ ‡ç­¾å‚数为空";
                        return false;
                    }
                    #endregion
                    //获取模板文件
                    FileInfo copyFile = new FileInfo(SystemConst.TEMPLATE_FILEPATH_生产订单发货标签);
                    copyFile.CopyTo(SystemConst.TEMPORARY_FILEPATH_生产订单发货标签, true);
                    FileInfo existingFile = new FileInfo(SystemConst.TEMPORARY_FILEPATH_生产订单发货标签);
                    using (ExcelPackage package = new ExcelPackage(existingFile))
                    {
                        //获取模板内容
                        ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheet1"];
                        //行,列
                        //注意:行和列都是从1开始,而不是从0开始!!!
                        worksheet.Cells[1, 2].Value = label.Code;//物料单号
                        worksheet.Cells[2, 1].Value = "Descript:" + label.Name;
                        worksheet.Cells[3, 1].Value = "BOM No.:" + (label.BOMNumber ?? "");// + "\r\n" + "BOM Description:" + (label.BOMDescription ?? "");
                        worksheet.Cells[4, 1].Value = "Collective Order:" + label.SubOrderNo;
                        worksheet.Cells[5, 1].Value = "Qty:" + label.Quantity;
                        worksheet.Cells[6, 1].Value = "Batch:" + label.BatchNo;
                        //替换 ã€Editby shaocx,2024-10-11】
                        //worksheet.Cells[7, 1].Value = "Stage:" + label.Process + "  " + "Machine:" + label.Equipment;
                        //worksheet.Cells[8, 1].Value = "Time:" + DateTime.Now.ToString("dd.MM.yyyy") + " " + DateTime.Now.ToString("HH:mm:ss");
                        worksheet.Cells[7, 1].Value = "Time:" + DateTime.Now.ToString("dd.MM.yyyy") + " " + DateTime.Now.ToString("HH:mm:ss");
                        worksheet.Cells[8, 1].Value = "Stage:" + label.Process + "  " + "Machine:" + label.Equipment;
                        if (img != null)
                        {
                            ExcelPicture pic = worksheet.Drawings.AddPicture("barCode", img);//插入图片
                            pic.SetSize(103, 78);//设置图片尺寸
                            pic.SetPosition(3, 3, 2, 3);//设置图片位置,以单元格为单位(参数1,3行和列,2,4是偏移量)
                        }
                        package.Save();//保存
                    }
                }
                catch (Exception ex)
                {
                    Log4NetHelper.WriteErrorLog(LogType.Print, "类名: creatExcelPrint æ–¹æ³•名: creatEXcel ç”Ÿæˆæ‰“印文件出错 \r\n  " + ex.ToString(), ex);
                    //logtxt.txtWrite("类名: creatExcelPrint æ–¹æ³•名: creatEXcel ç”Ÿæˆæ‰“印文件出错 \r\n  " + ex.ToString(), 2);
                    errMsg = ex.Message;
                    return false;
                }
                finally { single.ReleaseMutex(); }//一轮结束
            }
            return true;
        }
        public static string PrintFor生产订单标签(MyDbContext mod, ware_material_print_history item)
        {
            #region å•个处理标签打印
            Thread.Sleep(1000);
            var errMsg = "";
            //二维码格式
            //PARTS NUMBER:18VS130A406-01,SAP: ,LOT NO: ,ORDER NO: 122100059369_1,QUANTITY: 1
            string barCode = $"PARTS NUMBER:{item.Code},SAP:{item.Sap_Location ?? ""} ,LOT NO: {item.BatchNo},ORDER NO: {item.DeliveryNo},QUANTITY: {item.Quantity}";//标签条码
            System.Drawing.Image img = QrCodeAndBarCode.printQr(barCode);
            bool saveSucceed = creatExcelPrintForSC.creatEXcel(img, item, ref errMsg);
            if (saveSucceed)
            {
                if (File.Exists(SystemConst.TEMPORARY_FILEPATH_生产订单发货标签))
                {
                    bool printSucceed = true;
                    item.PrintSheetNum = item.PrintSheetNum ?? 1;//打印张数
                    for (int i = 0; i < item.PrintSheetNum; i++)
                    {
                        printSucceed = print.printExcel(SystemConst.TEMPORARY_FILEPATH_生产订单发货标签, SystemConst.Default_LeftMargin, 0.43);
                    }
                    if (printSucceed)
                    {
                        //打印成功 åˆ é™¤ä¸´æ—¶æ–‡ä»¶,并改状态
                        FileInfo myfile = new FileInfo(SystemConst.TEMPORARY_FILEPATH_生产订单发货标签);//PartStatus
                        myfile.Delete();
                        item.PrintStatu = 1;//打印状态(0:未打印 1:已打印)
                        item.PrintNum = (item.PrintNum ?? 0) + 1;
                        int isSave = mod.SaveChanges();
                        if (isSave < 1)
                        {
                            Log4NetHelper.WriteErrorLog(LogType.Print, "类名: Form1 æ–¹æ³•名: do_autoPrint ä¿®æ”¹åº“存自动打印状态失败  ", null);
                        }
                    }
                    //*/
                }
            }
            else
            {
                // this.tb_Msg.Text = "失败,失败内容:" + errMsg;
            }
            return errMsg;
            #endregion
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/labelEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace autuPrint.printService
{
  public  class labelEntity
    {
          /// <summary>
          /// é‡‡è´­å•号
          /// </summary>
          public string purchaseOrder { get; set; }
          /// <summary>
          /// é‡‡è´­é¡¹å·
          /// </summary>
          public string purchaseOrderItem { get; set; }
          /// <summary>
          /// ç‰©æ–™ç¼–号
          /// </summary>
          public string materailCode { get; set; }
          /// <summary>
          /// è·Ÿè¸ªå·
          /// </summary>
          public string trackNumber { get; set; }
          /// <summary>
          /// ç‰©æ–™åç§°
          /// </summary>
          public string materarilName { get; set; }
          /// <summary>
          /// æ•°é‡
          /// </summary>
          public decimal quantity { get; set; }
          /// <summary>
          /// å•位
          /// </summary>
          public string Unit { get; set; }
          /// <summary>
          /// é”€å”®å•号
          /// </summary>
          public string saleCode { get; set; }
          /// <summary>
          /// é”€å”®é¡¹å·
          /// </summary>
          public string saleCodeItem { get; set; }
          /// <summary>
          /// æ”¶è´§æ—¥æœŸ
          /// </summary>
          public DateTime receivDate { get; set; }
          /// <summary>
          /// åˆ°æœŸæ—¥æœŸ
          /// </summary>
          public DateTime expireDate { get; set; }
          /// <summary>
          /// ä¾›åº”商名称
          /// </summary>
          public string supplierName { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/printService/print.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@

using Aspose.Cells;
using Aspose.Cells.Rendering;
using iWareCommon.Utils;
using System;
using System.Threading;
using WindowsFormsApplication1;
namespace autuPrint.printService
{
    public static class print
    {
        private static Mutex single = new Mutex();
        static Form1 form = Program.f;
        /// <summary>
        /// æ‰“印指定文件
        /// </summary>
        /// <param name="path">要打印的路径</param>
        /// <returns>成功返回true</returns>
        public static bool printExcel(string path, double leftMargin, double topMargin)
        {
            //获取模板
            if (single.WaitOne())//增加线程锁防止双击并发
            {
                try
                {
                    Workbook workbook = new Workbook(path);
                    ///  Cells cells = worksheet.Cells;//获取所有单元格
                    Worksheet worksheet = workbook.Worksheets[0];//获取该Excel文档的第一个工作表
                    PageSetup pageSetup = worksheet.PageSetup;
                    pageSetup.Orientation = PageOrientationType.Portrait;//纵向打印
                    pageSetup.LeftMargin = leftMargin;//偏移量
                                                      // pageSetup.RightMargin = 0.1;
                                                      //  pageSetup.BottomMargin = 0.3;
                    pageSetup.TopMargin = topMargin;
                    //pageSetup.PaperSize = PaperSizeType.;//设置纸张大小
                    Aspose.Cells.Rendering.ImageOrPrintOptions options = new Aspose.Cells.Rendering.ImageOrPrintOptions();
                    SheetRender sr = new SheetRender(worksheet, options);
                    //找到默认打印机
                    System.Drawing.Printing.PrinterSettings printSettings = new System.Drawing.Printing.PrinterSettings();
                    string strPrinterName = printSettings.PrinterName;
                    sr.ToPrinter(strPrinterName);//开始打印
                }
                catch (Exception ex)
                {
                    Log4NetHelper.WriteErrorLog(LogType.Print, "类名: print æ–¹æ³•名: printExcel æ‰“印文件出错 \r\n  " + ex.ToString(), ex);
                    return false;
                }
                finally { single.ReleaseMutex(); }//一轮结束
            }
            return true;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/BusinessHelper/WCSConfigHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
using System;
using System.Configuration;
namespace iWareCommon.Utils
{
    /// <summary>
    /// web.config操作类
    /// Copyright (C) TBEA.WMS
    /// </summary>
    public sealed class WCSConfigHelper
    {
        /// <summary>
        /// èŽ·å–å½“å‰ç¨‹åºé…ç½®çš„ æ˜¯å¦æ¨¡æ‹ŸPLC
        /// </summary>
        /// <returns></returns>
        public static bool GetConfig_IsSimulationPLC()
        {
            return ConfigHelper.GetConfigBool("IsSimulationPLC");
            //*/
            //return false;//!!!!!注意:这里一定是FALSE!!!!!
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/Dao/CommonDao.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,554 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data.Entity;
using iWareModel;
namespace iWareCommon.Common.Dao
{
    /// <summary>
    /// å…¬ç”¨æ–¹æ³•的抽象类
    /// å¼ å±•
    /// </summary>
    /// <typeparam name="T">自定义的实体类</typeparam>
    /// <typeparam name="S">ORM中的实体类</typeparam>
    public abstract class CommonDao<T, S> where T : class, ICommonEntity<S>  where S : class
    {
        #region éœ€è¦åœ¨å­ç±»ä¸­å®žçŽ°çš„æŠ½è±¡æ–¹æ³•
        /// <summary>
        /// è¯¥æ–¹æ³•获取在自定义实体和ORM自动生成实体之间字段的对应关系
        /// </summary>
        protected abstract string GetColumnName(string name);
        /// <summary>
        /// èŽ·å–T中属性名列表
        /// </summary>
        /// <returns>T中属性名列表</returns>
        protected abstract List<string> GetColumnNames();
        /// <summary>
        ///  è¯¥æ–¹æ³•å°†Orm的S对象转换为自定义类型T的对象
        /// </summary>
        /// <param name="s">Orm中的S实体的实例</param>
        /// <returns>自定义的T类型实例</returns>
        protected abstract T ToEntity(S s);
        /// <summary>
        /// è¯¥æ–¹æ³•将定义类型T的S对象转换为自Orm的对象
        /// </summary>
        /// <param name="t">自定义T类型的对象</param>
        /// <returns>Orm中S的对象</returns>
        protected abstract S ToOrm(T t);
        /// <summary>
        /// è¯¥æ–¹æ³•获取在自定义实体和ORM自动生成实体之间字段的对应关系
        /// </summary>
        protected abstract string GetTableName();
        #endregion
        #region æ ¹æ®æ¡ä»¶æŸ¥è¯¢
        /// <summary>
        /// æ ¹æ®æ¡ä»¶æŸ¥è¯¢è‡ªå®šä¹‰å®žä½“T的列表
        /// </summary>
        /// <param name="param">查询条件</param>
        /// <param name="msg">错误信息</param>
        /// <returns>自定义实体T的记录列表</returns>
        public virtual List<T> QueryByParam(QueryParam param, DbContext dbModel)
        {
            var res = new List<T>();
            var filter = param.Filter == null || param.Filter.Count <= 0 ? new Dictionary<string, object>() : param.Filter;
            var notfilter = param.NotFilter == null || param.NotFilter.Count <= 0 ? new Dictionary<string, object>() : param.NotFilter;
            var search = param.Search == null || param.Search.Count <= 0 ? new Dictionary<string, object>() : param.Search;
            var leqd = param.Leqd == null || param.Leqd.Count <= 0 ? new Dictionary<string, object>() : param.Leqd;
            var geqd = param.Geqd == null || param.Geqd.Count <= 0 ? new Dictionary<string, object>() : param.Geqd;
            var ltd = param.Ltd == null || param.Ltd.Count <= 0 ? new Dictionary<string, object>() : param.Ltd;
            var gtd = param.Gtd == null || param.Gtd.Count <= 0 ? new Dictionary<string, object>() : param.Gtd;
            var leq = param.Leq == null || param.Leq.Count <= 0 ? new Dictionary<string, object>() : param.Leq;
            var geq = param.Geq == null || param.Geq.Count <= 0 ? new Dictionary<string, object>() : param.Geq;
            var lt = param.Lt == null || param.Lt.Count <= 0 ? new Dictionary<string, object>() : param.Lt;
            var gt = param.Gt == null || param.Gt.Count <= 0 ? new Dictionary<string, object>() : param.Gt;
            var neq = param.Neq == null || param.Neq.Count <= 0 ? new Dictionary<string, object>() : param.Neq;
            var order = param.Order == null || param.Order.Count <= 0 ? new Dictionary<string, object>() { { "Id", "DESC" } } : param.Order;
            var sql = string.Format("SELECT * FROM {0} WHERE 1=1", GetTableName());
            var sqlParams = new List<SqlParameter>();
            foreach (var key in filter.Keys)
            {
                if (filter[key] != null && !string.IsNullOrEmpty(filter[key] + ""))
                {
                    sqlParams.Add(new SqlParameter(("@F_" + key), filter[key]));
                    sql += string.Format(" AND {0} = {1}", GetColumnName(key), "@F_" + key);
                }
            }
            foreach (var key in notfilter.Keys)
            {
                if (notfilter[key] != null && !string.IsNullOrEmpty(notfilter[key] + ""))
                {
                    sqlParams.Add(new SqlParameter(("@F_" + key), notfilter[key]));
                    sql += string.Format(" AND {0} != {1}", GetColumnName(key), "@F_" + key);
                }
            }
            foreach (var key in search.Keys)
            {
                if (search[key] != null && !string.IsNullOrEmpty(search[key] + ""))
                {
                    sqlParams.Add(new SqlParameter("@S_" + key, "%" + search[key] + "%"));
                    sql += string.Format(" AND {0} LIKE {1}", GetColumnName(key), "@S_" + key);
                }
            }
            foreach (var key in leqd.Keys)
            {
                if (leqd[key] != null && !string.IsNullOrEmpty(leqd[key] + ""))
                {
                    sqlParams.Add(new SqlParameter("@LEQD_" + key, leqd[key]));
                    sql += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQD_" + key);
                }
            }
            foreach (var key in geqd.Keys)
            {
                if (geqd[key] != null && !string.IsNullOrEmpty(geqd[key] + ""))
                {
                    sqlParams.Add(new SqlParameter("@GEQD_" + key, geqd[key]));
                    sql += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQD_" + key);
                }
            }
            foreach (var key in ltd.Keys)
            {
                if (ltd[key] != null && !string.IsNullOrEmpty(ltd[key] + ""))
                {
                    sqlParams.Add(new SqlParameter("@LTD_" + key, ltd[key]));
                    sql += string.Format(" AND {0} < {1}", GetColumnName(key), "@LTD_" + key);
                }
            }
            foreach (var key in gtd.Keys)
            {
                if (gtd[key] != null && !string.IsNullOrEmpty(gtd[key] + ""))
                {
                    sqlParams.Add(new SqlParameter("@GTD_" + key, gtd[key]));
                    sql += string.Format(" AND {0} > {1}", GetColumnName(key), "@GTD_" + key);
                }
            }
            foreach (var key in leq.Keys)
            {
                if (leq[key] != null && !string.IsNullOrEmpty(leq[key] + ""))
                {
                    sqlParams.Add(new SqlParameter("@LEQ_" + key, leq[key]));
                    sql += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQ_" + key);
                }
            }
            foreach (var key in geq.Keys)
            {
                if (geq[key] != null && !string.IsNullOrEmpty(geq[key] + ""))
                {
                    sqlParams.Add(new SqlParameter("@GEQ_" + key, geq[key]));
                    sql += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQ_" + key);
                }
            }
            foreach (var key in lt.Keys)
            {
                if (lt[key] != null && !string.IsNullOrEmpty(lt[key] + ""))
                {
                    sqlParams.Add(new SqlParameter("@LT_" + key, lt[key]));
                    sql += string.Format(" AND {0} < {1}", GetColumnName(key), "@LT_" + key);
                }
            }
            foreach (var key in gt.Keys)
            {
                if (gt[key] != null && !string.IsNullOrEmpty(gt[key] + ""))
                {
                    sqlParams.Add(new SqlParameter("@GT_" + key, gt[key]));
                    sql += string.Format(" AND {0} > {1}", GetColumnName(key), "@GT_" + key);
                }
            }
            foreach (var key in neq.Keys)
            {
                if (neq[key] != null && !string.IsNullOrEmpty(neq[key] + ""))
                {
                    sqlParams.Add(new SqlParameter("@NEQ_" + key, neq[key]));
                    sql += string.Format(" AND {0} <> {1}", GetColumnName(key), "@NEQ_" + key);
                }
            }
            sql += " ORDER BY ";
            foreach (var key in order.Keys)
            {
                var value = string.IsNullOrEmpty(order[key].ToString()) ? "DESC" : order[key].ToString().ToUpper();
                sqlParams.Add(new SqlParameter("@O_" + key, order[key]));
                sql += string.Format("{0} {1},", GetColumnName(key), value);
            }
            if (sql.EndsWith(","))
            {
                sql = sql.Substring(0, sql.Length - 1);
            }
            var datas = dbModel.Database.SqlQuery<S>(sql, sqlParams.ToArray()).ToList();
            datas.ForEach(x => res.Add(ToEntity(x)));
            return res;
        }
        #endregion
        #region æ ¹æ®æ¡ä»¶åˆ†é¡µæŸ¥è¯¢
        /// <summary>
        /// æ ¹æ®æ¡ä»¶åˆ†é¡µæŸ¥è¯¢è‡ªå®šä¹‰å®žä½“T的列表,同时返回记录的总条数及当前所在的页数
        /// </summary>
        /// <param name="param">查询条件</param>
        /// <param name="msg">异常错误消息</param>
        /// <param name="totalNum">记录的总条数</param>
        /// <param name="currentPage">当前页面数</param>
        /// <returns>自定义实体T的记录列表</returns>
        public virtual List<T> QueryByParam(QueryParam param, DbContext dbModel, out int totalNum, out int currentPage)
        {
            totalNum = 0;
            currentPage = 1;
            var res = new List<T>();
            var filter = param.Filter == null || param.Filter.Count <= 0 ? new Dictionary<string, object>() : param.Filter;
            var search = param.Search == null || param.Search.Count <= 0 ? new Dictionary<string, object>() : param.Search;
            var leqd = param.Leqd == null || param.Leqd.Count <= 0 ? new Dictionary<string, object>() : param.Leqd;
            var geqd = param.Geqd == null || param.Geqd.Count <= 0 ? new Dictionary<string, object>() : param.Geqd;
            var ltd = param.Ltd == null || param.Ltd.Count <= 0 ? new Dictionary<string, object>() : param.Ltd;
            var gtd = param.Gtd == null || param.Gtd.Count <= 0 ? new Dictionary<string, object>() : param.Gtd;
            var leq = param.Leq == null || param.Leq.Count <= 0 ? new Dictionary<string, object>() : param.Leq;
            var geq = param.Geq == null || param.Geq.Count <= 0 ? new Dictionary<string, object>() : param.Geq;
            var lt = param.Lt == null || param.Lt.Count <= 0 ? new Dictionary<string, object>() : param.Lt;
            var gt = param.Gt == null || param.Gt.Count <= 0 ? new Dictionary<string, object>() : param.Gt;
            var neq = param.Neq == null || param.Neq.Count <= 0 ? new Dictionary<string, object>() : param.Neq;
            var pageIndex = param.PageIndex < 1 ? 1 : param.PageIndex;
            var pageSize = param.PageSize < 1 ? 5 : param.PageSize;
            var order = param.Order == null || param.Order.Count <= 0 ? new Dictionary<string, object>() { { "Id", "DESC" } } : param.Order;
            //查询数量的sql语句
            var sqlCount = string.Format("SELECT COUNT(*) FROM {0} WHERE 1=1", GetTableName());
            //查询数量使用的sql参数列表
            var sqlParamsCount = new List<SqlParameter>();
            var orderStr = "";
            foreach (var key in order.Keys)
            {
                var value = string.IsNullOrEmpty(order[key].ToString()) ? "DESC" : order[key].ToString().ToUpper();
                sqlParamsCount.Add(new SqlParameter("@O_" + key, order[key]));
                orderStr += string.Format("{0} {1},", GetColumnName(key), value);
            }
            if (orderStr.EndsWith(","))
            {
                orderStr = orderStr.Substring(0, orderStr.Length - 1);
            }
            //查询记录列表的sql语句
            var sqlData = string.Format("SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY {0} ) AS ROWNUM from {1} where 1=1", orderStr, GetTableName());
            //查询记录列表使用的sql参数列表
            var sqlParamsData = new List<SqlParameter>();
            foreach (var key in filter.Keys)
            {
                if (filter[key] != null && !string.IsNullOrEmpty(filter[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@F_" + key, filter[key]));
                    sqlParamsData.Add(new SqlParameter("@F_" + key, filter[key]));
                    sqlCount += string.Format(" AND {0} = {1}", GetColumnName(key), "@F_" + key);
                    sqlData += string.Format(" AND {0} = {1}", GetColumnName(key), "@F_" + key);
                }
            }
            foreach (var key in search.Keys)
            {
                if (search[key] != null && !string.IsNullOrEmpty(search[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@S_" + key, "%" + search[key] + "%"));
                    sqlParamsData.Add(new SqlParameter("@S_" + key, "%" + search[key] + "%"));
                    sqlCount += string.Format(" AND {0} LIKE {1}", GetColumnName(key), "@S_" + key);
                    sqlData += string.Format(" AND {0} LIKE {1}", GetColumnName(key), "@S_" + key);
                }
            }
            foreach (var key in leqd.Keys)
            {
                if (leqd[key] != null && !string.IsNullOrEmpty(leqd[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@LEQD_" + key, leqd[key]));
                    sqlParamsData.Add(new SqlParameter("@LEQD_" + key, leqd[key]));
                    sqlCount += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQD_" + key);
                    sqlData += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQD_" + key);
                }
            }
            foreach (var key in geqd.Keys)
            {
                if (geqd[key] != null && !string.IsNullOrEmpty(geqd[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@GEQD_" + key, geqd[key]));
                    sqlParamsData.Add(new SqlParameter("@GEQD_" + key, geqd[key]));
                    sqlCount += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQD_" + key);
                    sqlData += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQD_" + key);
                }
            }
            foreach (var key in ltd.Keys)
            {
                if (ltd[key] != null && !string.IsNullOrEmpty(ltd[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@LTD_" + key, ltd[key]));
                    sqlParamsData.Add(new SqlParameter("@LTD_" + key, ltd[key]));
                    sqlCount += string.Format(" AND {0} < {1}", GetColumnName(key), "@LTD_" + key);
                    sqlData += string.Format(" AND {0} < {1}", GetColumnName(key), "@LTD_" + key);
                }
            }
            foreach (var key in gtd.Keys)
            {
                if (gtd[key] != null && !string.IsNullOrEmpty(gtd[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@GTD_" + key, gtd[key]));
                    sqlParamsData.Add(new SqlParameter("@GTD_" + key, gtd[key]));
                    sqlCount += string.Format(" AND {0} > {1}", GetColumnName(key), "@GTD_" + key);
                    sqlData += string.Format(" AND {0} > {1}", GetColumnName(key), "@GTD_" + key);
                }
            }
            foreach (var key in leq.Keys)
            {
                if (leq[key] != null && !string.IsNullOrEmpty(leq[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@LEQ_" + key, leq[key]));
                    sqlParamsData.Add(new SqlParameter("@LEQ_" + key, leq[key]));
                    sqlCount += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQ_" + key);
                    sqlData += string.Format(" AND {0} <= {1}", GetColumnName(key), "@LEQ_" + key);
                }
            }
            foreach (var key in geq.Keys)
            {
                if (geq[key] != null && !string.IsNullOrEmpty(geq[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@GEQ_" + key, geq[key]));
                    sqlParamsData.Add(new SqlParameter("@GEQ_" + key, geq[key]));
                    sqlCount += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQ_" + key);
                    sqlData += string.Format(" AND {0} >= {1}", GetColumnName(key), "@GEQ_" + key);
                }
            }
            foreach (var key in lt.Keys)
            {
                if (lt[key] != null && !string.IsNullOrEmpty(lt[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@LT_" + key, lt[key]));
                    sqlParamsData.Add(new SqlParameter("@LT_" + key, lt[key]));
                    sqlCount += string.Format(" AND {0} < {1}", GetColumnName(key), "@LT_" + key);
                    sqlData += string.Format(" AND {0} < {1}", GetColumnName(key), "@LT_" + key);
                }
            }
            foreach (var key in gt.Keys)
            {
                if (gt[key] != null && !string.IsNullOrEmpty(gt[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@GT_" + key, gt[key]));
                    sqlParamsData.Add(new SqlParameter("@GT_" + key, gt[key]));
                    sqlCount += string.Format(" AND {0} > {1}", GetColumnName(key), "@GT_" + key);
                    sqlData += string.Format(" AND {0} > {1}", GetColumnName(key), "@GT_" + key);
                }
            }
            foreach (var key in neq.Keys)
            {
                if (neq[key] != null && !string.IsNullOrEmpty(neq[key] + ""))
                {
                    sqlParamsCount.Add(new SqlParameter("@NEQ_" + key, neq[key]));
                    sqlParamsData.Add(new SqlParameter("@NEQ_" + key, neq[key]));
                    sqlCount += string.Format(" AND {0} <> {1}", GetColumnName(key), "@NEQ_" + key);
                    sqlData += string.Format(" AND {0} <> {1}", GetColumnName(key), "@NEQ_" + key);
                }
            }
            totalNum = dbModel.Database.SqlQuery<int>(sqlCount, sqlParamsCount.ToArray()).ToList()[0];
            int totalPage = Convert.ToInt32(totalNum / pageSize);
            if ((totalNum % pageSize) > 0)
            {
                totalPage += 1;
            }
            currentPage = pageIndex > totalPage ? totalPage : pageIndex;
            currentPage = Math.Max(currentPage,1);
            sqlParamsData.Add(new SqlParameter("@PI_Start", (currentPage - 1) * pageSize + 1));
            sqlParamsData.Add(new SqlParameter("@PI_End", currentPage * pageSize));
            sqlData += string.Format(") t Where t.ROWNUM   between {0} and {1} ", "@PI_Start", "@PI_End");
            var datas = dbModel.Database.SqlQuery<S>(sqlData, sqlParamsData.ToArray()).ToList();
            datas.ForEach(x => res.Add(ToEntity(x)));
            return res;
        }
        #endregion
        #region æ’入新的对象
        /// <summary>
        /// å°†è‡ªå®šä¹‰çš„实体T的实例列表批量保存到数据库
        /// </summary>
        /// <param name="ts">自定义类型T的实例列表</param>
        /// <param name="msg">异常错误消息</param>
        /// <returns>保存的数量</returns>
        public virtual int Save(List<T> ts, DbContext dbModel)
        {
            if (ts == null)
            {
                return 0;
            }
            ts.ForEach(x => dbModel.Set<S>().Add(ToOrm(x)));
            dbModel.SaveChanges();
            return ts.Count;
        }
        /// <summary>
        /// å°†è‡ªå®šä¹‰çš„实体T的实例保存到数据库
        /// </summary>
        /// <param name="t">自定义类型T的实例</param>
        /// <param name="msg">异常错误消息</param>
        /// <returns>新添加T对象的id</returns>
        public virtual int Save(T t, DbContext dbModel)
        {
            var s = ToOrm(t);
            dbModel.Set<S>().Add(s);
            dbModel.SaveChanges();
            return ToEntity(s).Id;
        }
        #endregion
        #region ä¿®æ”¹å¯¹è±¡
        /// <summary>
        /// ä¿®æ”¹è‡ªå®šä¹‰ç±»åž‹T的实体并保存到数据库
        /// </summary>
        /// <param name="t">自定义类型T的实例</param>
        /// <param name="msg">异常错误消息</param>
        /// <returns>需改实体的id</returns>
        public virtual int Update(T t, DbContext dbModel)
        {
            var entry = dbModel.Entry<S>(ToOrm(t));
            entry.State = System.Data.Entity.EntityState.Unchanged;
            var propStrs = GetColumnNames();
            propStrs.ForEach(x => entry.Property(GetColumnName(x)).IsModified = true);
            dbModel.SaveChanges();
            return t.Id;
        }
        /// <summary>
        /// ä¿®æ”¹è‡ªå®šä¹‰ç±»åž‹T的实体并保存到数据库
        /// </summary>
        /// <param name="t">自定义类型T的实例</param>
        /// <param name="msg">异常错误消息</param>
        /// <returns>需改实体的id</returns>
        ///
        public virtual int Update(List<T> ts, DbContext dbModel)
        {
            foreach (var t in ts)
            {
                var entry = dbModel.Entry<S>(ToOrm(t));
                entry.State = System.Data.Entity.EntityState.Unchanged;
                var propStrs = GetColumnNames();
                propStrs.ForEach(x => entry.Property(GetColumnName(x)).IsModified = true);
            }
            dbModel.SaveChanges();
            return ts.Count;
        }
        #endregion
        #region åˆ é™¤å¯¹è±¡
        /// <summary>
        /// ä»Žæ•°æ®åº“中删除主键为id的记录
        /// </summary>
        /// <param name="id">需要删除对象的id</param>
        /// <param name="msg">异常错误信息</param>
        /// <returns>被删除对象的主键</returns>
        public virtual int Delete(int id, DbContext dbModel)
        {
            var count = Delete(new List<int> { id }, dbModel);
            return id;
        }
        /// <summary>
        /// ä»Žæ•°æ®åº“中批量删除主键列表为ids的记录
        /// </summary>
        /// <param name="id">需要删除对象的id列表</param>
        /// <param name="msg">异常错误信息</param>
        /// <returns>被删除对象的数量</returns>
        public virtual int Delete(List<int> ids, DbContext dbModel)
        {
            foreach (var id in ids)
            {
                var t = Activator.CreateInstance(typeof(T));
                ((T)t).Id = id;
                var s = ToOrm((T)t);
                dbModel.Set<S>().Attach(s);
                dbModel.Set<S>().Remove(s);
            }
            dbModel.SaveChanges();
            return ids.Count;
        }
        #endregion
        #region æ‹¼è£…å­—å…¸
        /// <summary>
        /// å°†æ»¡è¶³æ¡ä»¶çš„T类型拼装成以id为键,类型本身为值的字典
        /// </summary>
        /// <param name="param">查询条件</param>
        /// <param name="msg">异常错误消息</param>
        /// <returns>以id为键,类型本身为值的字典</returns>
        public virtual Dictionary<int, T> ToDictionary(QueryParam param, DbContext dbModel)
        {
            var res = new Dictionary<int, T>();
            var datas = QueryByParam(param, dbModel);
            datas.ForEach(x => res.Add(x.Id,x));
            return res;
        }
        #endregion
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/Dao/_system~.ini
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/Globle/SysGloble.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,243 @@

using iWareModel;
using System.Collections.Generic;
namespace iWareCommon.Common.Globle
{
    public static class SysGloble
    {
        /// <summary>
        /// ä¸Šä¸€æ¬¡ä¸‹å‘出库任务的下发时间和当前时间的差值
        /// </summary>
        public static int MIN_OUTSTORE_RGV_TASK_JIANGE = 15;
        /// <summary>
        /// é»˜è®¤è®¾ç½®1011站点持续有货的持续计数的最大数
        /// </summary>
        public static int MAX_RGV_1011_HasCategory_COUNT = 60 * 60;//10分钟,等待了这些时间,还不下发任务,就下发任务 30 * 60
        /// <summary>
        /// é»˜è®¤è®¾ç½®1012站点持续有货的持续计数的最大数
        /// </summary>
        public static int MAX_RGV_1012_HasCategory_COUNT = 30;
        /// <summary>
        /// ç¼ºæ–™ä¿¡æ¯
        /// </summary>
        public static string QUELIAO_STR = "缺料";
        /// <summary>
        /// åˆ†éš”符
        /// </summary>
        public static string SPLIT_STR = " || ";
        public static string LogDir = "d://log";
        public const string WCSSystem = "WCS";
        /// <summary>
        /// å½“前配置的堆叠顺序排序方式
        /// </summary>
        public const StackSequenceSortRule CurrentStackSequenceSortRule = StackSequenceSortRule.Ascending;
        /// <summary>
        /// 1号堆垛机进出口库位
        /// </summary>
        public const string Srm_I_O_Place1_1 = "1-01-01-01";
        /// <summary>
        /// 1号堆垛机进出口库位
        /// </summary>
        public const string Srm_I_O_Place1_2 = "1-02-01-01";
        /// <summary>
        /// 2号堆垛机进出口库位
        /// </summary>
        public const string Srm_I_O_Place2_1 = "2-01-01-01";
        /// <summary>
        /// 2号堆垛机进出口库位
        /// </summary>
        public const string Srm_I_O_Place2_2 = "2-02-01-01";
        /// <summary>
        /// 3号堆垛机进出口库位
        /// </summary>
        public const string Srm_I_O_Place3_1 = "3-01-01-01";
        /// <summary>
        /// 3号堆垛机进出口库位
        /// </summary>
        public const string Srm_I_O_Place3_2 = "3-02-01-01";
        /// <summary>
        /// 4号堆垛机进出口库位
        /// </summary>
        public const string Srm_I_O_Place4_1 = "4-01-01-01";
        /// <summary>
        /// 4号堆垛机进出口库位
        /// </summary>
        public const string Srm_I_O_Place4_2 = "4-02-01-01";
        /// <summary>
        /// ç‰¹æ®Šåº“位的字典
        /// </summary>
        public static Dictionary<string, string> Dict_SpecialPlace = new Dictionary<string, string>() {
            {Srm_I_O_Place1_1,Srm_I_O_Place1_1},
            {Srm_I_O_Place1_2,Srm_I_O_Place1_2},
            {Srm_I_O_Place2_1,Srm_I_O_Place2_1},
            {Srm_I_O_Place2_2,Srm_I_O_Place2_2},
            {Srm_I_O_Place3_1,Srm_I_O_Place3_1},
            {Srm_I_O_Place3_2,Srm_I_O_Place3_2},
            {Srm_I_O_Place4_1,Srm_I_O_Place4_1},
            {Srm_I_O_Place4_2,Srm_I_O_Place4_2},
        };
        /// <summary>
        /// ç‰¹æ®Šåº“位的字典(堆垛机的入库口)
        /// </summary>
        public static Dictionary<string, string> Dict_SpecialPlace_IN = new Dictionary<string, string>() {
            {Srm_I_O_Place1_1,Srm_I_O_Place1_1},
            {Srm_I_O_Place2_1,Srm_I_O_Place2_1},
            {Srm_I_O_Place3_1,Srm_I_O_Place3_1},
            {Srm_I_O_Place4_2,Srm_I_O_Place4_2},
        };
        /// <summary>
        /// å…¥å£åœ°å€
        /// </summary>
        public readonly static int InStorePlace = 20101;
        /// <summary>
        /// å‡ºå£åœ°å€
        /// </summary>
        public readonly static int OutStorePlace = 20301;
        /// <summary>
        /// ç»´ä¿®å‡ºå£åœ°å€
        /// </summary>
        public readonly static int OutStoreForFixPlace = 10801;
        /// <summary>
        /// æœ€å°çš„空托盘默认的模具号(虚拟模具号)
        /// </summary>
        public readonly static short MinNoDieNumber = 1000;
        #region åº“位号和PLC偏移量字典
        //里面有空格,别忘了最后trim下
        public static IDictionary<short, short> offsetPlaceNoDict = new System.Collections.Generic.Dictionary<short, short>() {
        {10101,120},
{10102,122},
{10103,124},
{10104,126},
{10105,128},
{10106,130},
{10201,132},
{10202,134},
{10203,136},
{10204,138},
{10205,140},
{10206,142},
{10301,144},
{10302,146},
{10303,148},
{10304,150},
{10305,152},
{10306,154},
{10401,156},
{10402,158},
{10403,160},
{10404,162},
{10405,164},
{10406,166},
{10501,168},
{10502,170},
{10503,172},
{10504,174},
{10505,176},
{10506,178},
{10601,180},
{10602,182},
{10603,184},
{10604,186},
{10605,188},
{10606,190},
{10701,192},
{10702,194},
{10703,196},
{10704,198},
{10705,200},
{10706,202},
{10802,204},
{10803,206},
{10804,208},
{10805,210},
{10806,212},
{10901,214},
{10902,216},
{10903,218},
{10904,220},
{10905,222},
{10906,224},
{20102,226},
{20103,228},
{20104,230},
{20105,232},
{20106,234},
{20201,236},
{20202,238},
{20203,240},
{20204,242},
{20205,244},
{20206,246},
{20302,248},
{20303,250},
{20304,252},
{20305,254},
{20306,256},
{20401,258},
{20402,260},
{20403,262},
{20404,264},
{20405,266},
{20406,268},
{20501,270},
{20502,272},
{20503,274},
{20504,276},
{20505,278},
{20506,280},
{20601,282},
{20602,284},
{20603,286},
{20604,288},
{20605,290},
{20606,292},
{20701,294},
{20702,296},
{20703,298},
{20704,300},
{20705,302},
{20706,304},
{20801,306},
{20802,308},
{20803,310},
{20804,312},
{20805,314},
{20806,316},
{20901,318},
{20902,320},
{20903,322},
{20904,324},
{20905,326},
{20906,328},
        };
        #endregion
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ParamEntity/AddMainTaskPostParam.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
namespace XiGang.Core.Model.PostParamModels.Task
{
    public class AddMainTaskPostParam
    {
        /// <summary>
        /// æ‰˜ç›˜ç¼–号
        /// </summary>
        public string SalverCode { get; set; }
        /// <summary>
        /// ä»¶å·
        /// </summary>
        public string CargoNo { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/Service/CommonService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,405 @@
using iWareCommon.Common.Dao;
using iWareCommon.Properties;
using iWareCommon.Utils;
using iWareModel;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.Validation;
using System.Linq;
namespace iWareCommon.Common.Service
{
    /// <summary>
    /// å…¬ç”¨æ–¹æ³•的抽象类
    /// å¼ å±•
    /// </summary>
    /// <typeparam name="T">自定义的实体类</typeparam>
    /// <typeparam name="S">ORM中的实体类</typeparam>
    public abstract class CommonService<T, S, D>:IService<T> where T : class, ICommonEntity<S>  where S : class where D: DbContext,IDisposable
    {
        #region éœ€è¦åœ¨å­ç±»ä¸­å®žçŽ°çš„æŠ½è±¡æ–¹æ³•
        private CommonDao<T, S> CommonDao;
        public CommonService(CommonDao<T, S> commonDao)
        {
            this.CommonDao = commonDao;
        }
        #endregion
        #region æ ¹æ®æ¡ä»¶æŸ¥è¯¢
        /// <summary>
        /// æ ¹æ®æ¡ä»¶æŸ¥è¯¢è‡ªå®šä¹‰å®žä½“T的列表
        /// </summary>
        /// <param name="param">查询条件</param>
        /// <param name="msg">错误信息</param>
        /// <returns>自定义实体T的记录列表</returns>
        public virtual List<T> QueryByParam(QueryParam param, out string msg)
        {
            msg = "";
            var type = typeof(D);
            using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext)
            {
                try
                {
                    return CommonDao.QueryByParam(param, dbModel);
                }
                catch (DbEntityValidationException ex)
                {
                    var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
                    msg = string.Join(", ", errs);
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "QueryByParam", msg);
                    return new List<T>();
                }
                catch (Exception ex)
                {
                    msg = ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "QueryByParam", ex.Message);
                    return new List<T>();
                }
            }
        }
        #endregion
        #region æ ¹æ®æ¡ä»¶åˆ†é¡µæŸ¥è¯¢
        /// <summary>
        /// æ ¹æ®æ¡ä»¶åˆ†é¡µæŸ¥è¯¢è‡ªå®šä¹‰å®žä½“T的列表,同时返回记录的总条数及当前所在的页数
        /// </summary>
        /// <param name="param">查询条件</param>
        /// <param name="msg">异常错误消息</param>
        /// <param name="totalNum">记录的总条数</param>
        /// <param name="currentPage">当前页面数</param>
        /// <returns>自定义实体T的记录列表</returns>
        public virtual List<T> QueryByParam(QueryParam param, out string msg, out int totalNum, out int currentPage)
        {
            msg = "";
            totalNum = 0;
            currentPage = 1;
            var type = typeof(D);
            using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext)
            {
                try
                {
                    return CommonDao.QueryByParam(param, dbModel, out totalNum, out currentPage);
                }
                catch (DbEntityValidationException ex)
                {
                    var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
                    msg = string.Join(", ", errs);
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "QueryByParam", msg);
                    return new List<T>();
                }
                catch (Exception ex)
                {
                    msg = ex.Message;
                    totalNum = 0;
                    currentPage = 1;
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "QueryByParam", ex.Message);
                    return new List<T>();
                }
            }
        }
        #endregion
        #region æ’入新的对象
        /// <summary>
        /// å°†è‡ªå®šä¹‰çš„实体T的实例列表批量保存到数据库
        /// </summary>
        /// <param name="ts">自定义类型T的实例列表</param>
        /// <param name="msg">异常错误消息</param>
        /// <returns>保存的数量</returns>
        public virtual int Save(List<T> ts, out string msg)
        {
            msg = "";
            var type = typeof(D);
            using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext)
            {
                try
                {
                    return CommonDao.Save(ts, dbModel);
                }
                catch (DbEntityValidationException ex)
                {
                    var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
                    msg = string.Join(", ", errs);
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg);
                    return 0;
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex)
                {
                    msg = ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir,  this.ToString(), "Save", ex.Message);
                    return 0;
                }
                catch (Exception ex)
                {
                    msg = ex.HResult == (int)EDbError.记录已存在 ? EDbError.记录已存在.ToString() : ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir,  this.ToString(), "Save", msg);
                    return 0;
                }
            }
        }
        /// <summary>
        /// å°†è‡ªå®šä¹‰çš„实体T的实例保存到数据库
        /// </summary>
        /// <param name="t">自定义类型T的实例</param>
        /// <param name="msg">异常错误消息</param>
        /// <returns>新添加T对象的id</returns>
        public virtual int Save(T t, out string msg)
        {
            msg = "";
            var type = typeof(D);
            using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext)
            {
                try
                {
                    return CommonDao.Save(t, dbModel);
                }
                catch (DbEntityValidationException ex)
                {
                    var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
                    msg = string.Join(", ", errs);
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg);
                    return -1;
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex)
                {
                    msg = ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir,  this.ToString(), "Save", ex.Message);
                    return -1;
                }
                catch (Exception ex)
                {
                    msg = ex.HResult == (int)EDbError.记录已存在 ? EDbError.记录已存在.ToString() : ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir,  this.ToString(), "Save", msg);
                    return -1;
                }
            }
        }
        #endregion
        #region ä¿®æ”¹å¯¹è±¡
        /// <summary>
        /// ä¿®æ”¹è‡ªå®šä¹‰ç±»åž‹T的实体并保存到数据库
        /// </summary>
        /// <param name="t">自定义类型T的实例</param>
        /// <param name="msg">异常错误消息</param>
        /// <returns>需改实体的id</returns>
        public virtual int Update(T t, out string msg)
        {
            msg = "";
            var type = typeof(D);
            using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext)
            {
                try
                {
                    return CommonDao.Update(t, dbModel);
                }
                catch (DbEntityValidationException ex)
                {
                    var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
                    msg = string.Join(", ", errs);
                    LogTextHelper.WriteLog(Resources.LogDir,  this.ToString(), "Update", msg);
                    return -1;
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex)
                {
                    msg = ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir,  this.ToString(), "SaveUpdate", ex.Message);
                    return -1;
                }
                catch (Exception ex)
                {
                    msg = ex.HResult == (int)EDbError.记录已存在 ? EDbError.记录已存在.ToString() : ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir,  this.ToString(), "Update", msg);
                    return -1;
                }
            }
        }
        /// <summary>
        /// ä¿®æ”¹è‡ªå®šä¹‰ç±»åž‹T的实体并保存到数据库
        /// </summary>
        /// <param name="t">自定义类型T的实例</param>
        /// <param name="msg">异常错误消息</param>
        /// <returns>需改实体的id</returns>
        public virtual int Update(List<T> ts, out string msg)
        {
            msg = "";
            var type = typeof(D);
            using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext)
            {
                try
                {
                    CommonDao.Update(ts, dbModel);
                    return ts.Count;
                }
                catch (DbEntityValidationException ex)
                {
                    var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
                    msg = string.Join(", ", errs);
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Update", msg);
                    return -1;
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex)
                {
                    msg = ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SaveUpdate", ex.Message);
                    return -1;
                }
                catch (Exception ex)
                {
                    msg = ex.HResult == (int)EDbError.记录已存在 ? EDbError.记录已存在.ToString() : ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Update", msg);
                    return -1;
                }
            }
        }
        #endregion
        #region åˆ é™¤å¯¹è±¡
        /// <summary>
        /// ä»Žæ•°æ®åº“中删除主键为id的记录
        /// </summary>
        /// <param name="id">需要删除对象的id</param>
        /// <param name="msg">异常错误信息</param>
        /// <returns>被删除对象的主键</returns>
        public virtual int Delete(int id, out string msg)
        {
            msg = "";
            var type = typeof(D);
            using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext)
            {
                try
                {
                    return CommonDao.Delete(id, dbModel);
                }
                catch (DbEntityValidationException ex)
                {
                    var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
                    msg = string.Join(", ", errs);
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", msg);
                    return -1;
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex)
                {
                    msg = ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", ex.Message);
                    return -1;
                }
                catch (Exception ex)
                {
                    msg = "记录已被其他对象引用,不能删除";
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", ex.Message);
                    return -1;
                }
            }
        }
        /// <summary>
        /// ä»Žæ•°æ®åº“中批量删除主键列表为ids的记录
        /// </summary>
        /// <param name="id">需要删除对象的id列表</param>
        /// <param name="msg">异常错误信息</param>
        /// <returns>被删除对象的数量</returns>
        public virtual int Delete(List<int> ids, out string msg)
        {
            msg = "";
            var type = typeof(D);
            using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext)
            {
                try
                {
                    return CommonDao.Delete(ids, dbModel);
                }
                catch (DbEntityValidationException ex)
                {
                    var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
                    msg = string.Join(", ", errs);
                    LogTextHelper.WriteLog(Resources.LogDir,  this.ToString(), "Delete", msg);
                    return 0;
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex)
                {
                    msg = ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", ex.Message);
                    return 0;
                }
                catch (Exception ex)
                {
                    msg = "记录已被其他对象引用,不能删除";
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", ex.Message);
                    return 0;
                }
            }
        }
        #endregion
        #region æ‹¼è£…å­—å…¸
        /// <summary>
        /// å°†æ»¡è¶³æ¡ä»¶çš„T类型拼装成以id为键,类型本身为值的字典
        /// </summary>
        /// <param name="param">查询条件</param>
        /// <param name="msg">异常错误消息</param>
        /// <returns>以id为键,类型本身为值的字典</returns>
        public virtual Dictionary<int, T> ToDictionary(QueryParam param,out string msg)
        {
            msg = "";
            var type = typeof(D);
            using (var dbModel = type.Assembly.CreateInstance(type.FullName) as DbContext)
            {
                try
                {
                    return CommonDao.ToDictionary(param, dbModel);
                }
                catch (DbEntityValidationException ex)
                {
                    var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage);
                    msg = string.Join(", ", errs);
                    LogTextHelper.WriteLog(Resources.LogDir,  this.ToString(), "ToDictionary", msg);
                    return new Dictionary<int, T>();
                }
                catch (Exception ex)
                {
                    msg = ex.Message;
                    LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ToDictionary", ex.Message);
                    return new Dictionary<int, T>();
                }
            }
        }
        #endregion
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/Service/_system~.ini
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/Conveyor_CacheEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
using iWareCommon.Common.EnumType;
using System.Collections.Generic;
namespace iWareCommon
{
    /// <summary>
    /// ç«‹åº“输送线缓存实体类
    /// </summary>
    public class Conveyor_CacheEntity
    {
        public static SrmConveyorEntity Conveyor= new SrmConveyorEntity("SrmConveyor", (int)EDeviceId.立库输送线)   ;
        public static List<int> StationNos = new List<int>
        {
            1, 6, 7, 8, 12, 27, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
        };
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyorEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
using System;
using System.Linq;
using System.Threading;
namespace iWareCommon
{
    public class SrmConveyorEntity
    {
        public System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
        /// <summary>
        /// è¾“送线名称
        /// </summary>
        public string ConveyorName { get; set; }
        /// <summary>
        /// è®¾å¤‡Id
        /// </summary>
        public int DeviceId { get; set; }
        /// <summary>
        /// æ˜¯å¦åœ¨çº¿
        /// </summary>
        public bool IsOnline { get; set; }
        /// <summary>
        /// æ˜¯å¦è‡ªåЍ
        /// </summary>
        public bool IsAuto { get; set; }
        //有一些地址被废弃,原先位各站点公用地址块查询,后改为每个站点独立地址块查询
        /////////////////////////////////////////////////////////////
        /// //////////////////
        public int RHandShake { get; set; }
        public bool RArrive_7_2 { get; set; }
        public bool RArrive_7_3 { get; set; }
        public bool RArrive_8_2 { get; set; }
        public bool RArrive_8_3 { get; set; }
        public bool RArrive_23_4 { get; set; }
        public bool RArrive_23_5 { get; set; }
        public bool RArrive_25_4 { get; set; }
        public bool RArrive_25_5 { get; set; }
        public bool RTaskFinish_1 { get; set; }
        public bool RTaskFinish_6 { get; set; }
        public bool RTaskFinish_12 { get; set; }
        public bool RTaskFinish_14 { get; set; }
        public bool RTaskFinish_16 { get; set; }
        public bool RTaskFinish_18 { get; set; }
        public bool RTaskFinish_20 { get; set; }
        public bool RTaskFinish_22 { get; set; }
        public bool RTaskFinish_27 { get; set; }
        public int RTaskId_1 { get; set; }
        public int RTaskId_6 { get; set; }
        public int RTaskId_12 { get; set; }
        public int RTaskId_14 { get; set; }
        public int RTaskId_16 { get; set; }
        public int RTaskId_18 { get; set; }
        public int RTaskId_20 { get; set; }
        public int RTaskId_22 { get; set; }
        public int RTaskId_27 { get; set; }
        public SrmConveyorEntity() { }
        public SrmConveyorEntity(string conveyorName, int deviceId)
        {
            this.ConveyorName = conveyorName;
            this.DeviceId = deviceId;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyorStationEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace iWareCommon
{
    public class SrmConveyorStationEntity
    {
        public int RFromStationNo { get; set; }
        //public bool RCanPut { get; set; }
        public int RTaskId { get; set; }
        public int RToStationNo { get; set; }
        public string RCode0 { get; set; }
        public string RCode1 { get; set; }
        public string RCode2 { get; set; }
        public string RCode3 { get; set; }
        public string RCode4 { get; set; }
        public string RCode5 { get; set; }
        public string RCode6 { get; set; }
        public string RCode7 { get; set; }
        public string RCode8 { get; set; }
        public string RCode9 { get; set; }
        public string RCode10 { get; set; }
        public string RCode11 { get; set; }
        public string RCode12 { get; set; }
        public string RCode13 { get; set; }
        public string RCode14 { get; set; }
        public string RCode15 { get; set; }
        public string RCode16 { get; set; }
        public string RCode17 { get; set; }
        public string RCode18 { get; set; }
        public string RCode19 { get; set; }
        public bool RAuto { get; set; }
        public bool RAlarm { get; set; }
        public bool RReady { get; set; }
        public bool RBusy { get; set; }
        public bool RRun { get; set; }
        public bool RForward { get; set; }
        public bool RReversal { get; set; }
        public bool RUp { get; set; }
        public bool RDown { get; set; }
        public bool RPh1 { get; set; }
        public bool RPh2 { get; set; }
        public bool RPrH { get; set; }
        public bool RPrL { get; set; }
        public bool RSpare1 { get; set; }
        public bool RSpare2 { get; set; }
        public int RAlarmCode { get; set; }
        //public int RCargoType { get; set; }
        public bool RTaskFinish { get; set; }
        /// <summary>
        /// æŠ¥è­¦ä»£ç 
        /// </summary>
        public string AlarmCode { get; set; }
        public SrmConveyorStationEntity() { }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyor_DB.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon
{
    public static class SrmConveyor_DB
    {
        public static string FromStationNo_Write = "S7:[S7_Connection_3]DB34,W0";
        public static string TaskId_Write = "S7:[S7_Connection_3]DB34,W2";
        public static string ToStationNo_Write = "S7:[S7_Connection_3]DB34,W4";
        public static string Code0_Write = "S7:[S7_Connection_3]DB34,B6";
        public static string Code1_Write = "S7:[S7_Connection_3]DB34,B7";
        public static string Code2_Write = "S7:[S7_Connection_3]DB34,B8";
        public static string Code3_Write = "S7:[S7_Connection_3]DB34,B9";
        public static string Code4_Write = "S7:[S7_Connection_3]DB34,B10";
        public static string Code5_Write = "S7:[S7_Connection_3]DB34,B11";
        public static string Code6_Write = "S7:[S7_Connection_3]DB34,B12";
        public static string Code7_Write = "S7:[S7_Connection_3]DB34,B13";
        public static string Code8_Write = "S7:[S7_Connection_3]DB34,B14";
        public static string Code9_Write = "S7:[S7_Connection_3]DB34,B15";
        public static string Code10_Write = "S7:[S7_Connection_3]DB34,B16";
        public static string Code11_Write = "S7:[S7_Connection_3]DB34,B17";
        public static string Code12_Write = "S7:[S7_Connection_3]DB34,B18";
        public static string Code13_Write = "S7:[S7_Connection_3]DB34,B19";
        public static string Code14_Write = "S7:[S7_Connection_3]DB34,B20";
        public static string Code15_Write = "S7:[S7_Connection_3]DB34,B21";
        public static string Code16_Write = "S7:[S7_Connection_3]DB34,B22";
        public static string Code17_Write = "S7:[S7_Connection_3]DB34,B23";
        public static string Code18_Write = "S7:[S7_Connection_3]DB34,B24";
        public static string Code19_Write= "S7:[S7_Connection_3]DB34,B25";
        public static string CargoType_Write = "S7:[S7_Connection_3]DB34,W26";
        public static string QueryStaionNo_Write = "S7:[S7_Connection_3]DB34,W28";
        ////////////////////////////////////////////////////////////////////////////////////////////
        public static string FromStationNo_Read = "S7:[S7_Connection_3]DB35,W0";
        public static string TaskFinish = "S7:[S7_Connection_3]DB35,X2.0";//与canput同位
        public static string TaskId_Read = "S7:[S7_Connection_3]DB35,W4";
        public static string ToStationNo_Read = "S7:[S7_Connection_3]DB35,W6";
        public static string Code0_Read = "S7:[S7_Connection_3]DB35,B8";
        public static string Code1_Read = "S7:[S7_Connection_3]DB35,B9";
        public static string Code2_Read = "S7:[S7_Connection_3]DB35,B10";
        public static string Code3_Read = "S7:[S7_Connection_3]DB35,B11";
        public static string Code4_Read = "S7:[S7_Connection_3]DB35,B12";
        public static string Code5_Read = "S7:[S7_Connection_3]DB35,B13";
        public static string Code6_Read = "S7:[S7_Connection_3]DB35,B14";
        public static string Code7_Read = "S7:[S7_Connection_3]DB35,B15";
        public static string Code8_Read = "S7:[S7_Connection_3]DB35,B16";
        public static string Code9_Read = "S7:[S7_Connection_3]DB35,B17";
        public static string Code10_Read = "S7:[S7_Connection_3]DB35,B18";
        public static string Code11_Read = "S7:[S7_Connection_3]DB35,B19";
        public static string Code12_Read = "S7:[S7_Connection_3]DB35,B20";
        public static string Code13_Read = "S7:[S7_Connection_3]DB35,B21";
        public static string Code14_Read = "S7:[S7_Connection_3]DB35,B22";
        public static string Code15_Read = "S7:[S7_Connection_3]DB35,B23";
        public static string Code16_Read = "S7:[S7_Connection_3]DB35,B24";
        public static string Code17_Read = "S7:[S7_Connection_3]DB35,B25";
        public static string Code18_Read = "S7:[S7_Connection_3]DB35,B26";
        public static string Code19_Read = "S7:[S7_Connection_3]DB35,B27";
        public static string Auto = "S7:[S7_Connection_3]DB35,X28.1";
        public static string Alarm = "S7:[S7_Connection_3]DB35,X28.2";
        public static string Ready = "S7:[S7_Connection_3]DB35,X28.3";
        public static string Busy = "S7:[S7_Connection_3]DB35,X28.4";
        public static string Run = "S7:[S7_Connection_3]DB35,X28.5";
        public static string Forward = "S7:[S7_Connection_3]DB35,X28.6";
        public static string Reversal = "S7:[S7_Connection_3]DB35,X28.7";
        public static string Up = "S7:[S7_Connection_3]DB35,X29.0";
        public static string Down = "S7:[S7_Connection_3]DB35,X29.1";
        public static string Ph1 = "S7:[S7_Connection_3]DB35,X29.2";
        public static string Ph2 = "S7:[S7_Connection_3]DB35,X29.3";
        public static string PrH = "S7:[S7_Connection_3]DB35,X29.4";
        public static string PrL = "S7:[S7_Connection_3]DB35,X29.5";
        public static string Spare1 = "S7:[S7_Connection_3]DB35,X29.6";
        public static string Spare2 = "S7:[S7_Connection_3]DB35,X29.7";
        public static string AlarmCode = "S7:[S7_Connection_3]DB35,W30";
        public static string Arrive_7_2 = "S7:[S7_Connection_3]DB35,X32.0";
        public static string Arrive_7_3 = "S7:[S7_Connection_3]DB35,X32.1";
        public static string Arrive_8_2 = "S7:[S7_Connection_3]DB35,X32.2";
        public static string Arrive_8_3 = "S7:[S7_Connection_3]DB35,X32.3";
        public static string Arrive_23_4 = "S7:[S7_Connection_3]DB35,X32.4";
        public static string Arrive_23_5 = "S7:[S7_Connection_3]DB35,X32.5";
        public static string Arrive_25_4 = "S7:[S7_Connection_3]DB35,X32.6";
        public static string Arrive_25_5 = "S7:[S7_Connection_3]DB35,X32.7";
        public static string TaskFinish_1 = "S7:[S7_Connection_3]DB35,X33.0";
        public static string TaskFinish_6 = "S7:[S7_Connection_3]DB35,X33.1";
        public static string TaskFinish_12 = "S7:[S7_Connection_3]DB35,X33.2";
        public static string TaskFinish_14 = "S7:[S7_Connection_3]DB35,X33.3";
        public static string TaskFinish_16 = "S7:[S7_Connection_3]DB35,X33.4";
        public static string TaskFinish_18 = "S7:[S7_Connection_3]DB35,X33.5";
        public static string TaskFinish_20 = "S7:[S7_Connection_3]DB35,X33.6";
        public static string TaskFinish_22 = "S7:[S7_Connection_3]DB35,X33.7";
        public static string TaskFinish_27 = "S7:[S7_Connection_3]DB35,X34.0";
        public static string TaskId_1 = "S7:[S7_Connection_3]DB35,W36";
        public static string TaskId_6 = "S7:[S7_Connection_3]DB35,W38";
        public static string TaskId_12 = "S7:[S7_Connection_3]DB35,W40";
        public static string TaskId_14 = "S7:[S7_Connection_3]DB35,W42";
        public static string TaskId_16 = "S7:[S7_Connection_3]DB35,W44";
        public static string TaskId_18 = "S7:[S7_Connection_3]DB35,W46";
        public static string TaskId_20 = "S7:[S7_Connection_3]DB35,W48";
        public static string TaskId_22 = "S7:[S7_Connection_3]DB35,W50";
        public static string TaskId_27 = "S7:[S7_Connection_3]DB35,W52";
        public static string HandShake = "S7:[S7_Connection_3]DB35,W54";
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEnumType/ESrmConveyorAlarm.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace iWareSda.ConveyorService.ConveyorEnumType
{
    public enum ESrmConveyorAlarm
    {
        æŠ¥è­¦ä»£ç 1 = 1,
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/CacheEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using iWareCommon.Common.EnumType;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareSda.SrmService.SrmEntity
{
    public class CacheEntity
    {
        public static List<SrmEntity> Srms = new List<SrmEntity>
        {
           new SrmEntity("Srm1", (int)EDeviceId.一号堆垛机),
           new SrmEntity("Srm2", (int)EDeviceId.二号堆垛机)
        };
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm1_DB.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon
{
    public static class Srm1_DB
    {
        public static string HandShake_Write = "S7:[S7_Connection_1]DB500,W0";
        public static string SrmNo_Write = "S7:[S7_Connection_1]DB500,W2";
        public static string CallBack = "S7:[S7_Connection_1]DB500,W4";
        public static string CancelTask = "S7:[S7_Connection_1]DB500,W6";
        public static string Estop = "S7:[S7_Connection_1]DB500,W8";
        public static string FromCol = "S7:[S7_Connection_1]DB500,W10";
        public static string FromLayer = "S7:[S7_Connection_1]DB500,W12";
        public static string FromRow = "S7:[S7_Connection_1]DB500,W14";
        public static string ToCol = "S7:[S7_Connection_1]DB500,W16";
        public static string ToLayer = "S7:[S7_Connection_1]DB500,W18";
        public static string ToRow = "S7:[S7_Connection_1]DB500,W20";
        public static string TaskId_Write = "S7:[S7_Connection_1]DB500,W22";
        public static string NewTask = "S7:[S7_Connection_1]DB500,W24";
        public static string AckTaskFinish = "S7:[S7_Connection_1]DB500,W26";
        public static string CancleAlarm = "S7:[S7_Connection_1]DB500,W28";
        /// //////////////////////////////////////////////////////////////
        public static string HandShake_Read = "S7:[S7_Connection_1]DB501,W26";
        public static string PickFinish = "S7:[S7_Connection_1]DB501,X0.1";
        public static string PutFinish = "S7:[S7_Connection_1]DB501,X0.2";
        public static string Auto = "S7:[S7_Connection_1]DB501,X0.3";
        public static string Alarm = "S7:[S7_Connection_1]DB501,X0.4";
        public static string TaskFinish = "S7:[S7_Connection_1]DB501,X0.5";
        public static string Loaded = "S7:[S7_Connection_1]DB501,X0.6";
        public static string ForkIni = "S7:[S7_Connection_1]DB501,X0.7";
        public static string SrmNo_Read = "S7:[S7_Connection_1]DB501,W2";
        public static string AlarmCode = "S7:[S7_Connection_1]DB501,W4";
        public static string State = "S7:[S7_Connection_1]DB501,W6";
        public static string CurrentCol = "S7:[S7_Connection_1]DB501,W8";
        public static string CurrentLayer = "S7:[S7_Connection_1]DB501,W10";
        public static string PosX = "S7:[S7_Connection_1]DB501,W12";
        public static string PosY = "S7:[S7_Connection_1]DB501,W16";
        public static string ForkPos = "S7:[S7_Connection_1]DB501,W20";
        public static string TaskId_Read = "S7:[S7_Connection_1]DB501,W24";
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm2_DB.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon
{
    public static class Srm2_DB
    {
        public static string HandShake_Write = "S7:[S7_Connection_2]DB500,W0";
        public static string SrmNo_Write = "S7:[S7_Connection_2]DB500,W2";
        public static string CallBack = "S7:[S7_Connection_2]DB500,W4";
        public static string CancelTask = "S7:[S7_Connection_2]DB500,W6";
        public static string Estop = "S7:[S7_Connection_2]DB500,W8";
        public static string FromCol = "S7:[S7_Connection_2]DB500,W10";
        public static string FromLayer = "S7:[S7_Connection_2]DB500,W12";
        public static string FromRow = "S7:[S7_Connection_2]DB500,W14";
        public static string ToCol = "S7:[S7_Connection_2]DB500,W16";
        public static string ToLayer = "S7:[S7_Connection_2]DB500,W18";
        public static string ToRow = "S7:[S7_Connection_2]DB500,W20";
        public static string TaskId_Write = "S7:[S7_Connection_2]DB500,W22";
        public static string NewTask = "S7:[S7_Connection_2]DB500,W24";
        public static string AckTaskFinish = "S7:[S7_Connection_2]DB500,W26";
        public static string CancleAlarm = "S7:[S7_Connection_2]DB500,W28";
        /// //////////////////////////////////////////////////////////////
        public static string HandShake_Read = "S7:[S7_Connection_2]DB501,W26";
        public static string PickFinish = "S7:[S7_Connection_2]DB501,X0.1";
        public static string PutFinish = "S7:[S7_Connection_2]DB501,X0.2";
        public static string Auto = "S7:[S7_Connection_2]DB501,X0.3";
        public static string Alarm = "S7:[S7_Connection_2]DB501,X0.4";
        public static string TaskFinish = "S7:[S7_Connection_2]DB501,X0.5";
        public static string Loaded = "S7:[S7_Connection_2]DB501,X0.6";
        public static string ForkIni = "S7:[S7_Connection_2]DB501,X0.7";
        public static string SrmNo_Read = "S7:[S7_Connection_2]DB501,W2";
        public static string AlarmCode = "S7:[S7_Connection_2]DB501,W4";
        public static string State = "S7:[S7_Connection_2]DB501,W6";
        public static string CurrentCol = "S7:[S7_Connection_2]DB501,W8";
        public static string CurrentLayer = "S7:[S7_Connection_2]DB501,W10";
        public static string PosX = "S7:[S7_Connection_2]DB501,W12";
        public static string PosY = "S7:[S7_Connection_2]DB501,W16";
        public static string ForkPos = "S7:[S7_Connection_2]DB501,W20";
        public static string TaskId_Read = "S7:[S7_Connection_2]DB501,W24";
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/SrmEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
using iWareCommon.Common.EnumType;
using System;
using System.Linq;
namespace iWareCommon
{
    public class SrmEntity
    {
        /// <summary>
        /// å †åž›æœºåç§°
        /// </summary>
        public string SrmName { get; set; }
        /// <summary>
        /// è®¾å¤‡ç¼–号
        /// </summary>
        public int DeviceId { get; set; }
        /// <summary>
        /// è®¾å¤‡æŠ¥è­¦
        /// </summary>
        public string AlarmCode { get; set; }
        /// <summary>
        /// çŠ¶æ€
        /// </summary>
        public string State { get; set; }
        /// <summary>
        /// æ ¹æ®å¿ƒè·³åˆ¤æ–­å †åž›æœºæ˜¯å¦åœ¨çº¿
        /// </summary>
        public bool IsOnline { get; set; }
        public int WHandShake { get; set; }
        public int WSrmNo { get; set; }
        public int WCallBack { get; set; }
        public int WCancelTask { get; set; }
        public int WEstop { get; set; }
        public int WFromCol { get; set; }
        public int WFromLayer { get; set; }
        public int WFromRow { get; set; }
        public int WToCol { get; set; }
        public int WToLayer { get; set; }
        public int WToRow { get; set; }
        public int WTaskId { get; set; }
        public int WNewTask { get; set; }
        public int WAckTaskFinish { get; set; }
        public int WCancleAlarm { get; set; }
        /// <summary>
        /// ////////////////////////////////////////////////////
        /// </summary>
        public int RHandShake { get; set; }
        public bool RPickFinish { get; set; }
        public bool RPutFinish { get; set; }
        public bool RAuto { get; set; }
        public bool RAlarm { get; set; }
        public bool RTaskFinish { get; set; }
        public bool RLoaded { get; set; }
        public bool RForkIni { get; set; }
        public int RSrmNo { get; set; }
        public int RAlarmCode { get; set; }
        public int RState { get; set; }
        public int RCol { get; set; }
        public int RLayer { get; set; }
        public int RPosX { get; set; }
        public int RPosY { get; set; }
        public int RForkPos { get; set; }
        public int RTaskId { get; set; }
        public SrmEntity() { }
        public SrmEntity(string srmName, int deviceId)
        {
            this.SrmName = srmName;
            this.DeviceId = deviceId;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/SrmInfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,103 @@
using iWareCommon.Common.EnumType;
using System;
namespace iWareCommon
{
    [Serializable]
    public class SrmInfo
    {
        /// <summary>
        /// å †åž›æœºåç§°
        /// </summary>
        public string SrmName { get; set; }
        /// <summary>
        /// æ ¹æ®å¿ƒè·³åˆ¤æ–­å †åž›æœºæ˜¯å¦åœ¨çº¿
        /// </summary>
        public string IsOnline { get; set; }
        public string WHandShake { get; set; }
        public string WSrmNo { get; set; }
        public string WCallBack { get; set; }
        public string WCancelTask { get; set; }
        public string WEstop { get; set; }
        public string WFromCol { get; set; }
        public string WFromLayer { get; set; }
        public string WFromRow { get; set; }
        public string WToCol { get; set; }
        public string WToLayer { get; set; }
        public string WToRow { get; set; }
        public string WTaskId { get; set; }
        public string WNewTask { get; set; }
        public string WAckTaskFinish { get; set; }
        /// ///////////////////////////////////////////
        public string RHandShake { get; set; }
        public string RPickFinish { get; set; }
        public string RPutFinish { get; set; }
        public string RAuto { get; set; }
        public string RAlarm { get; set; }
        public string RTaskFinish { get; set; }
        public string RLoaded { get; set; }
        public string RForkIni { get; set; }
        public string RSrmNo { get; set; }
        public string RAlarmCode { get; set; }
        public string RState { get; set; }
        public string RCol { get; set; }
        public string RLayer { get; set; }
        public string RPosX { get; set; }
        public string RPosY { get; set; }
        public string RForkPos { get; set; }
        public string RTaskId { get; set; }
        public SrmInfo() { }
        public SrmInfo(SrmEntity srm)
        {
            this.SrmName = srm.SrmName;
            this.IsOnline = srm.IsOnline ? "在线" : "已离线";
            this.WHandShake = srm.WHandShake.ToString();
            this.WSrmNo = srm.WSrmNo.ToString();
            this.WCallBack = srm.WCallBack == (int)EYesOrNo.是 ? "召回" : "";
            this.WCancelTask = srm.WCancelTask == (int)EYesOrNo.是 ? "取消任务" : "";
            this.WEstop = srm.WEstop == (int)EYesOrNo.是 ? "急停" : "";
            this.WFromCol = srm.WFromCol.ToString();
            this.WFromLayer = srm.WFromLayer.ToString();
            this.WFromRow = srm.WFromRow.ToString();
            this.WToCol = srm.WToCol.ToString();
            this.WToRow = srm.WToRow.ToString();
            this.WToLayer = srm.WToLayer.ToString();
            this.WTaskId = srm.WTaskId.ToString();
            this.WNewTask = srm.WNewTask.ToString();
            this.WAckTaskFinish = srm.WAckTaskFinish.ToString();
            this.RHandShake = srm.RHandShake.ToString();
            this.RPickFinish = srm.RPickFinish ? "取货完成" : "";
            this.RPutFinish = srm.RPutFinish ? "放货完成" : "";
            this.RAuto = srm.RAuto ? "自动" : "非自动";
            this.RAlarm = srm.RAlarm ? "报警" : "正常";
            this.RTaskFinish = srm.RTaskFinish ? "任务完成" : "";
            this.RLoaded = srm.RLoaded ? "叉齿有货" : "叉齿无货";
            this.RForkIni = srm.RForkIni ? "叉齿在原位" : "叉齿不在原位";
            this.RSrmNo = srm.RSrmNo.ToString();
            this.RAlarmCode = srm.RAlarmCode == 0 ? "" : ((ESrmAlarm)srm.RAlarmCode).ToString();
            this.RState = ((ESrmState)srm.RState).ToString();
            this.RCol = srm.RCol.ToString();
            this.RLayer = srm.RLayer.ToString();
            this.RPosX = srm.RPosX.ToString();
            this.RPosY = srm.RPosY.ToString();
            this.RForkPos = srm.RForkPos.ToString();
            this.RTaskId = srm.RTaskId.ToString();
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm_CacheEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
using iWareCommon.Common.EnumType;
using System.Collections.Generic;
namespace iWareCommon
{
    /// <summary>
    /// å †åž›æœºç¼“存实体类
    /// </summary>
    public class Srm_CacheEntity
    {
        public static SrmEntity Srm1 =new SrmEntity("Srm1",(int)EDeviceId.一号堆垛机);
        public static SrmEntity Srm2 = new SrmEntity("Srm2", (int)EDeviceId.二号堆垛机);
        public static List<SrmEntity> Srms = new List<SrmEntity>
        {
            Srm1,Srm2
        };
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmAlarm.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace iWareCommon
{
    public enum ESrmAlarm
    {
        æ— æŠ¥è­¦ = 0,
        ä¸»æŸœé—¨æ€¥åœ = 1,
        é™é€Ÿå™¨è¶…速报警 = 2,
        å‰æ¾ç»³æ£€æµ‹æŠ¥è­¦ = 3,
        åŽæ¾ç»³æ£€æµ‹æŠ¥è­¦ = 4,
        å®‰å…¨ç»§ç”µå™¨æ•…éšœ = 5,
        å‰è¿‡è½½æ£€æµ‹æŠ¥è­¦ = 6,
        åŽè¿‡è½½æ£€æµ‹æŠ¥è­¦ = 7,
        ä¸Šä½æœºä¸‹å‘急停命令 = 8,
        è¾“送机柜门急停被按下 = 9,
        ä¸€å·å®‰å…¨é—¨æ‰“å¼€ = 10,
        äºŒå·å®‰å…¨é—¨æ‰“å¼€ = 11,
        ä¸‰å·å®‰å…¨é—¨æ‰“å¼€ = 12,
        ä¸€å·å®‰å…¨é—¨æ€¥åœæŒ‰é’®è¢«æŒ‰ä¸‹ = 13,
        äºŒå·å®‰å…¨é—¨æ€¥åœæŒ‰é’®è¢«æŒ‰ä¸‹ = 14,
        å››å·å®‰å…¨é—¨æ€¥åœæŒ‰é’®è¢«æŒ‰ä¸‹ = 15,
        æ¡æž¶å®‰å…¨é—¨æ‰“å¼€ = 16,
        è¡Œèµ°è¡Œç¨‹å¼€å…³è§¦å‘ = 17,
        è¡Œèµ°æŠ±é—¸æ–­è·¯å™¨æ–­å¼€ = 18,
        è¡Œèµ°å˜é¢‘器故障 = 20,
        è¡Œèµ°è®¾å®šä½ç½®å€¼ä¸åœ¨æ­£å¸¸èŒƒå›´å†… = 21,
        è¡Œèµ°å®žé™…位置值不在正常范围内 = 22,
        è¡Œèµ°åœå‡†å¤±è´¥ = 23,
        è¡Œèµ°æµ‹è·è®¾å¤‡æŠ¥è­¦ = 24,
        è¡Œèµ°è¿è¡Œè¶…æ—¶ = 25,
        è¡Œèµ°å µè½¬ = 26,
        è¡Œèµ°è¿è¡Œæ–¹å‘错误 = 27,
        èµ·å‡è¡Œç¨‹å¼€å…³è§¦å‘ = 33,
        èµ·å‡æŠ±é—¸æ–­è·¯å™¨æ–­å¼€ = 34,
        èµ·å‡ç”µæœºæŠ±é—¸åé¦ˆå¼‚常 = 36,
        èµ·å‡å˜é¢‘器故障 = 37,
        èµ·å‡è®¾å®šä½ç½®å€¼ä¸åœ¨æ­£å¸¸èŒƒå›´å†… = 38,
        èµ·å‡å®žé™…位置值不在正常范围内 = 39,
        èµ·å‡åœå‡†å¤±è´¥ = 40,
        èµ·å‡è¿è¡Œè¶…æ—¶ = 42,
        èµ·å‡å µè½¬ = 43,
        èµ·å‡è¿è¡Œæ–¹å‘错误 = 44,
        è´§å‰æŠ±é—¸æ–­è·¯å™¨æ–­å¼€ = 49,
        è´§å‰å˜é¢‘器故障 = 51,
        è´§å‰è®¾å®šä½ç½®å€¼ä¸åœ¨æ­£å¸¸èŒƒå›´å†… = 52,
        è´§å‰å®žé™…位置值不在正常范围内 = 53,
        è´§å‰è¿è¡Œè¶…æ—¶ = 54,
        è´§å‰å µè½¬ = 55,
        è´§å‰è¿è¡Œæ–¹å‘错误 = 56,
        è´§å‰åœ¨ä¸­ä½ä¸­ä½å¼€å…³æ— åé¦ˆ = 58,
        è´§å‰ä½ç½®é”™è¯¯ = 59,
        è´§å‰å·¦æžé™ = 60,
        è´§å‰å³æžé™ = 61,
        è´§å‰å–货前载货台有货 = 62,
        è´§å‰å–货完成后货物丢失 = 63,
        è´§å‰æ”¾è´§å®ŒæˆåŽè½½è´§å°è¿˜æœ‰è´§ç‰© = 64,
        å·¦å‰è¶…é•¿ = 81,
        å³å‰è¶…é•¿ = 82,
        å·¦åŽè¶…é•¿ = 83,
        å³åŽè¶…é•¿ = 84,
        å·¦å‰è¶…宽 = 85,
        å³å‰è¶…宽 = 86,
        å·¦åŽè¶…宽 = 87,
        å³åŽè¶…宽 = 88,
        å·¦è¶…高 = 89,
        å³è¶…高 = 90,
        è¡Œèµ°å˜é¢‘器掉线 = 97,
        å‡é™å˜é¢‘器掉线 = 98,
        è´§å‰å˜é¢‘器掉线 = 99,
        è½½è´§å°è¿œç¨‹æ¨¡å—掉线 = 100,
        ä¸Žè¾“送机通讯故障 = 101,
        çº¢å¤–通讯故障 = 102,
        åœ°å€é”™è¯¯ = 113,
        å¤šæ¬¡ä¸‹å‘ = 114,
        è¾“送线没有允许取货信号 = 115,
        è¾“送线没有允许放货信号 = 116,
        å †åž›æœºç©ºå– = 117,
        å †åž›æœºæ»¡å…¥ = 118,
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmCmd.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace iWareCommon
{
    public enum ESrmCmd
    {
        å–放货 = 1,
        ç§»åЍ = 2,
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmState.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace iWareCommon
{
    public enum ESrmState
    {
        ç©ºé—²=0,
        å–货定位中=1,
        è¯·æ±‚取货=2,
        å–货中=3,
        å–货完成放货定位中=4,
        è¯·æ±‚放货=5,
        æ”¾è´§ä¸­=6,
        ç»´ä¿®=98
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Common/SystemValue.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,220 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace iWareCommon
{
    /// <summary>
    /// ç³»ç»Ÿå˜é‡
    /// </summary>
    public class SystemValue
    {
        /// <summary>
        /// ç§»åº“名称
        /// </summary>
        public static string YIKUNAME = "移库";
        /// <summary>
        /// ç³»ç»Ÿå¯åŠ¨çš„GUID
        /// </summary>
        public static string SystemStartGuid = string.Empty;
        /// <summary>
        /// æ¨¡å¼æ˜¯å¦å¯åЍ
        /// </summary>
        public static bool isStartedModel = false;
        /// <summary>
        /// å»¶è¿Ÿçº¿ç¨‹æ‰§è¡Œçš„æ—¶é—´ï¼ˆæ¯«ç§’)
        /// </summary>
        public static int DelayExcuteNumber = 2000;
        /// <summary>
        /// SAP的名
        /// </summary>
        public static string SAP_USERNAME = "SAP";
        /// <summary>
        /// SAP的工厂代码
        /// </summary>
        public static string SAP_FACTORYCODE = "SAP_FACTORYCODE";
        /// <summary>
        /// SAP æ˜¯å¦å¯ç”¨ä¼ è¾“
        /// </summary>
        public static string SAP_ISENABLE_TRANSFER = "SAP_ISENABLE_TRANSFER";
        /// <summary>
        ///上一次拉取PO单的时间(yyyy-MM-dd)
        /// </summary>
        public static string SAP_PO_LASTGETDATE = "SAP_PO_LASTGETDATE";
        /// <summary>
        /// å®šæ—¶èŽ·å–po单(小时)
        /// </summary>
        public static string SAP_GET_PO = "SAP_GET_PO";
        /// <summary>
        ///上一次拉取撤销收货单的时间(yyyy-MM-dd)
        /// </summary>
        public static string SAP_CANCEL_RECEIVING_LASTGETDATE = "SAP_CANCEL_RECEIVING_LASTGETDATE";
        /// <summary>
        /// å®šæ—¶æ’¤é”€ç¡®è®¤æ”¶è´§(小时)
        /// </summary>
        public static string SAP_POST_CANCELR_RECEIVING = "SAP_POST_CANCELR_RECEIVING";
        /// <summary>
        ///上一次拉取收货单的时间(yyyy-MM-dd)
        /// </summary>
        public static string SAP_RECEIVING_LASTGETDATE = "SAP_RECEIVING_LASTGETDATE";
        /// <summary>
        /// å®šæ—¶ç¡®è®¤æ”¶è´§(小时)
        /// </summary>
        public static string SAP_POST_RECEIVING = "SAP_POST_RECEIVING";
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ å¤„理下发中的出库计划任务
        /// </summary>
        public static bool isAllowRuning_HandlerIssuingTask = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ å¤„理1、2巷道的任务下发
        /// </summary>
        public static bool isAllowRuning_OutTaskIssueTaskHandler = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ å¤„理3巷道的任务下发
        /// </summary>
        public static bool isAllowRuning_OutTaskIssueTaskHandler3 = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ ä»»åŠ¡åˆ†è§£çº¿ç¨‹
        /// </summary>
        public static bool isAllowRuning_MainTaskDecompose = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ ä»»åŠ¡åˆ†è§£çº¿ç¨‹-组盘入库
        /// </summary>
        public static bool isAllowRuning_MainTaskDecompose_ZPRK = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ å †åž›æœºå…¥å£æ‰«ç æ£€æµ‹çº¿ç¨‹
        /// </summary>
        public static bool isAllowRuning_LineInScan = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ æ¸…理数据线程
        /// </summary>
        public static bool isAllowRuning_DeleteData = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ ç«‹ä½“库任务完成
        /// </summary>
        public static bool isAllowRuning_SrmTaskFinish = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ å¹³åº“任务完成
        /// </summary>
        public static bool isAllowRuning_PingKuTaskFinish = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ æ‰“印
        /// </summary>
        public static bool isAllowRuning_Print = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ sap物料主数据
        /// </summary>
        public static bool isAllowRuning_Sap_MaterialMaterTaskHandler = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ sap采购订单数据
        /// </summary>
        public static bool isAllowRuning_Sap_PurchaseOrderTaskHandler = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ sap确认收货数据
        /// </summary>
        public static bool isAllowRuning_Sap_ReceivingRegistrationTaskHandler = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ sap领用单物料出库
        /// </summary>
        public static bool isAllowRuning_Sap_DeliverRecordTaskHandler = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ sap撤销收货确认数据
        /// </summary>
        public static bool isAllowRuning_Sap_CancelReceivingTaskHandler = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ sap获取DO单数据
        /// </summary>
        public static bool isAllowRuning_Sap_GetDeliverOrderTaskHandler = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ sap DO单发货
        /// </summary>
        public static bool isAllowRuning_Sap_DODeliverRecordTaskHandler = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸æ‰§è¡Œ sap DO单物料领取
        /// </summary>
        public static bool isAllowRuning_Sap_MaterialMaterDeliverRecordTaskHandler = false;
        #region å·¥ä½œæ¨¡å¼
        /// <summary>
        /// æ˜¯å¦é€‰ä¸­äº† æ‰‹åŠ¨æ¨¡å¼
        /// </summary>
        public static bool rbHand_Checked = false;
        /// <summary>
        /// æ˜¯å¦é€‰ä¸­äº† è‡ªåŠ¨æ¨¡å¼
        /// </summary>
        public static bool rBNormal_Checked = false;
        /// <summary>
        /// æ˜¯å¦é€‰ä¸­äº† è°ƒè¯•模式
        /// </summary>
        public static bool rBDebug_Checked = false;
        /// <summary>
        /// æ˜¯å¦é€‰ä¸­äº† å…¥åº“模式
        /// </summary>
        public static bool rBOnlyIn_Checked = false;
        #endregion
        /// <summary>
        /// æ˜¯å¦é€‰ä¸­äº† ckBRgv上料任务
        /// </summary>
        public static bool ckBRgv上料任务 = false;
        /// <summary>
        /// æ˜¯å¦é€‰ä¸­äº† ckBRgv提前配板任务
        /// </summary>
        public static bool ckBRgv提前配板任务 = false;
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Castle.Core.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Castle.Core.xml
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.Core.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.Core.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,876 @@
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Common.Logging.Core</name>
    </assembly>
    <members>
        <member name="T:Common.Logging.Factory.StringFormatMethodAttribute">
            <summary>
            Indicates that the marked method builds string by format pattern and (optional) arguments.
            Parameter, which contains format string, should be given in constructor. The format string
            should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/>-like form
            </summary>
            <example><code>
            [StringFormatMethod("message")]
            public void ShowError(string message, params object[] args) { /* do something */ }
            public void Foo() {
              ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
            }
            </code></example>
        </member>
        <member name="M:Common.Logging.Factory.StringFormatMethodAttribute.#ctor(System.String)">
            <param name="formatParameterName">
            Specifies which parameter of an annotated method should be treated as format-string
            </param>
        </member>
        <member name="P:Common.Logging.Factory.StringFormatMethodAttribute.FormatParameterName">
            <summary>
            The name of the string parameter being formatted
            </summary>
        </member>
        <member name="T:Common.Logging.FormatMessageHandler">
            <summary>
             The type of method that is passed into e.g. <see cref="M:Common.Logging.ILog.Debug(System.Action{Common.Logging.FormatMessageHandler})"/>
             and allows the callback method to "submit" it's message to the underlying output system.
            </summary>
            <param name="format">the format argument as in <see cref="M:System.String.Format(System.String,System.Object[])"/></param>
            <param name="args">the argument list as in <see cref="M:System.String.Format(System.String,System.Object[])"/></param>
            <seealso cref="T:Common.Logging.ILog"/>
             <author>Erich Eichinger</author>
        </member>
        <member name="T:Common.Logging.IConfigurationReader">
            <summary>
            Interface for basic operations to read .NET application configuration information.
            </summary>
            <remarks>Provides a simple abstraction to handle BCL API differences between .NET 1.x and 2.0. Also
            useful for testing scenarios.</remarks>
            <author>Mark Pollack</author>
        </member>
        <member name="M:Common.Logging.IConfigurationReader.GetSection(System.String)">
            <summary>
            Parses the configuration section and returns the resulting object.
            </summary>
            <remarks>
            <p>
            Primary purpose of this method is to allow us to parse and
            load configuration sections using the same API regardless
            of the .NET framework version.
            </p>
            See also <c>System.Configuration.ConfigurationManager</c>
            </remarks>
            <param name="sectionName">Name of the configuration section.</param>
            <returns>Object created by a corresponding IConfigurationSectionHandler.</returns>
        </member>
        <member name="T:Common.Logging.ILog">
            <summary>
            A simple logging interface abstracting logging APIs.
            </summary>
            <remarks>
            <para>
            Implementations should defer calling a message's <see cref="M:System.Object.ToString"/> until the message really needs
            to be logged to avoid performance penalties.
            </para>
            <para>
            Each <see cref="T:Common.Logging.ILog"/> log method offers to pass in a <see cref="T:System.Action`1"/> instead of the actual message.
            Using this style has the advantage to defer possibly expensive message argument evaluation and formatting (and formatting arguments!) until the message gets
            actually logged. If the message is not logged at all (e.g. due to <see cref="T:Common.Logging.LogLevel"/> settings),
            you won't have to pay the peformance penalty of creating the message.
            </para>
            </remarks>
            <example>
            The example below demonstrates using callback style for creating the message, where the call to the
            <see cref="M:System.Random.NextDouble"/> and the underlying <see cref="M:System.String.Format(System.String,System.Object[])"/> only happens, if level <see cref="F:Common.Logging.LogLevel.Debug"/> is enabled:
            <code>
            Log.Debug( m=&gt;m("result is {0}", random.NextDouble()) );
            Log.Debug(delegate(m) { m("result is {0}", random.NextDouble()); });
            </code>
            </example>
            <seealso cref="T:System.Action`1"/>
            <author>Mark Pollack</author>
            <author>Bruno Baia</author>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.ILog.Trace(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.ILog.Trace(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Trace"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.TraceFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.TraceFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.TraceFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.TraceFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.Trace(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Trace(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.Trace(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Trace(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.Debug(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.ILog.Debug(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Debug"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.DebugFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.DebugFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.DebugFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.Debug(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Debug(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.Debug(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Debug(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Debug.</param>
        </member>
        <member name="M:Common.Logging.ILog.Info(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.ILog.Info(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Info"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.InfoFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.InfoFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.InfoFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.Info(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Info(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.Info(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Info(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Info.</param>
        </member>
        <member name="M:Common.Logging.ILog.Warn(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.ILog.Warn(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Warn"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.WarnFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.WarnFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.WarnFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.Warn(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Warn(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.Warn(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Warn(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Warn.</param>
        </member>
        <member name="M:Common.Logging.ILog.Error(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.ILog.Error(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Error"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.ErrorFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.ErrorFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.Error(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Error(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.Error(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Error(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Error.</param>
        </member>
        <member name="M:Common.Logging.ILog.Fatal(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.ILog.Fatal(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.FatalFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.FatalFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.ILog.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.FatalFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.ILog.Fatal(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Fatal(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.ILog.Fatal(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.ILog.Fatal(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Fatal.</param>
        </member>
        <member name="P:Common.Logging.ILog.IsTraceEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
        </member>
        <member name="P:Common.Logging.ILog.IsDebugEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
        </member>
        <member name="P:Common.Logging.ILog.IsErrorEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
        </member>
        <member name="P:Common.Logging.ILog.IsFatalEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
        </member>
        <member name="P:Common.Logging.ILog.IsInfoEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
        </member>
        <member name="P:Common.Logging.ILog.IsWarnEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
        </member>
        <member name="P:Common.Logging.ILog.GlobalVariablesContext">
            <summary>
            Returns the global context for variables
            </summary>
        </member>
        <member name="P:Common.Logging.ILog.ThreadVariablesContext">
            <summary>
            Returns the thread-specific context for variables
            </summary>
        </member>
        <member name="T:Common.Logging.ILoggerFactoryAdapter">
            <summary>
            LoggerFactoryAdapter interface is used internally by LogManager
            Only developers wishing to write new Common.Logging adapters need to
            worry about this interface.
            </summary>
            <author>Gilles Bayon</author>
        </member>
        <member name="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)">
            <summary>
            Get a ILog instance by type.
            </summary>
            <param name="type">The type to use for the logger</param>
            <returns></returns>
        </member>
        <member name="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.String)">
            <summary>
            Get a ILog instance by key.
            </summary>
            <param name="key">The key of the logger</param>
            <returns></returns>
        </member>
        <member name="T:Common.Logging.ILogManager">
            <summary>
            Interface for LogManager
            </summary>
        </member>
        <member name="M:Common.Logging.ILogManager.Reset">
            <summary>
            Reset the <see cref="N:Common.Logging"/> infrastructure to its default settings. This means, that configuration settings
            will be re-read from section <c>&lt;common/logging&gt;</c> of your <c>app.config</c>.
            </summary>
            <remarks>
            This is mainly used for unit testing, you wouldn't normally use this in your applications.<br/>
            <b>Note:</b><see cref="T:Common.Logging.ILog"/> instances already handed out from this LogManager are not(!) affected.
            Resetting LogManager only affects new instances being handed out.
            </remarks>
        </member>
        <member name="M:Common.Logging.ILogManager.Reset(Common.Logging.IConfigurationReader)">
            <summary>
            Reset the <see cref="N:Common.Logging"/> infrastructure to its default settings. This means, that configuration settings
            will be re-read from section <c>&lt;common/logging&gt;</c> of your <c>app.config</c>.
            </summary>
            <remarks>
            This is mainly used for unit testing, you wouldn't normally use this in your applications.<br/>
            <b>Note:</b><see cref="T:Common.Logging.ILog"/> instances already handed out from this LogManager are not(!) affected.
            Resetting LogManager only affects new instances being handed out.
            </remarks>
            <param name="reader">
            the <see cref="T:Common.Logging.IConfigurationReader"/> instance to obtain settings for
            re-initializing the LogManager.
            </param>
        </member>
        <member name="M:Common.Logging.ILogManager.GetCurrentClassLogger">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
            on the currently configured <see cref="P:Common.Logging.ILogManager.Adapter"/> using the type of the calling class.
            </summary>
            <remarks>
            This method needs to inspect the StackTrace in order to determine the calling
            class. This of course comes with a performance penalty, thus you shouldn't call it too
            often in your application.
            </remarks>
            <seealso cref="M:Common.Logging.ILogManager.GetLogger(System.Type)"/>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.ILogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.ILogManager.GetLogger``1">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
            on the currently configured <see cref="P:Common.Logging.ILogManager.Adapter"/> using the specified type.
            </summary>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.ILogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.ILogManager.GetLogger(System.Type)">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
            on the currently configured <see cref="P:Common.Logging.ILogManager.Adapter"/> using the specified type.
            </summary>
            <param name="type">The type.</param>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.ILogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.ILogManager.GetLogger(System.String)">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.String)"/>
            on the currently configured <see cref="P:Common.Logging.ILogManager.Adapter"/> using the specified key.
            </summary>
            <param name="key">The key.</param>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.ILogManager.Adapter"/></returns>
        </member>
        <member name="P:Common.Logging.ILogManager.COMMON_LOGGING_SECTION">
            <summary>
            The key of the default configuration section to read settings from.
            </summary>
            <remarks>
            You can always change the source of your configuration settings by setting another <see cref="T:Common.Logging.IConfigurationReader"/> instance
            on <see cref="P:Common.Logging.ILogManager.ConfigurationReader"/>.
            </remarks>
        </member>
        <member name="P:Common.Logging.ILogManager.ConfigurationReader">
            <summary>
            Gets the configuration reader used to initialize the LogManager.
            </summary>
            <remarks>Primarily used for testing purposes but maybe useful to obtain configuration
            information from some place other than the .NET application configuration file.</remarks>
            <value>The configuration reader.</value>
        </member>
        <member name="P:Common.Logging.ILogManager.Adapter">
            <summary>
            Gets or sets the adapter.
            </summary>
            <value>The adapter.</value>
        </member>
        <member name="T:Common.Logging.IVariablesContext">
            <summary>
            A context for logger variables
            </summary>
        </member>
        <member name="M:Common.Logging.IVariablesContext.Set(System.String,System.Object)">
            <summary>
            Sets the value of a new or existing variable within the global context
            </summary>
            <param name="key">The key of the variable that is to be added</param>
            <param name="value">The value to add</param>
        </member>
        <member name="M:Common.Logging.IVariablesContext.Get(System.String)">
            <summary>
            Gets the value of a variable within the global context
            </summary>
            <param name="key">The key of the variable to get</param>
            <returns>The value or null if not found</returns>
        </member>
        <member name="M:Common.Logging.IVariablesContext.Contains(System.String)">
            <summary>
            Checks if a variable is set within the global context
            </summary>
            <param name="key">The key of the variable to check for</param>
            <returns>True if the variable is set</returns>
        </member>
        <member name="M:Common.Logging.IVariablesContext.Remove(System.String)">
            <summary>
            Removes a variable from the global context by key
            </summary>
            <param name="key">The key of the variable to remove</param>
        </member>
        <member name="M:Common.Logging.IVariablesContext.Clear">
            <summary>
            Clears the global context variables
            </summary>
        </member>
        <member name="T:Common.Logging.LogLevel">
            <summary>
            The 7 possible logging levels
            </summary>
            <author>Gilles Bayon</author>
        </member>
        <member name="F:Common.Logging.LogLevel.All">
            <summary>
            All logging levels
            </summary>
        </member>
        <member name="F:Common.Logging.LogLevel.Trace">
            <summary>
            A trace logging level
            </summary>
        </member>
        <member name="F:Common.Logging.LogLevel.Debug">
            <summary>
            A debug logging level
            </summary>
        </member>
        <member name="F:Common.Logging.LogLevel.Info">
            <summary>
            A info logging level
            </summary>
        </member>
        <member name="F:Common.Logging.LogLevel.Warn">
            <summary>
            A warn logging level
            </summary>
        </member>
        <member name="F:Common.Logging.LogLevel.Error">
            <summary>
            An error logging level
            </summary>
        </member>
        <member name="F:Common.Logging.LogLevel.Fatal">
            <summary>
            A fatal logging level
            </summary>
        </member>
        <member name="F:Common.Logging.LogLevel.Off">
            <summary>
            Do not log anything.
            </summary>
        </member>
    </members>
</doc>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.Log4Net1213.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.Log4Net1213.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,328 @@
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Common.Logging.Log4Net1213</name>
    </assembly>
    <members>
        <member name="T:Common.Logging.Log4Net.CommonLoggingAppender">
            <summary>
            Routes log events to Common.Logging infrastructure.
            </summary>
            <example>
            To route all events logged using log4net to Common.Logging, you need to configure this appender as shown below:
            <code>
            &lt;log4net&gt;
                &lt;appender name=&quot;CommonLoggingAppender&quot;
                          type=&quot;Common.Logging.Log4Net.CommonLoggingAppender, Common.Logging.Log4Net129&quot;&gt;
                    &lt;layout type=&quot;log4net.Layout.PatternLayout, log4net&quot;&gt;
                        &lt;param name=&quot;ConversionPattern&quot; value=&quot;%level - %class.%method: %message&quot; /&gt;
                    &lt;/layout&gt;
                &lt;/appender&gt;
                &lt;root&gt;
                    &lt;level value=&quot;ALL&quot; /&gt;
                    &lt;appender-ref ref=&quot;CommonLoggingAppender&quot; /&gt;
                &lt;/root&gt;
            &lt;/log4net&gt;
            </code>
            </example>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Log4Net.CommonLoggingAppender.GetClosestLevel(log4net.Core.Level)">
            <summary>
            Gets the closest level supported by Common.Logging of the given log4net level
            </summary>
        </member>
        <member name="M:Common.Logging.Log4Net.CommonLoggingAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            Sends the given log event to Common.Logging
            </summary>
        </member>
        <member name="P:Common.Logging.Log4Net.CommonLoggingAppender.Layout">
            <summary>
             Get or set the layout for this appender
            </summary>
        </member>
        <member name="T:Common.Logging.Log4Net.CommonLoggingAppender.ExceptionAwareLayout">
            <summary>
            Wrapper class that prevents exceptions from being rendered in the message
            </summary>
        </member>
        <member name="T:Common.Logging.Log4Net.Log4NetGlobalVariablesContext">
            <summary>
            A global context for logger variables
            </summary>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetGlobalVariablesContext.Set(System.String,System.Object)">
            <summary>
            Sets the value of a new or existing variable within the global context
            </summary>
            <param name="key">The key of the variable that is to be added</param>
            <param name="value">The value to add</param>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetGlobalVariablesContext.Get(System.String)">
            <summary>
            Gets the value of a variable within the global context
            </summary>
            <param name="key">The key of the variable to get</param>
            <returns>The value or null if not found</returns>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetGlobalVariablesContext.Contains(System.String)">
            <summary>
            Checks if a variable is set within the global context
            </summary>
            <param name="key">The key of the variable to check for</param>
            <returns>True if the variable is set</returns>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetGlobalVariablesContext.Remove(System.String)">
            <summary>
            Removes a variable from the global context by key
            </summary>
            <param name="key">The key of the variable to remove</param>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetGlobalVariablesContext.Clear">
            <summary>
            Clears the global context variables
            </summary>
        </member>
        <member name="T:Common.Logging.Log4Net.Log4NetLogger">
            <summary>
            Concrete implementation of <see cref="T:Common.Logging.ILog"/> interface specific to log4net 1.2.9-1.2.11.
            </summary>
            <remarks>
            Log4net is capable of outputting extended debug information about where the current
            message was generated: class name, method name, file, line, etc. Log4net assumes that the location
            information should be gathered relative to where Debug() was called.
            When using Common.Logging, Debug() is called in Common.Logging.Log4Net.Log4NetLogger. This means that
            the location information will indicate that Common.Logging.Log4Net.Log4NetLogger always made
            the call to Debug(). We need to know where Common.Logging.ILog.Debug()
            was called. To do this we need to use the log4net.ILog.Logger.Log method and pass in a Type telling
            log4net where in the stack to begin looking for location information.
            </remarks>
            <author>Gilles Bayon</author>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLogger.#ctor(log4net.Core.ILoggerWrapper)">
            <summary>
            Constructor
            </summary>
            <param name="log"></param>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLogger.WriteInternal(Common.Logging.LogLevel,System.Object,System.Exception)">
            <summary>
            Actually sends the message to the underlying log system.
            </summary>
            <param name="logLevel">the level of this log event.</param>
            <param name="message">the message to log</param>
            <param name="exception">the exception to log (may be null)</param>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLogger.GetLevel(Common.Logging.LogLevel)">
            <summary>
            Maps <see cref="T:Common.Logging.LogLevel"/> to log4net's <see cref="T:log4net.Core.Level"/>
            </summary>
            <param name="logLevel"></param>
        </member>
        <member name="P:Common.Logging.Log4Net.Log4NetLogger.IsTraceEnabled">
            <summary>
            </summary>
        </member>
        <member name="P:Common.Logging.Log4Net.Log4NetLogger.IsDebugEnabled">
            <summary>
            </summary>
        </member>
        <member name="P:Common.Logging.Log4Net.Log4NetLogger.IsInfoEnabled">
            <summary>
            </summary>
        </member>
        <member name="P:Common.Logging.Log4Net.Log4NetLogger.IsWarnEnabled">
            <summary>
            </summary>
        </member>
        <member name="P:Common.Logging.Log4Net.Log4NetLogger.IsErrorEnabled">
            <summary>
            </summary>
        </member>
        <member name="P:Common.Logging.Log4Net.Log4NetLogger.IsFatalEnabled">
            <summary>
            </summary>
        </member>
        <member name="P:Common.Logging.Log4Net.Log4NetLogger.GlobalVariablesContext">
            <summary>
            Returns the global context for variables
            </summary>
        </member>
        <member name="P:Common.Logging.Log4Net.Log4NetLogger.ThreadVariablesContext">
            <summary>
            Returns the thread-specific context for variables
            </summary>
        </member>
        <member name="T:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter">
            <summary>
            Concrete subclass of ILoggerFactoryAdapter specific to log4net 1.2.9-1.2.11.
            </summary>
            <remarks>
            The following configuration property values may be configured:
            <list type="bullet">
                <item><c>configType</c>: <c>INLINE|FILE|FILE-WATCH|EXTERNAL</c></item>
                <item><c>configFile</c>: log4net configuration file path in case of FILE or FILE-WATCH</item>
            </list>
            The configType values have the following implications:
            <list type="bullet">
                <item>INLINE: simply calls <c>XmlConfigurator.Configure()</c></item>
                <item>FILE: calls <c>XmlConfigurator.Configure(System.IO.FileInfo)</c> using <c>configFile</c>.</item>
                <item>FILE-WATCH: calls <c>XmlConfigurator.ConfigureAndWatch(System.IO.FileInfo)</c> using <c>configFile</c>.</item>
                <item>EXTERNAL: does nothing and expects log4net to be configured elsewhere.</item>
                <item>&lt;any&gt;: calls <c>BasicConfigurator.Configure()</c></item>
            </list>
            </remarks>
            <example>
            The following snippet shows an example of how to configure log4net with Common.Logging:
            <code>
            &lt;configuration&gt;
              &lt;configSections&gt;
                &lt;sectionGroup name=&quot;common&quot;&gt;
                  &lt;section name=&quot;logging&quot;
                           type=&quot;Common.Logging.ConfigurationSectionHandler, Common.Logging&quot;
                           requirePermission=&quot;false&quot; /&gt;
                &lt;/sectionGroup&gt;
                &lt;section name=&quot;log4net&quot;
                         type=&quot;log4net.Config.Log4NetConfigurationSectionHandler&quot;
                         requirePermission=&quot;false&quot; /&gt;
              &lt;/configSections&gt;
              &lt;common&gt;
                &lt;logging&gt;
                  &lt;factoryAdapter type=&quot;Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net129&quot;&gt;
                    &lt;arg key=&quot;level&quot; value=&quot;ALL&quot; /&gt;
                    &lt;arg key=&quot;configType&quot; value=&quot;INLINE&quot; /&gt;
                  &lt;/factoryAdapter&gt;
                &lt;/logging&gt;
              &lt;/common&gt;
              &lt;log4net debug=&quot;false&quot;&gt;
                &lt;appender name=&quot;RollingLogFileAppender&quot; type=&quot;log4net.Appender.RollingFileAppender, log4net&quot;&gt;
                  &lt;param name=&quot;File&quot; value=&quot;./Web.log&quot; /&gt;
                  &lt;param name=&quot;AppendToFile&quot; value=&quot;true&quot; /&gt;
                  &lt;param name=&quot;MaxSizeRollBackups&quot; value=&quot;1&quot; /&gt;
                  &lt;param name=&quot;MaximumFileSize&quot; value=&quot;1GB&quot; /&gt;
                  &lt;param name=&quot;RollingStyle&quot; value=&quot;Date&quot; /&gt;
                  &lt;param name=&quot;StaticLogFileName&quot; value=&quot;false&quot; /&gt;
                  &lt;layout type=&quot;log4net.Layout.PatternLayout, log4net&quot;&gt;
                    &lt;param name=&quot;ConversionPattern&quot; value=&quot;%d [%t] %-5p %c - %m%n&quot; /&gt;
                  &lt;/layout&gt;
                &lt;/appender&gt;
                &lt;appender name=&quot;TraceAppender&quot; type=&quot;log4net.Appender.TraceAppender&quot;&gt;
                  &lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;
                    &lt;param name=&quot;ConversionPattern&quot; value=&quot;%-5p: %m&quot; /&gt;
                  &lt;/layout&gt;
                &lt;/appender&gt;
                &lt;root&gt;
                  &lt;level value=&quot;ALL&quot; /&gt;
                  &lt;appender-ref ref=&quot;TraceAppender&quot; /&gt;
                  &lt;appender-ref ref=&quot;RollingLogFileAppender&quot; /&gt;
                &lt;/root&gt;
              &lt;/log4net&gt;
            &lt;/configuration&gt;
            </code>
            </example>
            <author>Gilles Bayon</author>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.#ctor(Common.Logging.Configuration.NameValueCollection)">
            <summary>
            Constructor
            </summary>
            <param name="properties">configuration properties, see <see cref="T:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter"/> for more.</param>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.#ctor(System.Collections.Specialized.NameValueCollection)">
            <summary>
            Constructor for binary backwards compatibility with non-portableversions
            </summary>
            <param name="properties">The properties.</param>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.#ctor(Common.Logging.Configuration.NameValueCollection,Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.ILog4NetRuntime)">
            <summary>
            Constructor accepting configuration properties and an arbitrary
            <see cref="T:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.ILog4NetRuntime"/> instance.
            </summary>
            <param name="properties">configuration properties, see <see cref="T:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter"/> for more.</param>
            <param name="runtime">a log4net runtime adapter</param>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.CreateLogger(System.String)">
            <summary>
            Create a ILog instance by name
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="T:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.ILog4NetRuntime">
            <summary>
            Abstract interface to the underlying log4net runtime
            </summary>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.ILog4NetRuntime.XmlConfiguratorConfigure">
            <summary>Calls <see cref="M:log4net.Config.XmlConfigurator.Configure"/></summary>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.ILog4NetRuntime.XmlConfiguratorConfigure(System.String)">
            <summary>Calls <see cref="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)"/></summary>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.ILog4NetRuntime.XmlConfiguratorConfigureAndWatch(System.String)">
            <summary>Calls <see cref="M:log4net.Config.XmlConfigurator.ConfigureAndWatch(System.IO.FileInfo)"/></summary>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.ILog4NetRuntime.BasicConfiguratorConfigure">
            <summary>Calls <see cref="M:log4net.Config.BasicConfigurator.Configure"/></summary>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.ILog4NetRuntime.GetLogger(System.String)">
            <summary>Calls <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/></summary>
        </member>
        <member name="T:Common.Logging.Log4Net.Log4NetThreadVariablesContext">
            <summary>
            A global context for logger variables
            </summary>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetThreadVariablesContext.Set(System.String,System.Object)">
            <summary>
            Sets the value of a new or existing variable within the global context
            </summary>
            <param name="key">The key of the variable that is to be added</param>
            <param name="value">The value to add</param>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetThreadVariablesContext.Get(System.String)">
            <summary>
            Gets the value of a variable within the global context
            </summary>
            <param name="key">The key of the variable to get</param>
            <returns>The value or null if not found</returns>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetThreadVariablesContext.Contains(System.String)">
            <summary>
            Checks if a variable is set within the global context
            </summary>
            <param name="key">The key of the variable to check for</param>
            <returns>True if the variable is set</returns>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetThreadVariablesContext.Remove(System.String)">
            <summary>
            Removes a variable from the global context by key
            </summary>
            <param name="key">The key of the variable to remove</param>
        </member>
        <member name="M:Common.Logging.Log4Net.Log4NetThreadVariablesContext.Clear">
            <summary>
            Clears the global context variables
            </summary>
        </member>
    </members>
</doc>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Common.Logging.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2774 @@
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Common.Logging</name>
    </assembly>
    <members>
        <member name="T:CoverageExcludeAttribute">
            <summary>
            Indicates classes or members to be ignored by NCover
            </summary>
            <remarks>
            Note, the key is chosen, because TestDriven.NET uses it as //ea argument to "Test With... Coverage"
            </remarks>
            <author>Erich Eichinger</author>
        </member>
        <member name="T:Common.Logging.ConfigurationException">
            <summary>
            The exception that is thrown when a configuration system error has occurred with Common.Logging
            </summary>
            <author>Mark Pollack</author>
        </member>
        <member name="M:Common.Logging.ConfigurationException.#ctor">
            <summary>Creates a new instance of the ObjectsException class.</summary>
        </member>
        <member name="M:Common.Logging.ConfigurationException.#ctor(System.String)">
            <summary>
            Creates a new instance of the ConfigurationException class. with the specified message.
            </summary>
            <param name="message">
            A message about the exception.
            </param>
        </member>
        <member name="M:Common.Logging.ConfigurationException.#ctor(System.String,System.Exception)">
            <summary>
            Creates a new instance of the ConfigurationException class with the specified message
            and root cause.
            </summary>
            <param name="message">
            A message about the exception.
            </param>
            <param name="rootCause">
            The root exception that is being wrapped.
            </param>
        </member>
        <member name="M:Common.Logging.ConfigurationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Creates a new instance of the ConfigurationException class.
            </summary>
            <param name="info">
            The <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            that holds the serialized object data about the exception being thrown.
            </param>
            <param name="context">
            The <see cref="T:System.Runtime.Serialization.StreamingContext"/>
            that contains contextual information about the source or destination.
            </param>
        </member>
        <member name="T:Common.Logging.Configuration.ArgUtils">
            <summary>
            Various utility methods for using during factory and logger instance configuration
            </summary>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.#cctor">
            <summary>
            Initialize all members before any of this class' methods can be accessed (avoids beforeFieldInit)
            </summary>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.RegisterTypeParser``1(Common.Logging.Configuration.ArgUtils.ParseHandler{``0})">
            <summary>
            Adds the parser to the list of known type parsers.
            </summary>
            <remarks>
            .NET intrinsic types are pre-registerd: short, int, long, float, double, decimal, bool
            </remarks>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.GetValue(Common.Logging.Configuration.NameValueCollection,System.String)">
            <summary>
            Retrieves the named value from the specified <see cref="T:Common.Logging.Configuration.NameValueCollection"/>.
            </summary>
            <param name="values">may be null</param>
            <param name="key">the value's key</param>
            <returns>if <paramref key="values"/> is not null, the value returned by values[key]. <c>null</c> otherwise.</returns>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.GetValue(Common.Logging.Configuration.NameValueCollection,System.String,System.String)">
            <summary>
            Retrieves the named value from the specified <see cref="T:Common.Logging.Configuration.NameValueCollection"/>.
            </summary>
            <param name="values">may be null</param>
            <param name="key">the value's key</param>
            <param name="defaultValue">the default value, if not found</param>
            <returns>if <paramref key="values"/> is not null, the value returned by values[key]. <c>null</c> otherwise.</returns>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.Coalesce(System.String[])">
            <summary>
            Returns the first nonnull, nonempty value among its arguments.
            </summary>
            <remarks>
            Returns <c>null</c>, if the initial list was null or empty.
            </remarks>
            <seealso cref="M:Common.Logging.Configuration.ArgUtils.Coalesce``1(System.Predicate{``0},``0[])"/>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.Coalesce``1(System.Predicate{``0},``0[])">
            <summary>
            Returns the first nonnull, nonempty value among its arguments.
            </summary>
            <remarks>
            Also
            </remarks>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.TryParseEnum``1(``0,System.String)">
            <summary>
            Tries parsing <paramref key="stringValue"/> into an enum of the type of <paramref key="defaultValue"/>.
            </summary>
            <param name="defaultValue">the default value to return if parsing fails</param>
            <param name="stringValue">the string value to parse</param>
            <returns>the successfully parsed value, <paramref key="defaultValue"/> otherwise.</returns>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.TryParse``1(``0,System.String)">
            <summary>
            Tries parsing <paramref key="stringValue"/> into the specified return type.
            </summary>
            <param name="defaultValue">the default value to return if parsing fails</param>
            <param name="stringValue">the string value to parse</param>
            <returns>the successfully parsed value, <paramref key="defaultValue"/> otherwise.</returns>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.AssertNotNull``1(System.String,``0)">
            <summary>
            Throws a <see cref="T:System.ArgumentNullException"/> if <paramref key="val"/> is <c>null</c>.
            </summary>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.AssertNotNull``1(System.String,``0,System.String,System.Object[])">
            <summary>
            Throws a <see cref="T:System.ArgumentNullException"/> if <paramref key="val"/> is <c>null</c>.
            </summary>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.AssertIsAssignable``1(System.String,System.Type)">
            <summary>
            Throws a <see cref="T:System.ArgumentOutOfRangeException"/> if an object of type <paramref key="valType"/> is not
            assignable to type <typeparam key="T"></typeparam>.
            </summary>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.AssertIsAssignable``1(System.String,System.Type,System.String,System.Object[])">
            <summary>
            Throws a <see cref="T:System.ArgumentOutOfRangeException"/> if an object of type <paramref key="valType"/> is not
            assignable to type <typeparam key="T"></typeparam>.
            </summary>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.Guard(Common.Logging.Configuration.ArgUtils.Action,System.String,System.Object[])">
            <summary>
            Ensures any exception thrown by the given <paramref key="action"/> is wrapped with an
            <see cref="T:Common.Logging.ConfigurationException"/>.
            </summary>
            <remarks>
            If <paramref key="action"/> already throws a ConfigurationException, it will not be wrapped.
            </remarks>
            <param name="action">the action to execute</param>
            <param name="messageFormat">the message to be set on the thrown <see cref="T:Common.Logging.ConfigurationException"/></param>
            <param name="args">args to be passed to <see cref="M:System.String.Format(System.String,System.Object[])"/> to format the message</param>
        </member>
        <member name="M:Common.Logging.Configuration.ArgUtils.Guard``1(Common.Logging.Configuration.ArgUtils.Function{``0},System.String,System.Object[])">
            <summary>
            Ensures any exception thrown by the given <paramref key="function"/> is wrapped with an
            <see cref="T:Common.Logging.ConfigurationException"/>.
            </summary>
            <remarks>
            If <paramref key="function"/> already throws a ConfigurationException, it will not be wrapped.
            </remarks>
            <param name="function">the action to execute</param>
            <param name="messageFormat">the message to be set on the thrown <see cref="T:Common.Logging.ConfigurationException"/></param>
            <param name="args">args to be passed to <see cref="M:System.String.Format(System.String,System.Object[])"/> to format the message</param>
        </member>
        <member name="T:Common.Logging.Configuration.ArgUtils.ParseHandler`1">
            <summary>
            A delegate converting a string representation into the target type
            </summary>
        </member>
        <member name="T:Common.Logging.Configuration.ArgUtils.Action">
            <summary>
            An anonymous action delegate with no arguments and no return value.
            </summary>
            <seealso cref="M:Common.Logging.Configuration.ArgUtils.Guard(Common.Logging.Configuration.ArgUtils.Action,System.String,System.Object[])"/>
        </member>
        <member name="T:Common.Logging.Configuration.ArgUtils.Function`1">
            <summary>
            An anonymous action delegate with no arguments and no return value.
            </summary>
            <seealso cref="M:Common.Logging.Configuration.ArgUtils.Guard``1(Common.Logging.Configuration.ArgUtils.Function{``0},System.String,System.Object[])"/>
        </member>
        <member name="T:Common.Logging.Configuration.DefaultConfigurationReader">
            <summary>
            Implementation of <see cref="T:Common.Logging.IConfigurationReader"/> that uses the standard .NET
            configuration APIs, ConfigurationSettings in 1.x and ConfigurationManager in 2.0
            </summary>
            <author>Mark Pollack</author>
        </member>
        <member name="M:Common.Logging.Configuration.DefaultConfigurationReader.GetSection(System.String)">
            <summary>
            Parses the configuration section and returns the resulting object.
            Using the <c>System.Configuration.ConfigurationManager</c>
            </summary>
            <param name="sectionName">Name of the configuration section.</param>
            <returns>
            Object created by a corresponding <c>IConfigurationSectionHandler"</c>
            </returns>
            <remarks>
                <p>
            Primary purpose of this method is to allow us to parse and
            load configuration sections using the same API regardless
            of the .NET framework version.
            </p>
            </remarks>
        </member>
        <member name="T:Common.Logging.Configuration.LogSetting">
            <summary>
            Container used to hold configuration information from config file.
            </summary>
            <author>Gilles Bayon</author>
        </member>
        <member name="M:Common.Logging.Configuration.LogSetting.#ctor(System.Type,Common.Logging.Configuration.NameValueCollection)">
            <summary>
            </summary>
            <param name="factoryAdapterType">
            The <see cref="T:Common.Logging.ILoggerFactoryAdapter"/> type
            that will be used for creating <see cref="T:Common.Logging.ILog"/>
            </param>
            <param name="properties">
            Additional user supplied properties that are passed to the
            <paramref key="factoryAdapterType"/>'s constructor.
            </param>
        </member>
        <member name="P:Common.Logging.Configuration.LogSetting.FactoryAdapterType">
            <summary>
            The <see cref="T:Common.Logging.ILoggerFactoryAdapter"/> type that will be used for creating <see cref="T:Common.Logging.ILog"/>
            instances.
            </summary>
        </member>
        <member name="P:Common.Logging.Configuration.LogSetting.Properties">
            <summary>
            Additional user supplied properties that are passed to the <see cref="P:Common.Logging.Configuration.LogSetting.FactoryAdapterType"/>'s constructor.
            </summary>
        </member>
        <member name="T:Common.Logging.Configuration.NameValueCollection">
            <summary>
            Substitute NameValueCollection in System.Collections.Specialized.
            </summary>
        </member>
        <member name="M:Common.Logging.Configuration.NameValueCollection.#ctor">
            <summary>
            Creates a new instance of <seealso cref="T:Common.Logging.Configuration.NameValueCollection">NameValueCollection</seealso>.
            </summary>
        </member>
        <member name="M:Common.Logging.Configuration.NameValueCollection.GetValues(System.String)">
            <summary>
            Gets the values (only a single one) for the specified key (configuration name)
            </summary>
            <param name="key">The key.</param>
            <returns>an array with one value, or null if no value exist</returns>
        </member>
        <member name="P:Common.Logging.Configuration.NameValueCollection.Item(System.String)">
            <summary>
            Gets or sets the value with the specified key.
            </summary>
            <value>
            The value corrsponding to the key, or null if no value exist
            </value>
            <param name="key">The key.</param>
            <returns>value store for the key</returns>
        </member>
        <member name="T:Common.Logging.Configuration.NameValueCollectionHelper">
            <summary>
            Helper class for working with NameValueCollection
            </summary>
        </member>
        <member name="M:Common.Logging.Configuration.NameValueCollectionHelper.ToCommonLoggingCollection(System.Collections.Specialized.NameValueCollection)">
            <summary>
            Convert a <see cref="T:System.Collections.Specialized.NameValueCollection"/> into the corresponding
            common logging equivalent <see cref="T:Common.Logging.Configuration.NameValueCollection"/>
            </summary>
            <param name="properties">The properties.</param>
            <returns></returns>
        </member>
        <member name="T:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter">
            <summary>
            An implementation of <see cref="T:Common.Logging.ILoggerFactoryAdapter"/> that caches loggers handed out by this factory.
            </summary>
            <remarks>
            Implementors just need to override <see cref="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.CreateLogger(System.String)"/>.
            </remarks>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.#ctor">
            <summary>
            Creates a new instance, the logger cache being case-sensitive.
            </summary>
        </member>
        <member name="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.#ctor(System.Boolean)">
            <summary>
            Creates a new instance, the logger cache being <paramref key="caseSensitiveLoggerCache"/>.
            </summary>
            <param name="caseSensitiveLoggerCache"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.ClearLoggerCache">
            <summary>
            Purges all loggers from cache
            </summary>
        </member>
        <member name="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.CreateLogger(System.String)">
            <summary>
            Create the specified named logger instance
            </summary>
            <remarks>
            Derived factories need to implement this method to create the
            actual logger instance.
            </remarks>
        </member>
        <member name="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.GetLogger(System.Type)">
            <summary>
            Get a ILog instance by <see cref="T:System.Type"/>.
            </summary>
            <param name="type">Usually the <see cref="T:System.Type"/> of the current class.</param>
            <returns>
            An ILog instance either obtained from the internal cache or created by a call to <see cref="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.CreateLogger(System.String)"/>.
            </returns>
        </member>
        <member name="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.GetLogger(System.String)">
            <summary>
            Get a ILog instance by key.
            </summary>
            <param name="key">Usually a <see cref="T:System.Type"/>'s Name or FullName property.</param>
            <returns>
            An ILog instance either obtained from the internal cache or created by a call to <see cref="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.CreateLogger(System.String)"/>.
            </returns>
        </member>
        <member name="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.GetLoggerInternal(System.String)">
            <summary>
            Get or create a ILog instance by key.
            </summary>
            <param name="key">Usually a <see cref="T:System.Type"/>'s Name or FullName property.</param>
            <returns>
            An ILog instance either obtained from the internal cache or created by a call to <see cref="M:Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter.CreateLogger(System.String)"/>.
            </returns>
        </member>
        <member name="T:Common.Logging.Factory.AbstractLogger">
            <summary>
            Provides base implementation suitable for almost all logger adapters
            </summary>
            <author>Erich Eichinger</author>
        </member>
        <member name="F:Common.Logging.Factory.AbstractLogger.Write">
            <summary>
            Holds the method for writing a message to the log system.
            </summary>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.#ctor">
            <summary>
            Creates a new logger instance using <see cref="M:Common.Logging.Factory.AbstractLogger.WriteInternal(Common.Logging.LogLevel,System.Object,System.Exception)"/> for
            writing log events to the underlying log system.
            </summary>
            <seealso cref="M:Common.Logging.Factory.AbstractLogger.GetWriteHandler"/>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.GetWriteHandler">
            <summary>
            Override this method to use a different method than <see cref="M:Common.Logging.Factory.AbstractLogger.WriteInternal(Common.Logging.LogLevel,System.Object,System.Exception)"/>
            for writing log events to the underlying log system.
            </summary>
            <remarks>
            Usually you don't need to override thise method. The default implementation returns
            <c>null</c> to indicate that the default handler <see cref="M:Common.Logging.Factory.AbstractLogger.WriteInternal(Common.Logging.LogLevel,System.Object,System.Exception)"/> should be
            used.
            </remarks>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.WriteInternal(Common.Logging.LogLevel,System.Object,System.Exception)">
            <summary>
            Actually sends the message to the underlying log system.
            </summary>
            <param name="level">the level of this log event.</param>
            <param name="message">the message to log</param>
            <param name="exception">the exception to log (may be null)</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Trace(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Trace(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Trace"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.TraceFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.TraceFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.TraceFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.TraceFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Trace(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Trace(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Trace(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Trace(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Debug(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Debug(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Debug"/> level including
            the stack Debug of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack Debug.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.DebugFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.DebugFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.DebugFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Debug(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Debug(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Debug.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Debug(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Debug(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Debug.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Info(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Info(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Info"/> level including
            the stack Info of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack Info.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.InfoFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.InfoFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.InfoFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Info(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Info(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Info.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Info(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Info(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Info.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Warn(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Warn(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Warn"/> level including
            the stack Warn of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack Warn.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.WarnFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.WarnFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.WarnFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Warn(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Warn(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Warn.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Warn(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Warn(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Warn.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Error(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Error(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Error"/> level including
            the stack Error of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack Error.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Errorrmation.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.ErrorFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Errorrmation.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.ErrorFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.ErrorFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Error(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Error(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Error.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Error(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Error(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Error.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Fatal(System.Object)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <param name="message">The message object to log.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Fatal(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level including
            the stack Fatal of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack Fatal.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Fatalrmation.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.FatalFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Fatalrmation.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.FatalFormat(System.String,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.FatalFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of format arguments</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Fatal(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Fatal(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Fatal.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Fatal(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.Fatal(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
            </summary>
            <remarks>
            Using this method avoids the cost of creating a message and evaluating message arguments
            that probably won't be logged due to loglevel settings.
            </remarks>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Fatal.</param>
        </member>
        <member name="P:Common.Logging.Factory.AbstractLogger.IsTraceEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
            </summary>
            <remarks>
            Override this in your derived class to comply with the underlying logging system
            </remarks>
        </member>
        <member name="P:Common.Logging.Factory.AbstractLogger.IsDebugEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
            </summary>
            <remarks>
            Override this in your derived class to comply with the underlying logging system
            </remarks>
        </member>
        <member name="P:Common.Logging.Factory.AbstractLogger.IsInfoEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Info"/> level.
            </summary>
            <remarks>
            Override this in your derived class to comply with the underlying logging system
            </remarks>
        </member>
        <member name="P:Common.Logging.Factory.AbstractLogger.IsWarnEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
            </summary>
            <remarks>
            Override this in your derived class to comply with the underlying logging system
            </remarks>
        </member>
        <member name="P:Common.Logging.Factory.AbstractLogger.IsErrorEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Error"/> level.
            </summary>
            <remarks>
            Override this in your derived class to comply with the underlying logging system
            </remarks>
        </member>
        <member name="P:Common.Logging.Factory.AbstractLogger.IsFatalEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
            </summary>
            <remarks>
            Override this in your derived class to comply with the underlying logging system
            </remarks>
        </member>
        <member name="P:Common.Logging.Factory.AbstractLogger.GlobalVariablesContext">
            <summary>
            Returns the global context for variables
            </summary>
        </member>
        <member name="P:Common.Logging.Factory.AbstractLogger.ThreadVariablesContext">
            <summary>
            Returns the thread-specific context for variables
            </summary>
        </member>
        <member name="T:Common.Logging.Factory.AbstractLogger.FormatMessageCallbackFormattedMessage">
            <summary>
            Format message on demand.
            </summary>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.FormatMessageCallbackFormattedMessage.#ctor(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Factory.AbstractLogger.FormatMessageCallbackFormattedMessage"/> class.
            </summary>
            <param name="formatMessageCallback">The format message callback.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.FormatMessageCallbackFormattedMessage.#ctor(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Factory.AbstractLogger.FormatMessageCallbackFormattedMessage"/> class.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <param name="formatMessageCallback">The format message callback.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.FormatMessageCallbackFormattedMessage.ToString">
            <summary>
            Calls <see cref="F:Common.Logging.Factory.AbstractLogger.FormatMessageCallbackFormattedMessage.formatMessageCallback"/> and returns result.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Common.Logging.Factory.AbstractLogger.StringFormatFormattedMessage">
            <summary>
            Format string on demand.
            </summary>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.StringFormatFormattedMessage.#ctor(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Factory.AbstractLogger.StringFormatFormattedMessage"/> class.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <param name="message">The message.</param>
            <param name="args">The args.</param>
        </member>
        <member name="M:Common.Logging.Factory.AbstractLogger.StringFormatFormattedMessage.ToString">
            <summary>
            Runs <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> on supplied arguemnts.
            </summary>
            <returns>string</returns>
        </member>
        <member name="T:Common.Logging.Factory.AbstractLogger.WriteHandler">
            <summary>
            Represents a method responsible for writing a message to the log system.
            </summary>
        </member>
        <member name="T:Common.Logging.LogManager">
            <summary>
            Use the LogManager's <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/> or <see cref="M:Common.Logging.LogManager.GetLogger(System.Type)"/>
            methods to obtain <see cref="T:Common.Logging.ILog"/> instances for logging.
            </summary>
            <remarks>
            For configuring the underlying log system using application configuration, see the example
            at <c>System.Configuration.ConfigurationManager</c>
            For configuring programmatically, see the example section below.
            </remarks>
            <example>
            The example below shows the typical use of LogManager to obtain a reference to a logger
            and log an exception:
            <code>
            ILog log = LogManager.GetLogger(this.GetType());
            ...
            try
            {
              /* .... */
            }
            catch(Exception ex)
            {
              log.ErrorFormat("Hi {0}", ex, "dude");
            }
            </code>
            The example below shows programmatic configuration of the underlying log system:
            <code>
            // create properties
            NameValueCollection properties = new NameValueCollection();
            properties["showDateTime"] = "true";
            // set Adapter
            Common.Logging.LogManager.Adapter = new
            Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter(properties);
            </code>
            </example>
            <seealso cref="T:Common.Logging.ILog"/>
            <seealso cref="P:Common.Logging.LogManager.Adapter"/>
            <seealso cref="T:Common.Logging.ILoggerFactoryAdapter"/>
            <author>Gilles Bayon</author>
        </member>
        <member name="M:Common.Logging.LogManager.#cctor">
            <summary>
            Performs static 1-time init of LogManager by calling <see cref="M:Common.Logging.LogManager.Reset"/>
            </summary>
        </member>
        <member name="M:Common.Logging.LogManager.Reset">
            <summary>
            Reset the <see cref="N:Common.Logging"/> infrastructure to its default settings. This means, that configuration settings
            will be re-read from section <c>&lt;common/logging&gt;</c> of your <c>app.config</c>.
            </summary>
            <remarks>
            This is mainly used for unit testing, you wouldn't normally use this in your applications.<br/>
            <b>Note:</b><see cref="T:Common.Logging.ILog"/> instances already handed out from this LogManager are not(!) affected.
            Resetting LogManager only affects new instances being handed out.
            </remarks>
        </member>
        <member name="M:Common.Logging.LogManager.Reset(Common.Logging.IConfigurationReader)">
            <summary>
            Reset the <see cref="N:Common.Logging"/> infrastructure to its default settings. This means, that configuration settings
            will be re-read from section <c>&lt;common/logging&gt;</c> of your <c>app.config</c>.
            </summary>
            <remarks>
            This is mainly used for unit testing, you wouldn't normally use this in your applications.<br/>
            <b>Note:</b><see cref="T:Common.Logging.ILog"/> instances already handed out from this LogManager are not(!) affected.
            Resetting LogManager only affects new instances being handed out.
            </remarks>
            <param name="reader">
            the <see cref="T:Common.Logging.IConfigurationReader"/> instance to obtain settings for
            re-initializing the LogManager.
            </param>
        </member>
        <member name="M:Common.Logging.LogManager.GetCurrentClassLogger">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
            on the currently configured <see cref="P:Common.Logging.LogManager.Adapter"/> using the type of the calling class.
            </summary>
            <remarks>
            This method needs to inspect the <see cref="T:System.Diagnostics.StackTrace"/> in order to determine the calling
            class. This of course comes with a performance penalty, thus you shouldn't call it too
            often in your application.
            </remarks>
            <seealso cref="M:Common.Logging.LogManager.GetLogger(System.Type)"/>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.LogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.LogManager.Common#Logging#ILogManager#GetCurrentClassLogger">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
            on the currently configured <see cref="P:Common.Logging.LogManager.Adapter"/> using the type of the calling class.
            </summary>
            <remarks>
            This method needs to inspect the <see cref="T:System.Diagnostics.StackTrace"/> in order to determine the calling
            class. This of course comes with a performance penalty, thus you shouldn't call it too
            often in your application.
            </remarks>
            <seealso cref="M:Common.Logging.LogManager.GetLogger(System.Type)"/>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.LogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.LogManager.GetLogger``1">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
            on the currently configured <see cref="P:Common.Logging.LogManager.Adapter"/> using the specified type.
            </summary>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.LogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.LogManager.Common#Logging#ILogManager#GetLogger``1">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
            on the currently configured <see cref="P:Common.Logging.LogManager.Adapter"/> using the specified type.
            </summary>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.LogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.LogManager.GetLogger(System.Type)">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
            on the currently configured <see cref="P:Common.Logging.LogManager.Adapter"/> using the specified type.
            </summary>
            <param name="type">The type.</param>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.LogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.LogManager.Common#Logging#ILogManager#GetLogger(System.Type)">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
            on the currently configured <see cref="P:Common.Logging.LogManager.Adapter"/> using the specified type.
            </summary>
            <param name="type">The type.</param>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.LogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.LogManager.GetLogger(System.String)">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.String)"/>
            on the currently configured <see cref="P:Common.Logging.LogManager.Adapter"/> using the specified key.
            </summary>
            <param name="key">The key.</param>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.LogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.LogManager.Common#Logging#ILogManager#GetLogger(System.String)">
            <summary>
            Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.String)"/>
            on the currently configured <see cref="P:Common.Logging.LogManager.Adapter"/> using the specified key.
            </summary>
            <param name="key">The key.</param>
            <returns>the logger instance obtained from the current <see cref="P:Common.Logging.LogManager.Adapter"/></returns>
        </member>
        <member name="M:Common.Logging.LogManager.BuildLoggerFactoryAdapter">
            <summary>
            Builds the logger factory adapter.
            </summary>
            <returns>a factory adapter instance. Is never <c>null</c>.</returns>
        </member>
        <member name="M:Common.Logging.LogManager.BuildLoggerFactoryAdapterFromLogSettings(Common.Logging.Configuration.LogSetting)">
            <summary>
            Builds a <see cref="T:Common.Logging.ILoggerFactoryAdapter"/> instance from the given <see cref="T:Common.Logging.Configuration.LogSetting"/>
            using <see cref="T:System.Activator"/>.
            </summary>
            <param name="setting"></param>
            <returns>the <see cref="T:Common.Logging.ILoggerFactoryAdapter"/> instance. Is never <c>null</c></returns>
        </member>
        <member name="P:Common.Logging.LogManager.COMMON_LOGGING_SECTION">
            <summary>
            The key of the default configuration section to read settings from.
            </summary>
            <remarks>
            You can always change the source of your configuration settings by setting another <see cref="T:Common.Logging.IConfigurationReader"/> instance
            on <see cref="P:Common.Logging.LogManager.ConfigurationReader"/>.
            </remarks>
        </member>
        <member name="P:Common.Logging.LogManager.Common#Logging#ILogManager#COMMON_LOGGING_SECTION">
            <summary>
            The key of the default configuration section to read settings from.
            </summary>
            <remarks>
            You can always change the source of your configuration settings by setting another <see cref="T:Common.Logging.IConfigurationReader"/> instance
            on <see cref="P:Common.Logging.LogManager.ConfigurationReader"/>.
            </remarks>
        </member>
        <member name="P:Common.Logging.LogManager.ConfigurationReader">
            <summary>
            Gets the configuration reader used to initialize the LogManager.
            </summary>
            <remarks>Primarily used for testing purposes but maybe useful to obtain configuration
            information from some place other than the .NET application configuration file.</remarks>
            <value>The configuration reader.</value>
        </member>
        <member name="P:Common.Logging.LogManager.Common#Logging#ILogManager#ConfigurationReader">
            <summary>
            Gets the configuration reader used to initialize the LogManager.
            </summary>
            <remarks>Primarily used for testing purposes but maybe useful to obtain configuration
            information from some place other than the .NET application configuration file.</remarks>
            <value>The configuration reader.</value>
        </member>
        <member name="P:Common.Logging.LogManager.Adapter">
            <summary>
            Gets or sets the adapter.
            </summary>
            <value>The adapter.</value>
        </member>
        <member name="P:Common.Logging.LogManager.Common#Logging#ILogManager#Adapter">
            <summary>
            Gets or sets the adapter.
            </summary>
            <value>The adapter.</value>
        </member>
        <member name="T:Common.Logging.Simple.AbstractSimpleLogger">
            <summary>
            Abstract class providing a standard implementation of simple loggers.
            </summary>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Simple.AbstractSimpleLogger.#ctor(System.String,Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Creates and initializes a the simple logger.
            </summary>
            <param name="logName">The key, usually type key of the calling class, of the logger.</param>
            <param name="logLevel">The current logging threshold. Messages recieved that are beneath this threshold will not be logged.</param>
            <param name="showlevel">Include level in the log message.</param>
            <param name="showDateTime">Include the current time in the log message.</param>
            <param name="showLogName">Include the instance key in the log message.</param>
            <param name="dateTimeFormat">The date and time format to use in the log message.</param>
        </member>
        <member name="M:Common.Logging.Simple.AbstractSimpleLogger.FormatOutput(System.Text.StringBuilder,Common.Logging.LogLevel,System.Object,System.Exception)">
            <summary>
            Appends the formatted message to the specified <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <param name="stringBuilder">the <see cref="T:System.Text.StringBuilder"/> that receíves the formatted message.</param>
            <param name="level"></param>
            <param name="message"></param>
            <param name="e"></param>
        </member>
        <member name="M:Common.Logging.Simple.AbstractSimpleLogger.IsLevelEnabled(Common.Logging.LogLevel)">
            <summary>
            Determines if the given log level is currently enabled.
            </summary>
            <param name="level"></param>
            <returns></returns>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.Name">
            <summary>
            The key of the logger.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.ShowLevel">
            <summary>
            Include the current log level in the log message.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.ShowDateTime">
            <summary>
            Include the current time in the log message.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.ShowLogName">
            <summary>
            Include the instance key in the log message.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.CurrentLogLevel">
            <summary>
            The current logging threshold. Messages recieved that are beneath this threshold will not be logged.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.DateTimeFormat">
            <summary>
            The date and time format to use in the log message.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.HasDateTimeFormat">
            <summary>
            Determines Whether <see cref="P:Common.Logging.Simple.AbstractSimpleLogger.DateTimeFormat"/> is set.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.IsTraceEnabled">
            <summary>
            Returns <see langword="true"/> if the current <see cref="T:Common.Logging.LogLevel"/> is greater than or
            equal to <see cref="F:Common.Logging.LogLevel.Trace"/>. If it is, all messages will be sent to <see cref="P:System.Console.Out"/>.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.IsDebugEnabled">
            <summary>
            Returns <see langword="true"/> if the current <see cref="T:Common.Logging.LogLevel"/> is greater than or
            equal to <see cref="F:Common.Logging.LogLevel.Debug"/>. If it is, all messages will be sent to <see cref="P:System.Console.Out"/>.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.IsInfoEnabled">
            <summary>
            Returns <see langword="true"/> if the current <see cref="T:Common.Logging.LogLevel"/> is greater than or
            equal to <see cref="F:Common.Logging.LogLevel.Info"/>. If it is, only messages with a <see cref="T:Common.Logging.LogLevel"/> of
            <see cref="F:Common.Logging.LogLevel.Info"/>, <see cref="F:Common.Logging.LogLevel.Warn"/>, <see cref="F:Common.Logging.LogLevel.Error"/>, and
            <see cref="F:Common.Logging.LogLevel.Fatal"/> will be sent to <see cref="P:System.Console.Out"/>.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.IsWarnEnabled">
            <summary>
            Returns <see langword="true"/> if the current <see cref="T:Common.Logging.LogLevel"/> is greater than or
            equal to <see cref="F:Common.Logging.LogLevel.Warn"/>. If it is, only messages with a <see cref="T:Common.Logging.LogLevel"/> of
            <see cref="F:Common.Logging.LogLevel.Warn"/>, <see cref="F:Common.Logging.LogLevel.Error"/>, and <see cref="F:Common.Logging.LogLevel.Fatal"/>
            will be sent to <see cref="P:System.Console.Out"/>.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.IsErrorEnabled">
            <summary>
            Returns <see langword="true"/> if the current <see cref="T:Common.Logging.LogLevel"/> is greater than or
            equal to <see cref="F:Common.Logging.LogLevel.Error"/>. If it is, only messages with a <see cref="T:Common.Logging.LogLevel"/> of
            <see cref="F:Common.Logging.LogLevel.Error"/> and <see cref="F:Common.Logging.LogLevel.Fatal"/> will be sent to <see cref="P:System.Console.Out"/>.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLogger.IsFatalEnabled">
            <summary>
            Returns <see langword="true"/> if the current <see cref="T:Common.Logging.LogLevel"/> is greater than or
            equal to <see cref="F:Common.Logging.LogLevel.Fatal"/>. If it is, only messages with a <see cref="T:Common.Logging.LogLevel"/> of
            <see cref="F:Common.Logging.LogLevel.Fatal"/> will be sent to <see cref="P:System.Console.Out"/>.
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter">
            <summary>
            Base factory implementation for creating simple <see cref="T:Common.Logging.ILog"/> instances.
            </summary>
            <remarks>Default settings are LogLevel.All, showDateTime = true, showLogName = true, and no DateTimeFormat.
            The keys in the NameValueCollection to configure this adapter are the following
            <list type="bullet">
                <item>level</item>
                <item>showDateTime</item>
                <item>showLogName</item>
                <item>dateTimeFormat</item>
            </list>
            <example>
            Here is an example how to implement your own logging adapter:
            <code>
            public class ConsoleOutLogger : AbstractSimpleLogger
            {
              public ConsoleOutLogger(string logName, LogLevel logLevel, bool showLevel, bool showDateTime,
            bool showLogName, string dateTimeFormat)
                  : base(logName, logLevel, showLevel, showDateTime, showLogName, dateTimeFormat)
              {
              }
              protected override void WriteInternal(LogLevel level, object message, Exception e)
              {
                  // Use a StringBuilder for better performance
                  StringBuilder sb = new StringBuilder();
                  FormatOutput(sb, level, message, e);
                  // Print to the appropriate destination
                  Console.Out.WriteLine(sb.ToString());
              }
            }
            public class ConsoleOutLoggerFactoryAdapter : AbstractSimpleLoggerFactoryAdapter
            {
              public ConsoleOutLoggerFactoryAdapter(NameValueCollection properties)
                  : base(properties)
              { }
              protected override ILog CreateLogger(string key, LogLevel level, bool showLevel, bool
            showDateTime, bool showLogName, string dateTimeFormat)
              {
                  ILog log = new ConsoleOutLogger(key, level, showLevel, showDateTime, showLogName,
            dateTimeFormat);
                  return log;
              }
            }
            </code>
            </example>
            </remarks>
            <author>Gilles Bayon</author>
            <author>Mark Pollack</author>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter.#ctor(Common.Logging.Configuration.NameValueCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter"/> class.
            </summary>
            <remarks>
            Looks for level, showDateTime, showLogName, dateTimeFormat items from
            <paramref key="properties"/> for use when the GetLogger methods are called.
            <c>System.Configuration.ConfigurationManager</c> for more information on how to use the
            standard .NET application configuraiton file (App.config/Web.config)
            to configure this adapter.
            </remarks>
            <param name="properties">The key value collection, typically specified by the user in
            a configuration section named common/logging.</param>
        </member>
        <member name="M:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter.#ctor(Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter"/> class with
            default settings for the loggers created by this factory.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter.CreateLogger(System.String)">
            <summary>
            Create the specified logger instance
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter.CreateLogger(System.String,Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Derived factories need to implement this method to create the
            actual logger instance.
            </summary>
            <returns>a new logger instance. Must never be <c>null</c>!</returns>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter.Level">
            <summary>
            The default <see cref="T:Common.Logging.LogLevel"/> to use when creating new <see cref="T:Common.Logging.ILog"/> instances.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter.ShowLevel">
            <summary>
            The default setting to use when creating new <see cref="T:Common.Logging.ILog"/> instances.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter.ShowDateTime">
            <summary>
            The default setting to use when creating new <see cref="T:Common.Logging.ILog"/> instances.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter.ShowLogName">
            <summary>
            The default setting to use when creating new <see cref="T:Common.Logging.ILog"/> instances.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter.DateTimeFormat">
            <summary>
            The default setting to use when creating new <see cref="T:Common.Logging.ILog"/> instances.
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.CapturingLogger">
            <summary>
            A logger created by <see cref="T:Common.Logging.Simple.CapturingLoggerFactoryAdapter"/> that
            sends all log events to the owning adapter's <see cref="M:Common.Logging.Simple.CapturingLoggerFactoryAdapter.AddEvent(Common.Logging.Simple.CapturingLoggerEvent)"/>
            </summary>
            <author>Erich Eichinger</author>
        </member>
        <member name="F:Common.Logging.Simple.CapturingLogger.Owner">
            <summary>
            The adapter that created this logger instance.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLogger.Clear">
            <summary>
            Clears all captured events
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLogger.ClearLastEvent">
            <summary>
            Resets the <see cref="P:Common.Logging.Simple.CapturingLogger.LastEvent"/> to <c>null</c>.
            </summary>
        </member>
        <member name="F:Common.Logging.Simple.CapturingLogger.LoggerEvents">
            <summary>
            Holds the list of logged events.
            </summary>
            <remarks>
            To access this collection in a multithreaded application, put a lock on the list instance.
            </remarks>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLogger.AddEvent(Common.Logging.Simple.CapturingLoggerEvent)">
            <summary>
            <see cref="T:Common.Logging.Simple.CapturingLogger"/> instances send their captured log events to this method.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLogger.#ctor(Common.Logging.Simple.CapturingLoggerFactoryAdapter,System.String)">
            <summary>
            Create a new logger instance.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLogger.WriteInternal(Common.Logging.LogLevel,System.Object,System.Exception)">
            <summary>
            Create a new <see cref="T:Common.Logging.Simple.CapturingLoggerEvent"/> and send it to <see cref="M:Common.Logging.Simple.CapturingLoggerFactoryAdapter.AddEvent(Common.Logging.Simple.CapturingLoggerEvent)"/>
            </summary>
            <param name="level"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="P:Common.Logging.Simple.CapturingLogger.LastEvent">
            <summary>
            Holds the last log event received from any of this adapter's loggers.
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.CapturingLoggerEvent">
            <summary>
            A logging event captured by <see cref="T:Common.Logging.Simple.CapturingLogger"/>
            </summary>
            <author>Erich Eichinger</author>
        </member>
        <member name="F:Common.Logging.Simple.CapturingLoggerEvent.Source">
            <summary>
            The logger that logged this event
            </summary>
        </member>
        <member name="F:Common.Logging.Simple.CapturingLoggerEvent.Level">
            <summary>
            The level used to log this event
            </summary>
        </member>
        <member name="F:Common.Logging.Simple.CapturingLoggerEvent.MessageObject">
            <summary>
            The raw message object
            </summary>
        </member>
        <member name="F:Common.Logging.Simple.CapturingLoggerEvent.Exception">
            <summary>
            A logged exception
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLoggerEvent.#ctor(Common.Logging.Simple.CapturingLogger,Common.Logging.LogLevel,System.Object,System.Exception)">
            <summary>
            Create a new event instance
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.CapturingLoggerEvent.RenderedMessage">
            <summary>
            Retrieves the formatted message text
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.CapturingLoggerFactoryAdapter">
            <summary>
            An adapter, who's loggers capture all log events and send them to <see cref="M:Common.Logging.Simple.CapturingLoggerFactoryAdapter.AddEvent(Common.Logging.Simple.CapturingLoggerEvent)"/>.
            Retrieve the list of log events from <see cref="F:Common.Logging.Simple.CapturingLoggerFactoryAdapter.LoggerEvents"/>.
            </summary>
            <remarks>
            This logger factory is mainly for debugging and test purposes.
            <example>
            This is an example how you might use this adapter for testing:
            <code>
            // configure for capturing
            CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter();
            LogManager.Adapter = adapter;
            // reset capture state
            adapter.Clear();
            // log something
            ILog log = LogManager.GetCurrentClassLogger();
            log.DebugFormat("Current Time:{0}", DateTime.Now);
            // check logged data
            Assert.AreEqual(1, adapter.LoggerEvents.Count);
            Assert.AreEqual(LogLevel.Debug, adapter.LastEvent.Level);
            </code>
            </example>
            </remarks>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLoggerFactoryAdapter.Clear">
            <summary>
            Clears all captured events
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLoggerFactoryAdapter.ClearLastEvent">
            <summary>
            Resets the <see cref="P:Common.Logging.Simple.CapturingLoggerFactoryAdapter.LastEvent"/> to <c>null</c>.
            </summary>
        </member>
        <member name="F:Common.Logging.Simple.CapturingLoggerFactoryAdapter.LoggerEvents">
            <summary>
            Holds the list of logged events.
            </summary>
            <remarks>
            To access this collection in a multithreaded application, put a lock on the list instance.
            </remarks>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLoggerFactoryAdapter.AddEvent(Common.Logging.Simple.CapturingLoggerEvent)">
            <summary>
            <see cref="T:Common.Logging.Simple.CapturingLogger"/> instances send their captured log events to this method.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLoggerFactoryAdapter.GetLogger(System.Type)">
            <summary>
            Get a <see cref="T:Common.Logging.Simple.CapturingLogger"/> instance for the given type.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CapturingLoggerFactoryAdapter.GetLogger(System.String)">
            <summary>
            Get a <see cref="T:Common.Logging.Simple.CapturingLogger"/> instance for the given key.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.CapturingLoggerFactoryAdapter.LastEvent">
            <summary>
            Holds the last log event received from any of this adapter's loggers.
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.DebugOutLogger">
            <summary>
            Sends log messages to <see cref="T:System.Diagnostics.Debug"/>.
            </summary>
            <author>Gilles Bayon</author>
        </member>
        <member name="M:Common.Logging.Simple.DebugOutLogger.#ctor(System.String,Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Creates and initializes a logger that writes messages to <see cref="T:System.Diagnostics.Debug"/>.
            </summary>
            <param name="logName">The key, usually type key of the calling class, of the logger.</param>
            <param name="logLevel">The current logging threshold. Messages recieved that are beneath this threshold will not be logged.</param>
            <param name="showLevel">Include the current log level in the log message.</param>
            <param name="showDateTime">Include the current time in the log message.</param>
            <param name="showLogName">Include the instance key in the log message.</param>
            <param name="dateTimeFormat">The date and time format to use in the log message.</param>
        </member>
        <member name="M:Common.Logging.Simple.DebugOutLogger.WriteInternal(Common.Logging.LogLevel,System.Object,System.Exception)">
            <summary>
            Do the actual logging by constructing the log message using a <see cref="T:System.Text.StringBuilder"/> then
            sending the output to <see cref="P:System.Console.Out"/>.
            </summary>
            <param name="level">The <see cref="T:Common.Logging.LogLevel"/> of the message.</param>
            <param name="message">The log message.</param>
            <param name="e">An optional <see cref="T:System.Exception"/> associated with the message.</param>
        </member>
        <member name="T:Common.Logging.Simple.DebugLoggerFactoryAdapter">
            <summary>
            Factory for creating <see cref="T:Common.Logging.ILog"/> instances that write data using <see cref="M:System.Diagnostics.Debug.WriteLine(System.String)"/>.
            </summary>
            <remarks>
            <example>
            Below is an example how to configure this adapter:
            <code>
            &lt;configuration&gt;
              &lt;configSections&gt;
                &lt;sectionGroup key="common"&gt;
                  &lt;section key="logging"
                           type="Common.Logging.ConfigurationSectionHandler, Common.Logging"
                           requirePermission="false" /&gt;
                &lt;/sectionGroup&gt;
              &lt;/configSections&gt;
              &lt;common&gt;
                &lt;logging&gt;
                  &lt;factoryAdapter type="Common.Logging.Simple.DebugLoggerFactoryAdapter, Common.Logging"&gt;
                    &lt;arg key="level" value="ALL" /&gt;
                  &lt;/factoryAdapter&gt;
                &lt;/logging&gt;
              &lt;/common&gt;
            &lt;/configuration&gt;
            </code>
            </example>
            </remarks>
            <seealso cref="T:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter"/>
            <author>Gilles Bayon</author>
            <author>Mark Pollack</author>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Simple.DebugLoggerFactoryAdapter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.DebugLoggerFactoryAdapter"/> class using default
            settings.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.DebugLoggerFactoryAdapter.#ctor(Common.Logging.Configuration.NameValueCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.DebugLoggerFactoryAdapter"/> class.
            </summary>
            <remarks>
            Looks for level, showDateTime, showLogName, dateTimeFormat items from
            <paramref key="properties"/> for use when the GetLogger methods are called.
            <see cref="T:System.Configuration.ConfigurationManager"/> for more information on how to use the
            standard .NET application configuraiton file (App.config/Web.config)
            to configure this adapter.
            </remarks>
            <param name="properties">The key value collection, typically specified by the user in
            a configuration section named common/logging.</param>
        </member>
        <member name="M:Common.Logging.Simple.DebugLoggerFactoryAdapter.#ctor(Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter"/> class with
            default settings for the loggers created by this factory.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.DebugLoggerFactoryAdapter.CreateLogger(System.String,Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Creates a new <see cref="T:Common.Logging.Simple.DebugOutLogger"/> instance.
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.ExceptionFormatter">
            <summary>
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.NoOpLogger">
            <summary>
            Silently ignores all log messages.
            </summary>
            <author>Gilles Bayon</author>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Trace(System.Object)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Trace(System.Object,System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
            <param name="e"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.TraceFormat(System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.TraceFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.TraceFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.TraceFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Trace(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Trace(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Trace(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Trace(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack trace.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Debug(System.Object)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Debug(System.Object,System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
            <param name="e"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.DebugFormat(System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.DebugFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.DebugFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Debug(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Debug(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Debug.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Debug(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Debug(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Debug.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Info(System.Object)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Info(System.Object,System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
            <param name="e"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.InfoFormat(System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.InfoFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.InfoFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Info(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Info(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Info.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Info(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Info(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Info.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Warn(System.Object)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Warn(System.Object,System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
            <param name="e"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.WarnFormat(System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.WarnFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.WarnFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Information.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Warn(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Warn(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Warn.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Warn(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Warn(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Warn.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Error(System.Object)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Error(System.Object,System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
            <param name="e"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.ErrorFormat(System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.ErrorFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Errorrmation.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.ErrorFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Errorrmation.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Error(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Error(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Error.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Error(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Error(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Error.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Fatal(System.Object)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Fatal(System.Object,System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="message"></param>
            <param name="e"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.FatalFormat(System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args"></param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.FatalFormat(System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Fatalrmation.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.FatalFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting Fatalrmation.</param>
            <param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
            <param name="exception">The exception to log.</param>
            <param name="args">the list of message format arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Fatal(System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Fatal(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Fatal.</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Fatal(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLogger.Fatal(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
            <summary>
            Ignores message.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
            <param name="exception">The exception to log, including its stack Fatal.</param>
        </member>
        <member name="P:Common.Logging.Simple.NoOpLogger.IsTraceEnabled">
            <summary>
            Always returns <see langword="false" />.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.NoOpLogger.IsDebugEnabled">
            <summary>
            Always returns <see langword="false" />.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.NoOpLogger.IsInfoEnabled">
            <summary>
            Always returns <see langword="false" />.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.NoOpLogger.IsWarnEnabled">
            <summary>
            Always returns <see langword="false" />.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.NoOpLogger.IsErrorEnabled">
            <summary>
            Always returns <see langword="false" />.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.NoOpLogger.IsFatalEnabled">
            <summary>
            Always returns <see langword="false" />.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.NoOpLogger.GlobalVariablesContext">
            <summary>
            Returns the global context for variables
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.NoOpLogger.ThreadVariablesContext">
            <summary>
            Returns the thread-specific context for variables
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.NoOpLoggerFactoryAdapter">
            <summary>
            Factory for creating <see cref="T:Common.Logging.ILog"/> instances that silently ignores
            logging requests.
            </summary>
            <remarks>
            This logger adapter is the default used by Common.Logging if unconfigured. Using this logger adapter is the most efficient
            way to suppress any logging output.
            <example>
            Below is an example how to configure this adapter:
            <code>
            &lt;configuration&gt;
              &lt;configSections&gt;
                &lt;sectionGroup key="common"&gt;
                  &lt;section key="logging"
                           type="Common.Logging.ConfigurationSectionHandler, Common.Logging"
                           requirePermission="false" /&gt;
                &lt;/sectionGroup&gt;
              &lt;/configSections&gt;
              &lt;common&gt;
                &lt;logging&gt;
                  &lt;factoryAdapter type="Common.Logging.Simple.NoOpLoggerFactoryAdapter, Common.Logging"&gt;
                    &lt;arg key="level" value="ALL" /&gt;
                  &lt;/factoryAdapter&gt;
                &lt;/logging&gt;
              &lt;/common&gt;
            &lt;/configuration&gt;
            </code>
            </example>
            </remarks>
            <author>Gilles Bayon</author>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLoggerFactoryAdapter.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLoggerFactoryAdapter.#ctor(Common.Logging.Configuration.NameValueCollection)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLoggerFactoryAdapter.GetLogger(System.Type)">
            <summary>
            Get a ILog instance by type
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Common.Logging.Simple.NoOpLoggerFactoryAdapter.Common#Logging#ILoggerFactoryAdapter#GetLogger(System.String)">
            <summary>
            Get a ILog instance by type key
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="T:Common.Logging.Simple.NoOpVariablesContext">
            <summary>
            A null-functionality implementation of <see cref="T:Common.Logging.IVariablesContext"/>
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.NoOpVariablesContext.Set(System.String,System.Object)">
            <summary>
            Sets the value of a new or existing variable within the global context
            </summary>
            <param name="key">The key of the variable that is to be added</param>
            <param name="value">The value to add</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpVariablesContext.Get(System.String)">
            <summary>
            Gets the value of a variable within the global context
            </summary>
            <param name="key">The key of the variable to get</param>
            <returns>The value or null if not found</returns>
        </member>
        <member name="M:Common.Logging.Simple.NoOpVariablesContext.Contains(System.String)">
            <summary>
            Checks if a variable is set within the global context
            </summary>
            <param name="key">The key of the variable to check for</param>
            <returns>True if the variable is set</returns>
        </member>
        <member name="M:Common.Logging.Simple.NoOpVariablesContext.Remove(System.String)">
            <summary>
            Removes a variable from the global context by key
            </summary>
            <param name="key">The key of the variable to remove</param>
        </member>
        <member name="M:Common.Logging.Simple.NoOpVariablesContext.Clear">
            <summary>
            Clears the global context variables
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.CommonLoggingTraceListener">
            <summary>
            A <see cref="T:System.Diagnostics.TraceListener"/> implementation sending all <see cref="T:System.Diagnostics.Trace">System.Diagnostics.Trace</see> output to
            the Common.Logging infrastructure.
            </summary>
            <remarks>
            This listener captures all output sent by calls to <see cref="T:System.Diagnostics.Trace">System.Diagnostics.Trace</see> and
            and <see cref="T:System.Diagnostics.TraceSource"/> and sends it to an <see cref="T:Common.Logging.ILog"/> instance.<br/>
            The <see cref="T:Common.Logging.ILog"/> instance to be used is obtained by calling
            <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>. The name of the logger is created by passing
            this listener's <see cref="P:System.Diagnostics.TraceListener.Name"/> and any <c>source</c> or <c>category</c> passed
            into this listener (see <see cref="M:System.Diagnostics.TraceListener.WriteLine(System.Object,System.String)"/> or <see cref="M:System.Diagnostics.TraceListener.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.String,System.Object[])"/> for example).
            </remarks>
            <example>
            The snippet below shows how to add and configure this listener to your app.config:
            <code lang="XML">
            &lt;system.diagnostics&gt;
              &lt;sharedListeners&gt;
                &lt;add name="Diagnostics"
                     type="Common.Logging.Simple.CommonLoggingTraceListener, Common.Logging"
                     initializeData="DefaultTraceEventType=Information; LoggerNameFormat={listenerName}.{sourceName}"&gt;
                  &lt;filter type="System.Diagnostics.EventTypeFilter" initializeData="Information"/&gt;
                &lt;/add&gt;
              &lt;/sharedListeners&gt;
              &lt;trace&gt;
                &lt;listeners&gt;
                  &lt;add name="Diagnostics" /&gt;
                &lt;/listeners&gt;
              &lt;/trace&gt;
            &lt;/system.diagnostics&gt;
            </code>
            </example>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.#ctor">
            <summary>
            Creates a new instance with the default name "Diagnostics" and <see cref="T:Common.Logging.LogLevel"/> "Trace".
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.#ctor(System.String)">
            <summary>
            Creates a new instance initialized with properties from the <paramref name="initializeData"/>. string.
            </summary>
            <remarks>
            <paramref name="initializeData"/> is a semicolon separated string of name/value pairs, where each pair has
            the form <c>key=value</c>. E.g.
            "<c>Name=MyLoggerName;LogLevel=Debug</c>"
            </remarks>
            <param name="initializeData">a semicolon separated list of name/value pairs.</param>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.#ctor(System.Collections.Specialized.NameValueCollection)">
            <summary>
            Creates a new instance initialized with the specified properties.
            </summary>
            <param name="properties">name/value configuration properties.</param>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.Log(System.Diagnostics.TraceEventType,System.String,System.Int32,System.String,System.Object[])">
            <summary>
            Logs the given message to the Common.Logging infrastructure.
            </summary>
            <param name="eventType">the eventType</param>
            <param name="source">the <see cref="T:System.Diagnostics.TraceSource"/> name or category name passed into e.g. <see cref="M:System.Diagnostics.Trace.Write(System.Object,System.String)"/>.</param>
            <param name="id">the id of this event</param>
            <param name="format">the message format</param>
            <param name="args">the message arguments</param>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.Write(System.Object)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.Write(System.Object,System.String)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.Write(System.String)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.Write(System.String,System.String)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.WriteLine(System.Object)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.WriteLine(System.Object,System.String)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.WriteLine(System.String)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.WriteLine(System.String,System.String)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.String)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.String,System.Object[])">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.TraceData(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.Object[])">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.CommonLoggingTraceListener.TraceData(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.Object)">
            <summary>
            Writes message to logger provided by <see cref="M:Common.Logging.LogManager.GetLogger(System.String)"/>
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.CommonLoggingTraceListener.DefaultTraceEventType">
            <summary>
            Sets the default <see cref="T:System.Diagnostics.TraceEventType"/> to use for logging
            all events emitted by <see cref="T:System.Diagnostics.Trace"/><c>.Write(...)</c> and
            <see cref="T:System.Diagnostics.Trace"/><c>.WriteLine(...)</c> methods.
            </summary>
            <remarks>
            This listener captures all output sent by calls to <see cref="T:System.Diagnostics.Trace"/> and
            sends it to an <see cref="T:Common.Logging.ILog"/> instance using the <see cref="T:Common.Logging.LogLevel"/> specified
            on <see cref="T:Common.Logging.LogLevel"/>.
            </remarks>
        </member>
        <member name="P:Common.Logging.Simple.CommonLoggingTraceListener.LoggerNameFormat">
            <summary>
            Format to use for creating the logger name. Defaults to "{listenerName}.{sourceName}".
            </summary>
            <remarks>
            Available placeholders are:
            <list type="bullet">
            <item>{listenerName}: the configured name of this listener instance.</item>
            <item>{sourceName}: the trace source name an event originates from (see e.g. <see cref="M:System.Diagnostics.TraceListener.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.String,System.Object[])"/>.</item>
            </list>
            </remarks>
        </member>
        <member name="T:Common.Logging.ConfigurationSectionHandler">
            <summary>
            Used in an application's configuration file (App.Config or Web.Config) to configure the logging subsystem.
            </summary>
            <example>
            An example configuration section that writes log messages to the Console using the
            built-in Console Logger.
            <code lang="XML">
            &lt;configuration&gt;
                &lt;configSections&gt;
                  &lt;sectionGroup name=&quot;common&quot;&gt;
                    &lt;section name=&quot;logging&quot; type=&quot;Common.Logging.ConfigurationSectionHandler, Common.Logging&quot; /&gt;
                  &lt;/sectionGroup&gt;
                &lt;/configSections&gt;
                &lt;common&gt;
                  &lt;logging&gt;
                    &lt;factoryAdapter type=&quot;Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging&quot;&gt;
                      &lt;arg key=&quot;showLogName&quot; value=&quot;true&quot; /&gt;
                      &lt;arg key=&quot;showDateTime&quot; value=&quot;true&quot; /&gt;
                      &lt;arg key=&quot;level&quot; value=&quot;ALL&quot; /&gt;
                      &lt;arg key=&quot;dateTimeFormat&quot; value=&quot;yyyy/MM/dd HH:mm:ss:fff&quot; /&gt;
                    &lt;/factoryAdapter&gt;
                  &lt;/logging&gt;
                &lt;/common&gt;
            &lt;/configuration&gt;
            </code>
            </example>
        </member>
        <member name="M:Common.Logging.ConfigurationSectionHandler.#cctor">
            <summary>
            Ensure static fields get initialized before any class member
            can be accessed (avoids beforeFieldInit)
            </summary>
        </member>
        <member name="M:Common.Logging.ConfigurationSectionHandler.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Common.Logging.ConfigurationSectionHandler.ReadConfiguration(System.Xml.XmlNode)">
            <summary>
            Retrieves the <see cref="T:System.Type"/> of the logger the use by looking at the logFactoryAdapter element
            of the logging configuration element.
            </summary>
            <param name="section"></param>
            <returns>
            A <see cref="T:Common.Logging.Configuration.LogSetting"/> object containing the specified type that implements
            <see cref="T:Common.Logging.ILoggerFactoryAdapter"/> along with zero or more properties that will be
            passed to the logger factory adapter's constructor as an <see cref="T:System.Collections.IDictionary"/>.
            </returns>
        </member>
        <member name="M:Common.Logging.ConfigurationSectionHandler.Create(Common.Logging.Configuration.LogSetting,System.Object,System.Xml.XmlNode)">
            <summary>
            Verifies that the logFactoryAdapter element appears once in the configuration section.
            </summary>
            <param name="parent">settings of a parent section - atm this must always be null</param>
            <param name="configContext">Additional information about the configuration process.</param>
            <param name="section">The configuration section to apply an XPath query too.</param>
            <returns>
            A <see cref="T:Common.Logging.Configuration.LogSetting"/> object containing the specified logFactoryAdapter type
            along with user supplied configuration properties.
            </returns>
        </member>
        <member name="M:Common.Logging.ConfigurationSectionHandler.System#Configuration#IConfigurationSectionHandler#Create(System.Object,System.Object,System.Xml.XmlNode)">
            <summary>
            Verifies that the logFactoryAdapter element appears once in the configuration section.
            </summary>
            <param name="parent">The parent of the current item.</param>
            <param name="configContext">Additional information about the configuration process.</param>
            <param name="section">The configuration section to apply an XPath query too.</param>
            <returns>
            A <see cref="T:Common.Logging.Configuration.LogSetting"/> object containing the specified logFactoryAdapter type
            along with user supplied configuration properties.
            </returns>
        </member>
        <member name="T:Common.Logging.Simple.ConsoleOutLogger">
            <summary>
            Sends log messages to <see cref="P:System.Console.Out"/>.
            </summary>
            <author>Gilles Bayon</author>
        </member>
        <member name="M:Common.Logging.Simple.ConsoleOutLogger.#ctor(System.String,Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Creates and initializes a logger that writes messages to <see cref="P:System.Console.Out"/>.
            </summary>
            <param name="logName">The name, usually type name of the calling class, of the logger.</param>
            <param name="logLevel">The current logging threshold. Messages recieved that are beneath this threshold will not be logged.</param>
            <param name="showLevel">Include the current log level in the log message.</param>
            <param name="showDateTime">Include the current time in the log message.</param>
            <param name="showLogName">Include the instance name in the log message.</param>
            <param name="dateTimeFormat">The date and time format to use in the log message.</param>
        </member>
        <member name="M:Common.Logging.Simple.ConsoleOutLogger.#ctor(System.String,Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String,System.Boolean)">
            <summary>
            Creates and initializes a logger that writes messages to <see cref="P:System.Console.Out"/>.
            </summary>
            <param name="logName">The name, usually type name of the calling class, of the logger.</param>
            <param name="logLevel">The current logging threshold. Messages recieved that are beneath this threshold will not be logged.</param>
            <param name="showLevel">Include the current log level in the log message.</param>
            <param name="showDateTime">Include the current time in the log message.</param>
            <param name="showLogName">Include the instance name in the log message.</param>
            <param name="dateTimeFormat">The date and time format to use in the log message.</param>
            <param name="useColor">Use color when writing the log message.</param>
        </member>
        <member name="M:Common.Logging.Simple.ConsoleOutLogger.WriteInternal(Common.Logging.LogLevel,System.Object,System.Exception)">
            <summary>
            Do the actual logging by constructing the log message using a <see cref="T:System.Text.StringBuilder"/> then
            sending the output to <see cref="P:System.Console.Out"/>.
            </summary>
            <param name="level">The <see cref="T:Common.Logging.LogLevel"/> of the message.</param>
            <param name="message">The log message.</param>
            <param name="e">An optional <see cref="T:System.Exception"/> associated with the message.</param>
        </member>
        <member name="T:Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter">
            <summary>
            Factory for creating <see cref="T:Common.Logging.ILog"/> instances that write data to <see cref="P:System.Console.Out"/>.
            </summary>
            <remarks>
            <example>
            Below is an example how to configure this adapter:
            <code>
            &lt;configuration&gt;
              &lt;configSections&gt;
                &lt;sectionGroup name="common"&gt;
                  &lt;section name="logging"
                           type="Common.Logging.ConfigurationSectionHandler, Common.Logging"
                           requirePermission="false" /&gt;
                &lt;/sectionGroup&gt;
              &lt;/configSections&gt;
              &lt;common&gt;
                &lt;logging&gt;
                  &lt;factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging"&gt;
                    &lt;arg key="level" value="ALL" /&gt;
                  &lt;/factoryAdapter&gt;
                &lt;/logging&gt;
              &lt;/common&gt;
            &lt;/configuration&gt;
            </code>
            </example>
            </remarks>
            <seealso cref="T:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter"/>
            <seealso cref="P:Common.Logging.LogManager.Adapter"/>
            <seealso cref="T:Common.Logging.ConfigurationSectionHandler"/>
            <author>Gilles Bayon</author>
            <author>Mark Pollack</author>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter"/> class using default
            settings.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter.#ctor(Common.Logging.Configuration.NameValueCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter"/> class.
            </summary>
            <remarks>
            Looks for level, showDateTime, showLogName, dateTimeFormat items from
            <paramref name="properties"/> for use when the GetLogger methods are called.
            <see cref="T:Common.Logging.ConfigurationSectionHandler"/> for more information on how to use the
            standard .NET application configuraiton file (App.config/Web.config)
            to configure this adapter.
            </remarks>
            <param name="properties">The name value collection, typically specified by the user in
            a configuration section named common/logging.</param>
        </member>
        <member name="M:Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter.#ctor(System.Collections.Specialized.NameValueCollection)">
            <summary>
            Constructor for binary backwards compatibility with non-portableversions
            </summary>
            <param name="properties">The properties.</param>
        </member>
        <member name="M:Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter.#ctor(Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter"/> class with
            default settings for the loggers created by this factory.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter.#ctor(Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter"/> class with
            default settings for the loggers created by this factory.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter.CreateLogger(System.String,Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Creates a new <see cref="T:Common.Logging.Simple.ConsoleOutLogger"/> instance.
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.TraceLogger">
            <summary>
            Logger sending everything to the trace output stream using <see cref="T:System.Diagnostics.Trace"/>.
            </summary>
            <remarks>
            Beware not to use <see cref="T:Common.Logging.Simple.CommonLoggingTraceListener"/> in combination with this logger as
            this would result in an endless loop for obvious reasons!
            </remarks>
            <seealso cref="P:Common.Logging.LogManager.Adapter"/>
            <seealso cref="T:Common.Logging.ConfigurationSectionHandler"/>
            <author>Gilles Bayon</author>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Simple.TraceLogger.#ctor(System.Boolean,System.String,Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Creates a new TraceLogger instance.
            </summary>
            <param name="useTraceSource">whether to use <see cref="T:System.Diagnostics.TraceSource"/> or <see cref="T:System.Diagnostics.Trace"/> for logging.</param>
            <param name="logName">the name of this logger</param>
            <param name="logLevel">the default log level to use</param>
            <param name="showLevel">Include the current log level in the log message.</param>
            <param name="showDateTime">Include the current time in the log message.</param>
            <param name="showLogName">Include the instance name in the log message.</param>
            <param name="dateTimeFormat">The date and time format to use in the log message.</param>
        </member>
        <member name="M:Common.Logging.Simple.TraceLogger.IsLevelEnabled(Common.Logging.LogLevel)">
            <summary>
            Determines if the given log level is currently enabled.
            checks <see cref="P:System.Diagnostics.TraceSource.Switch"/> if <see cref="P:Common.Logging.Simple.TraceLoggerFactoryAdapter.UseTraceSource"/> is true.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.TraceLogger.WriteInternal(Common.Logging.LogLevel,System.Object,System.Exception)">
            <summary>
            Do the actual logging.
            </summary>
            <param name="level"></param>
            <param name="message"></param>
            <param name="e"></param>
        </member>
        <member name="M:Common.Logging.Simple.TraceLogger.OnDeserialization(System.Object)">
            <summary>
            Called after deserialization completed.
            </summary>
        </member>
        <member name="T:Common.Logging.Simple.TraceLogger.FormatOutputMessage">
            <summary>
            Used to defer message formatting until it is really needed.
            </summary>
            <remarks>
            This class also improves performance when multiple
            <see cref="T:System.Diagnostics.TraceListener"/>s are configured.
            </remarks>
        </member>
        <member name="T:Common.Logging.Simple.TraceLoggerFactoryAdapter">
            <summary>
            Factory for creating <see cref="T:Common.Logging.ILog"/> instances that send
            everything to the <see cref="T:System.Diagnostics.Trace"/> output stream.
            </summary>
            <remarks>
            Beware not to use <see cref="T:Common.Logging.Simple.CommonLoggingTraceListener"/> in combination with this logger factory
            as this would result in an endless loop for obvious reasons!
            <example>
            Below is an example how to configure this adapter:
            <code>
            &lt;configuration&gt;
              &lt;configSections&gt;
                &lt;sectionGroup name="common"&gt;
                  &lt;section name="logging"
                           type="Common.Logging.ConfigurationSectionHandler, Common.Logging"
                           requirePermission="false" /&gt;
                &lt;/sectionGroup&gt;
              &lt;/configSections&gt;
              &lt;common&gt;
                &lt;logging&gt;
                  &lt;factoryAdapter type="Common.Logging.Simple.TraceLoggerFactoryAdapter, Common.Logging"&gt;
                    &lt;arg key="level" value="ALL" /&gt;
                  &lt;/factoryAdapter&gt;
                &lt;/logging&gt;
              &lt;/common&gt;
            &lt;/configuration&gt;
            </code>
            </example>
            </remarks>
            <seealso cref="T:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter"/>
            <seealso cref="P:Common.Logging.LogManager.Adapter"/>
            <seealso cref="T:Common.Logging.ConfigurationSectionHandler"/>
            <author>Gilles Bayon</author>
            <author>Mark Pollack</author>
            <author>Erich Eichinger</author>
        </member>
        <member name="M:Common.Logging.Simple.TraceLoggerFactoryAdapter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.TraceLoggerFactoryAdapter"/> class using default settings.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.TraceLoggerFactoryAdapter.#ctor(Common.Logging.Configuration.NameValueCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.TraceLoggerFactoryAdapter"/> class.
            </summary>
            <remarks>
            Looks for level, showDateTime, showLogName, dateTimeFormat items from
            <paramref name="properties"/> for use when the GetLogger methods are called.
            <see cref="T:Common.Logging.ConfigurationSectionHandler"/> for more information on how to use the
            standard .NET application configuraiton file (App.config/Web.config)
            to configure this adapter.
            </remarks>
            <param name="properties">The name value collection, typically specified by the user in
            a configuration section named common/logging.</param>
        </member>
        <member name="M:Common.Logging.Simple.TraceLoggerFactoryAdapter.#ctor(Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Common.Logging.Simple.AbstractSimpleLoggerFactoryAdapter"/> class with
            default settings for the loggers created by this factory.
            </summary>
        </member>
        <member name="M:Common.Logging.Simple.TraceLoggerFactoryAdapter.CreateLogger(System.String,Common.Logging.LogLevel,System.Boolean,System.Boolean,System.Boolean,System.String)">
            <summary>
            Creates a new <see cref="T:Common.Logging.Simple.TraceLogger"/> instance.
            </summary>
        </member>
        <member name="P:Common.Logging.Simple.TraceLoggerFactoryAdapter.UseTraceSource">
            <summary>
            Whether to use <see cref="T:System.Diagnostics.Trace"/>.<c>TraceXXXX(string,object[])</c> methods for logging
            or <see cref="T:System.Diagnostics.TraceSource"/>.
            </summary>
        </member>
    </members>
</doc>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/EntityFramework.SqlServer.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/EntityFramework.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Interop.OPCAutomation.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Newtonsoft.Json.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Newtonsoft.Json.xml
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/OpcAccess.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Pager.XML
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Pager</name>
    </assembly>
    <members>
        <member name="M:Pager.PagerControl.btnFirst_Click(System.Object,System.EventArgs)">
            <summary>
            é¦–页
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="F:Pager.PagerControl.components">
            <summary>
            å¿…需的设计器变量。
            </summary>
        </member>
        <member name="M:Pager.PagerControl.Dispose(System.Boolean)">
            <summary>
            æ¸…理所有正在使用的资源。
            </summary>
            <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        </member>
        <member name="M:Pager.PagerControl.InitializeComponent">
            <summary>
            è®¾è®¡å™¨æ”¯æŒæ‰€éœ€çš„æ–¹æ³• - ä¸è¦
            ä½¿ç”¨ä»£ç ç¼–辑器修改此方法的内容。
            </summary>
        </member>
        <member name="P:Pager.PagerControl.Record">
            <summary>
            æ€»è®°å½•æ•°
            </summary>
        </member>
        <member name="P:Pager.PagerControl.PageSize">
            <summary>
            æ¯é¡µæ¡æ•°
            </summary>
        </member>
        <member name="P:Pager.PagerControl.CurrentPage">
            <summary>
            å½“前页
            </summary>
        </member>
        <member name="P:Pager.PagerControl.PageNum">
            <summary>
            æ€»é¡µç 
            </summary>
        </member>
        <member name="E:Pager.PagerControl.BindSource">
            <summary>
            ç»‘定数据源事件
            </summary>
        </member>
    </members>
</doc>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/Pager.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/TwinCAT.Ads.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/TwinCatAdsAccess.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/WZ.Useful.Commons.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/log4net.dll
Binary files differ
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/DLL/log4net.xml
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Properties/AssemblyInfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// æœ‰å…³ç¨‹åºé›†çš„一般信息由以下
// æŽ§åˆ¶ã€‚更改这些特性值可修改
// ä¸Žç¨‹åºé›†å…³è”的信息。
[assembly: AssemblyTitle("iWareCommon")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("iWareCommon")]
[assembly: AssemblyCopyright("Copyright Â©  2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// å°† ComVisible è®¾ç½®ä¸º false ä¼šä½¿æ­¤ç¨‹åºé›†ä¸­çš„类型
//对 COM ç»„件不可见。如果需要从 COM è®¿é—®æ­¤ç¨‹åºé›†ä¸­çš„类型
//请将此类型的 ComVisible ç‰¹æ€§è®¾ç½®ä¸º true。
[assembly: ComVisible(false)]
// å¦‚果此项目向 COM å…¬å¼€ï¼Œåˆ™ä¸‹åˆ— GUID ç”¨äºŽç±»åž‹åº“çš„ ID
[assembly: Guid("3583fcf0-92c7-406c-ad78-9fb7c11293cf")]
// ç¨‹åºé›†çš„版本信息由下列四个值组成:
//
//      ä¸»ç‰ˆæœ¬
//      æ¬¡ç‰ˆæœ¬
//      ç”Ÿæˆå·
//      ä¿®è®¢å·
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Properties/Resources.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
//------------------------------------------------------------------------------
// <auto-generated>
//     æ­¤ä»£ç ç”±å·¥å…·ç”Ÿæˆã€‚
//     è¿è¡Œæ—¶ç‰ˆæœ¬:4.0.30319.42000
//
//     å¯¹æ­¤æ–‡ä»¶çš„æ›´æ”¹å¯èƒ½ä¼šå¯¼è‡´ä¸æ­£ç¡®çš„行为,并且如果
//     é‡æ–°ç”Ÿæˆä»£ç ï¼Œè¿™äº›æ›´æ”¹å°†ä¼šä¸¢å¤±ã€‚
// </auto-generated>
//------------------------------------------------------------------------------
namespace iWareCommon.Properties {
    using System;
    /// <summary>
    ///   ä¸€ä¸ªå¼ºç±»åž‹çš„资源类,用于查找本地化的字符串等。
    /// </summary>
    // æ­¤ç±»æ˜¯ç”± StronglyTypedResourceBuilder
    // ç±»é€šè¿‡ç±»ä¼¼äºŽ ResGen æˆ– Visual Studio çš„工具自动生成的。
    // è‹¥è¦æ·»åŠ æˆ–ç§»é™¤æˆå‘˜ï¼Œè¯·ç¼–è¾‘ .ResX æ–‡ä»¶ï¼Œç„¶åŽé‡æ–°è¿è¡Œ ResGen
    // (以 /str ä½œä¸ºå‘½ä»¤é€‰é¡¹),或重新生成 VS é¡¹ç›®ã€‚
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    internal class Resources {
        private static global::System.Resources.ResourceManager resourceMan;
        private static global::System.Globalization.CultureInfo resourceCulture;
        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
        internal Resources() {
        }
        /// <summary>
        ///   è¿”回此类使用的缓存的 ResourceManager å®žä¾‹ã€‚
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        internal static global::System.Resources.ResourceManager ResourceManager {
            get {
                if (object.ReferenceEquals(resourceMan, null)) {
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("iWareCommon.Properties.Resources", typeof(Resources).Assembly);
                    resourceMan = temp;
                }
                return resourceMan;
            }
        }
        /// <summary>
        ///   é‡å†™å½“前线程的 CurrentUICulture å±žæ€§ï¼Œå¯¹
        ///   ä½¿ç”¨æ­¤å¼ºç±»åž‹èµ„源类的所有资源查找执行重写。
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        internal static global::System.Globalization.CultureInfo Culture {
            get {
                return resourceCulture;
            }
            set {
                resourceCulture = value;
            }
        }
        /// <summary>
        ///   æŸ¥æ‰¾ç±»ä¼¼ C:\LOG_COMMON çš„æœ¬åœ°åŒ–字符串。
        /// </summary>
        internal static string LogDir {
            get {
                return ResourceManager.GetString("LogDir", resourceCulture);
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Properties/Resources.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <data name="LogDir" xml:space="preserve">
    <value>C:\LOG_COMMON</value>
  </data>
</root>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/AutoSizeFormClass.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace iWareCommon.Utils
{
    public class AutoSizeFormClass
    {
        //(1).声明结构,只记录窗体和其控件的初始位置和大小。
        public struct controlRect
        {
            public int Left;
            public int Top;
            public int Width;
            public int Height;
        }
        //(2).声明 1个对象
        //注意这里不能使用控件列表记录 List nCtrl;,因为控件的关联性,记录的始终是当前的大小。
        //      public List oldCtrl= new List();//这里将西文的大于小于号都过滤掉了,只能改为中文的,使用中要改回西文
        public List<controlRect> oldCtrl = new List<controlRect>();
        int ctrlNo = 0;//1;
        //(3). åˆ›å»ºä¸¤ä¸ªå‡½æ•°
        //(3.1)记录窗体和其控件的初始位置和大小,
        public void controllInitializeSize(Control mForm)
        {
            controlRect cR;
            cR.Left = mForm.Left; cR.Top = mForm.Top; cR.Width = mForm.Width; cR.Height = mForm.Height;
            oldCtrl.Add(cR);//第一个为"窗体本身",只加入一次即可
            AddControl(mForm);//窗体内其余控件还可能嵌套控件(比如panel),要单独抽出,因为要递归调用
            //this.WindowState = (System.Windows.Forms.FormWindowState)(2);//记录完控件的初始位置和大小后,再最大化
            //0 - Normalize , 1 - Minimize,2- Maximize
        }
        private void AddControl(Control ctl)
        {
            foreach (Control c in ctl.Controls)
            {  //**放在这里,是先记录控件的子控件,后记录控件本身
                //if (c.Controls.Count > 0)
                //    AddControl(c);//窗体内其余控件还可能嵌套控件(比如panel),要单独抽出,因为要递归调用
                controlRect objCtrl;
                objCtrl.Left = c.Left; objCtrl.Top = c.Top; objCtrl.Width = c.Width; objCtrl.Height = c.Height;
                oldCtrl.Add(objCtrl);
                //**放在这里,是先记录控件本身,后记录控件的子控件
                if (c.Controls.Count > 0)
                    AddControl(c);//窗体内其余控件还可能嵌套控件(比如panel),要单独抽出,因为要递归调用
            }
        }
        //(3.2)控件自适应大小,
        public void controlAutoSize(Control mForm)
        {
            if (this.oldCtrl.Count == 0)
            {
                return;
            }
            if (ctrlNo == 0)
            { //*如果在窗体的Form1_Load中,记录控件原始的大小和位置,正常没有问题,但要加入皮肤就会出现问题,因为有些控件如dataGridView的的子控件还没有完成,个数少
                //*要在窗体的Form1_SizeChanged中,第一次改变大小时,记录控件原始的大小和位置,这里所有控件的子控件都已经形成
                controlRect cR;
                //  cR.Left = mForm.Left; cR.Top = mForm.Top; cR.Width = mForm.Width; cR.Height = mForm.Height;
                cR.Left = 0; cR.Top = 0; cR.Width = mForm.PreferredSize.Width; cR.Height = mForm.PreferredSize.Height;
                oldCtrl.Add(cR);//第一个为"窗体本身",只加入一次即可
                AddControl(mForm);//窗体内其余控件可能嵌套其它控件(比如panel),故单独抽出以便递归调用
            }
            float wScale = (float)mForm.Width / (float)oldCtrl[0].Width;//新旧窗体之间的比例,与最早的旧窗体
            float hScale = (float)mForm.Height / (float)oldCtrl[0].Height;//.Height;
            ctrlNo = 1;//进入=1,第0个为窗体本身,窗体内的控件,从序号1开始
            AutoScaleControl(mForm, wScale, hScale);//窗体内其余控件还可能嵌套控件(比如panel),要单独抽出,因为要递归调用
        }
        private void AutoScaleControl(Control ctl, float wScale, float hScale)
        {
            int ctrLeft0, ctrTop0, ctrWidth0, ctrHeight0;
            //int ctrlNo = 1;//第1个是窗体自身的 Left,Top,Width,Height,所以窗体控件从ctrlNo=1开始
            foreach (Control c in ctl.Controls)
            { //**放在这里,是先缩放控件的子控件,后缩放控件本身
                //if (c.Controls.Count > 0)
                //   AutoScaleControl(c, wScale, hScale);//窗体内其余控件还可能嵌套控件(比如panel),要单独抽出,因为要递归调用
                ctrLeft0 = oldCtrl[ctrlNo].Left;
                ctrTop0 = oldCtrl[ctrlNo].Top;
                ctrWidth0 = oldCtrl[ctrlNo].Width;
                ctrHeight0 = oldCtrl[ctrlNo].Height;
                //c.Left = (int)((ctrLeft0 - wLeft0) * wScale) + wLeft1;//新旧控件之间的线性比例
                //c.Top = (int)((ctrTop0 - wTop0) * h) + wTop1;
                c.Left = (int)((ctrLeft0) * wScale);//新旧控件之间的线性比例。控件位置只相对于窗体,所以不能加 + wLeft1
                c.Top = (int)((ctrTop0) * hScale);//
                c.Width = (int)(ctrWidth0 * wScale);//只与最初的大小相关,所以不能与现在的宽度相乘 (int)(c.Width * w);
                c.Height = (int)(ctrHeight0 * hScale);//
                ctrlNo++;//累加序号
                //**放在这里,是先缩放控件本身,后缩放控件的子控件
                if (c.Controls.Count > 0)
                    AutoScaleControl(c, wScale, hScale);//窗体内其余控件还可能嵌套控件(比如panel),要单独抽出,因为要递归调用
                if (ctl is DataGridView)
                {
                    DataGridView dgv = ctl as DataGridView;
                    Cursor.Current = Cursors.WaitCursor;
                    int widths = 0;
                    for (int i = 0; i < dgv.Columns.Count; i++)
                    {
                        dgv.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells);  // è‡ªåŠ¨è°ƒæ•´åˆ—å®½
                        widths += dgv.Columns[i].Width;   // è®¡ç®—调整列后单元列的宽度和
                    }
                    if (widths >= ctl.Size.Width)  // å¦‚果调整列的宽度大于设定列宽
                        dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;  // è°ƒæ•´åˆ—的模式 è‡ªåЍ
                    else
                        dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;  // å¦‚果小于 åˆ™å¡«å……
                    Cursor.Current = Cursors.Default;
                }
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Base64Helper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
using System;
namespace iWareCommon.Utils
{
   public class Base64Helper
    {
       public static string StringToBase64(string stringJson)
       {
           return  Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(stringJson));
       }
       public static string Base64ToString(string stringbase64)
       {
           return System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(stringbase64));
       }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/CSharpHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    /// <summary>
    /// C#帮助类
    /// </summary>
    public class CSharpHelper
    {
        /// <summary>
        /// æ±‚百分比方法
        /// </summary>
        /// <param name="PassCount"></param>
        /// <param name="allCount"></param>
        /// <returns></returns>
        public static string ExecPercent(decimal PassCount, decimal allCount)
        {
            string res = "";
            if (allCount > 0)
            {
                res = ChinaRound((double)Math.Round(PassCount / allCount * 100, 1), 0).ToString() + "%";
            }
            return res;
        }
        /// <summary>
        /// æ±‚百分比方法
        /// </summary>
        /// <param name="PassCount"></param>
        /// <param name="allCount"></param>
        /// <returns></returns>
        public static int ExecPercentRetInt(decimal PassCount, decimal allCount)
        {
            if (allCount > 0)
            {
                return Convert.ToInt32(ChinaRound((double)Math.Round(PassCount / allCount * 100, 1), 0));
            }
            return 0;
        }
        private static double ChinaRound(double value, int decimals)
        {
            if (value < 0)
            {
                return Math.Round(value + 5 / Math.Pow(10, decimals + 1), decimals, MidpointRounding.AwayFromZero);
            }
            else
            {
                return Math.Round(value, decimals, MidpointRounding.AwayFromZero);
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ClassHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,73 @@
using iWareModel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    public class ClassHelper
    {
        /// <summary>
        /// å®žä½“互转
        /// </summary>
        /// <typeparam name="T">新转换的实体</typeparam>
        /// <typeparam name="S">要转换的实体</typeparam>
        /// <param name="s"></param>
        /// <returns></returns>
        public static T RotationMapping<T, S>(S s)
        {
            T target = Activator.CreateInstance<T>();
            var originalObj = s.GetType();
            var targetObj = typeof(T);
            foreach (PropertyInfo original in originalObj.GetProperties())
            {
                foreach (PropertyInfo t in targetObj.GetProperties())
                {
                    if (t.Name == original.Name)
                    {
                        t.SetValue(target, original.GetValue(s, null), null);
                    }
                }
            }
            return target;
        }
        /// <summary>
        /// é€šè¿‡å®žä½“类对象获取实体类的属性对象集合
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="t"></param>
        /// <returns></returns>
        public static List<PropertieModel> GetPropertieModels<T>(T t)
        {
            List<PropertieModel> pmList = new List<PropertieModel>();
            var pros = typeof(T).GetProperties();
            string value = "";
            PropertieModel column = null;
            object objValue = null;
            foreach (var pro in pros)
            {
                column = new PropertieModel();
                //值
                objValue = pro.GetValue(t, null);
                value = objValue == null ? "null" : objValue.ToString();
                column.DataValue = value;
                //属性名
                column.PropertyName = pro.Name;
                object[] objs = pro.GetCustomAttributes(typeof(DescriptionAttribute), true);
                if (objs.Length > 0)
                {
                    column.DescriptionName = ((DescriptionAttribute)objs[0]).Description;
                }
                pmList.Add(column);
            }
            return pmList;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ComboBoxHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@

using iWareModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    /// <summary>
    /// ComboBox帮助类
    /// </summary>
    public class ComboBoxHelper
    {
        /// <summary>
        /// èŽ·å–ä¸‹æ‹‰æ¡†çš„é€‰æ‹©çš„æ•°æ®
        /// </summary>
        /// <param name="cmb"></param>
        /// <returns></returns>
        public static string GetComboxSelectValue(System.Windows.Forms.ComboBox cmb, ref ListItem selProFlag)
        {
            selProFlag = (ListItem)cmb.SelectedItem;
            var sselProFlagValue = selProFlag.Value;
            return sselProFlagValue;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ConfigHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,106 @@
using System;
using System.Configuration;
namespace iWareCommon.Utils
{
    /// <summary>
    /// web.config操作类
    /// Copyright (C) TBEA.WMS
    /// </summary>
    public sealed class ConfigHelper
    {
        /// <summary>
        /// å¾—到AppSettings中的配置字符串信息
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string GetConfigString(string key)
        {
            string CacheKey = "AppSettings-" + key;
            object objModel = DataCache.GetCache(CacheKey);
            if (objModel == null)
            {
                try
                {
                    objModel = ConfigurationManager.AppSettings[key];
                    if (objModel != null)
                    {
                        DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(180), TimeSpan.Zero);
                    }
                }
                catch
                { }
            }
            return objModel.ToString();
        }
        /// <summary>
        /// å¾—到AppSettings中的配置Bool信息
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static bool GetConfigBool(string key)
        {
            bool result = false;
            string cfgVal = GetConfigString(key);
            if(null != cfgVal && string.Empty != cfgVal)
            {
                try
                {
                    result = bool.Parse(cfgVal);
                }
                catch(FormatException)
                {
                    // Ignore format exceptions.
                }
            }
            return result;
        }
        /// <summary>
        /// å¾—到AppSettings中的配置Decimal信息
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static decimal GetConfigDecimal(string key)
        {
            decimal result = 0;
            string cfgVal = GetConfigString(key);
            if(null != cfgVal && string.Empty != cfgVal)
            {
                try
                {
                    result = decimal.Parse(cfgVal);
                }
                catch(FormatException)
                {
                    // Ignore format exceptions.
                }
            }
            return result;
        }
        /// <summary>
        /// å¾—到AppSettings中的配置int信息
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static int GetConfigInt(string key)
        {
            int result = 0;
            string cfgVal = GetConfigString(key);
            if(null != cfgVal && string.Empty != cfgVal)
            {
                try
                {
                    result = int.Parse(cfgVal);
                }
                catch(FormatException)
                {
                    // Ignore format exceptions.
                }
            }
            return result;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/DESEncrypt.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
using System;
using System.Security.Cryptography;
using System.Text;
namespace iWareCommon.Utils
{
    /// <summary>
    /// DES加密/解密类。
    /// </summary>
    public class DESEncrypt
    {
        #region ========加密========
        private static string txtKey = "PatrickpanP=";
        private static string txtIV = "LiuJineagel=";
        /// <summary>
        /// åŠ å¯†æ•°æ®
        /// </summary>
        /// <param name="Text"></param>
        /// <param name="sKey"></param>
        /// <returns></returns>
        public static string Encrypt(string Text)
        {
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            byte[] inputByteArray;
            inputByteArray = Encoding.Default.GetBytes(Text);
            //des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
            //des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
            des.Key = Convert.FromBase64String(txtKey);
            des.IV = Convert.FromBase64String(txtIV);
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
            cs.Write(inputByteArray, 0, inputByteArray.Length);
            cs.FlushFinalBlock();
            StringBuilder ret = new StringBuilder();
            foreach (byte b in ms.ToArray())
            {
                ret.AppendFormat("{0:X2}", b);
            }
            return ret.ToString();
        }
        #endregion
        #region ========解密========
        /// <summary>
        /// è§£å¯†æ•°æ®
        /// </summary>
        /// <param name="Text"></param>
        /// <param name="sKey"></param>
        /// <returns></returns>
        public static string Decrypt(string Text)
        {
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            int len;
            len = Text.Length / 2;
            byte[] inputByteArray = new byte[len];
            int x, i;
            for (x = 0; x < len; x++)
            {
                i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);
                inputByteArray[x] = (byte)i;
            }
            //des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
            //des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
            des.Key = Convert.FromBase64String(txtKey);
            des.IV = Convert.FromBase64String(txtIV);
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
            cs.Write(inputByteArray, 0, inputByteArray.Length);
            cs.FlushFinalBlock();
            return Encoding.Default.GetString(ms.ToArray());
        }
        #endregion
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/DESHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,569 @@

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using System.Web;
namespace iWareCommon.Utils
{
    public class DESHelper
    {
        private static string DES(string key, string strMessage, bool isEncrypt, int mode, string strIV)
        {
            int[] spfunction1 = new int[]
            {
                0x1010400, 0, 0x10000, 0x1010404, 0x1010004,
                0x10404, 0x4, 0x10000, 0x400, 0x1010400, 0x1010404, 0x400, 0x1000404,
                0x1010004, 0x1000000, 0x4, 0x404, 0x1000400, 0x1000400, 0x10400, 0x10400,
                0x1010000, 0x1010000, 0x1000404, 0x10004, 0x1000004, 0x1000004, 0x10004, 0,
                0x404, 0x10404, 0x1000000, 0x10000, 0x1010404, 0x4, 0x1010000, 0x1010400, 0x1000000,
                0x1000000, 0x400, 0x1010004, 0x10000, 0x10400, 0x1000004, 0x400, 0x4, 0x1000404,
                0x10404, 0x1010404, 0x10004, 0x1010000, 0x1000404, 0x1000004, 0x404, 0x10404, 0x1010400,
                0x404, 0x1000400, 0x1000400, 0, 0x10004, 0x10400, 0, 0x1010004
            };
            int[] spfunction2 = new int[]
            {
                -0x7fef7fe0, -0x7fff8000, 0x8000, 0x108020, 0x100000, 0x20, -0x7fefffe0,
                -0x7fff7fe0, -0x7fffffe0, -0x7fef7fe0, -0x7fef8000, -0x8000000, -0x7fff8000,
                0x100000, 0x20, -0x7fefffe0, 0x108000, 0x100020, -0x7fff7fe0, 0,
                -0x8000000, 0x8000, 0x108020, -0x7ff00000, 0x100020, -0x7fffffe0, 0, 0x108000,
                0x8020, -0x7fef8000, -0x7ff00000, 0x8020, 0, 0x108020, -0x7fefffe0, 0x100000,
                -0x7fff7fe0, -0x7ff00000, -0x7fef8000, 0x8000, -0x7ff00000, -0x7fff8000, 0x20,
                -0x7fef7fe0, 0x108020, 0x20, 0x8000, -0x8000000, 0x8020, -0x7fef8000, 0x100000,
                -0x7fffffe0, 0x100020, -0x7fff7fe0, -0x7fffffe0, 0x100020, 0x108000, 0,
                -0x7fff8000, 0x8020, -0x8000000, -0x7fefffe0, -0x7fef7fe0, 0x108000
            };
            int[] spfunction3 = new int[]
            {
                0x208, 0x8020200, 0, 0x8020008, 0x8000200, 0, 0x20208,
                0x8000200, 0x20008, 0x8000008, 0x8000008, 0x20000, 0x8020208,
                0x20008, 0x8020000, 0x208, 0x8000000, 0x8, 0x8020200, 0x200,
                0x20200, 0x8020000, 0x8020008, 0x20208, 0x8000208, 0x20200, 0x20000,
                0x8000208, 0x8, 0x8020208, 0x200, 0x8000000, 0x8020200, 0x8000000,
                0x20008, 0x208, 0x20000, 0x8020200, 0x8000200, 0, 0x200, 0x20008,
                0x8020208, 0x8000200, 0x8000008, 0x200, 0, 0x8020008, 0x8000208, 0x20000,
                0x8000000, 0x8020208, 0x8, 0x20208, 0x20200, 0x8000008, 0x8020000,
                0x8000208, 0x208, 0x8020000, 0x20208, 0x8, 0x8020008, 0x20200
            };
            int[] spfunction4 = new int[]
            {
                0x802001, 0x2081, 0x2081, 0x80, 0x802080, 0x800081, 0x800001, 0x2001, 0,
                0x802000, 0x802000, 0x802081, 0x81, 0, 0x800080, 0x800001, 0x1, 0x2000,
                0x800000, 0x802001, 0x80, 0x800000, 0x2001, 0x2080, 0x800081, 0x1, 0x2080,
                0x800080, 0x2000, 0x802080, 0x802081, 0x81, 0x800080, 0x800001, 0x802000,
                0x802081, 0x81, 0, 0, 0x802000, 0x2080, 0x800080, 0x800081, 0x1, 0x802001,
                0x2081, 0x2081, 0x80, 0x802081, 0x81, 0x1, 0x2000, 0x800001, 0x2001, 0x802080,
                0x800081, 0x2001, 0x2080, 0x800000, 0x802001, 0x80, 0x800000, 0x2000, 0x802080
            };
            int[] spfunction5 = new int[]
            {
                0x100, 0x2080100, 0x2080000, 0x42000100, 0x80000, 0x100, 0x40000000,
                0x2080000, 0x40080100, 0x80000, 0x2000100, 0x40080100, 0x42000100, 0x42080000,
                0x80100, 0x40000000, 0x2000000, 0x40080000, 0x40080000, 0, 0x40000100, 0x42080100,
                0x42080100, 0x2000100, 0x42080000, 0x40000100, 0, 0x42000000, 0x2080100,
                0x2000000, 0x42000000, 0x80100, 0x80000, 0x42000100, 0x100, 0x2000000, 0x40000000,
                0x2080000, 0x42000100, 0x40080100, 0x2000100, 0x40000000, 0x42080000, 0x2080100,
                0x40080100, 0x100, 0x2000000, 0x42080000, 0x42080100, 0x80100, 0x42000000, 0x42080100,
                0x2080000, 0, 0x40080000, 0x42000000, 0x80100, 0x2000100, 0x40000100, 0x80000, 0,
                0x40080000, 0x2080100, 0x40000100
            };
            int[] spfunction6 = new int[]
            {
                0x20000010, 0x20400000, 0x4000, 0x20404010, 0x20400000, 0x10,
                0x20404010, 0x400000, 0x20004000, 0x404010, 0x400000, 0x20000010,
                0x400010, 0x20004000, 0x20000000, 0x4010, 0, 0x400010, 0x20004010,
                0x4000, 0x404000, 0x20004010, 0x10, 0x20400010, 0x20400010, 0, 0x404010,
                0x20404000, 0x4010, 0x404000, 0x20404000, 0x20000000, 0x20004000, 0x10,
                0x20400010, 0x404000, 0x20404010, 0x400000, 0x4010, 0x20000010, 0x400000,
                0x20004000, 0x20000000, 0x4010, 0x20000010, 0x20404010, 0x404000, 0x20400000,
                0x404010, 0x20404000, 0, 0x20400010, 0x10, 0x4000, 0x20400000, 0x404010,
                0x4000, 0x400010, 0x20004010, 0, 0x20404000, 0x20000000, 0x400010, 0x20004010
            };
            int[] spfunction7 = new int[]
            {
                0x200000, 0x4200002, 0x4000802, 0, 0x800, 0x4000802, 0x200802, 0x4200800, 0x4200802,
                0x200000, 0, 0x4000002, 0x2, 0x4000000, 0x4200002, 0x802, 0x4000800, 0x200802,
                0x200002, 0x4000800, 0x4000002, 0x4200000, 0x4200800, 0x200002, 0x4200000, 0x800, 0x802,
                0x4200802, 0x200800, 0x2, 0x4000000, 0x200800, 0x4000000, 0x200800, 0x200000,
                0x4000802, 0x4000802, 0x4200002, 0x4200002, 0x2, 0x200002, 0x4000000, 0x4000800, 0x200000,
                0x4200800, 0x802, 0x200802, 0x4200800, 0x802, 0x4000002, 0x4200802, 0x4200000, 0x200800, 0, 0x2,
                0x4200802, 0, 0x200802, 0x4200000, 0x800, 0x4000002, 0x4000800, 0x800, 0x200002
            };
            int[] spfunction8 = new int[]
            {
                0x10001040, 0x1000, 0x40000, 0x10041040, 0x10000000, 0x10001040, 0x40, 0x10000000,
                0x40040, 0x10040000, 0x10041040, 0x41000, 0x10041000, 0x41040, 0x1000, 0x40, 0x10040000,
                0x10000040, 0x10001000, 0x1040, 0x41000, 0x40040, 0x10040040, 0x10041000, 0x1040, 0, 0,
                0x10040040, 0x10000040, 0x10001000, 0x41040, 0x40000, 0x41040, 0x40000, 0x10041000, 0x1000,
                0x40, 0x10040040, 0x1000, 0x41040, 0x10001000, 0x40, 0x10000040, 0x10040000, 0x10040040,
                0x10000000, 0x40000, 0x10001040, 0, 0x10041040, 0x40040, 0x10000040, 0x10040000, 0x10001000,
                0x10001040, 0, 0x10041040, 0x41000, 0x41000, 0x1040, 0x1040, 0x40040, 0x10000000, 0x10041000
            };
            int[] keys = DES_CreateKey(key);
            int m = 0, i, j, temp, right1, right2, left, right;
            int[] looping;
            int cbcleft = 0, cbcleft2 = 0, cbcright = 0, cbcright2 = 0;
            int endloop, loopinc;
            int len = strMessage.Length;
            int chunk = 0;
            int iterations = (keys.Length == 32) ? 3 : 9;
            if (iterations == 3)
            {
                looping = isEncrypt ? new int[] { 0, 32, 2 } : new int[] { 30, -2, -2 };
            }
            else
            {
                looping = isEncrypt ? new int[] { 0, 32, 2, 62, 30, -2, 64, 96, 2 } : new int[] { 94, 62, -2, 32, 64, 2, 30, -2, -2 };
            }
            strMessage += "\0\0\0\0\0\0\0\0";
            StringBuilder result = new StringBuilder();
            StringBuilder tempresult = new StringBuilder();
            if (mode == 1) {
                int ivLen = strIV.Length; char[] civ = strIV.ToCharArray();
                int[] iv = new int[ivLen + 8];
                for (i = 0; i < ivLen; i++)
                {
                    iv[i] = Convert.ToInt32(civ[i]);
                }
                for (i = ivLen; i < (ivLen + 8); ++i)
                {
                    iv[i] = 0;
                }
                cbcleft = (iv[m++] << 24) | (iv[m++] << 16) | (iv[m++] << 8) | iv[m++];
                cbcright = (iv[m++] << 24) | (iv[m++] << 16) | (iv[m++] << 8) | iv[m++];
                m = 0;
            }
            while (m < len)
            {
                int[] message = new int[len + 8];
                char[] cm = strMessage.ToCharArray();
                for (i = 0; i < (len + 8); ++i) { message[i] = Convert.ToInt32(cm[i]); }
                if (isEncrypt)
                {
                    left = (message[m++] << 16) | message[m++]; right = (message[m++] << 16) | message[m++];
                }
                else
                {
                    left = (message[m++] << 24) | (message[m++] << 16) | (message[m++] << 8) | message[m++]; right = (message[m++] << 24) | (message[m++] << 16) | (message[m++] << 8) | message[m++];
                }
                if (mode == 1)
                {
                    if (isEncrypt)
                    {
                        left ^= cbcleft; right ^= cbcright;
                    }
                    else
                    {
                        cbcleft2 = cbcleft; cbcright2 = cbcright;
                        cbcleft = left; cbcright = right;
                    }
                }
                temp = (MoveByte(left, 4) ^ right) & 0x0f0f0f0f; right ^= temp; left ^= (temp << 4);
                temp = (MoveByte(left, 16) ^ right) & 0x0000ffff; right ^= temp; left ^= (temp << 16);
                temp = (MoveByte(right, 2) ^ left) & 0x33333333; left ^= temp; right ^= (temp << 2);
                temp = (MoveByte(right, 8) ^ left) & 0x00ff00ff; left ^= temp; right ^= (temp << 8);
                temp = (MoveByte(left, 1) ^ right) & 0x55555555; right ^= temp; left ^= (temp << 1);
                left = ((left << 1) | MoveByte(left, 31)); right = ((right << 1) | MoveByte(right, 31));
                for (j = 0; j < iterations; j += 3)
                {
                    endloop = looping[j + 1]; loopinc = looping[j + 2];
                    for (i = looping[j]; i != endloop; i += loopinc)
                    {
                        right1 = right ^ keys[i];
                        right2 = (MoveByte(right, 4) | (right << 28)) ^ keys[i + 1];
                        temp = left;
                        left = right;
                        right = temp ^ (spfunction2[MoveByte(right1, 24) & 0x3f] | spfunction4[MoveByte(right1, 16) & 0x3f] | spfunction6[MoveByte(right1, 8) & 0x3f] | spfunction8[right1 & 0x3f] | spfunction1[MoveByte(right2, 24) & 0x3f] | spfunction3[MoveByte(right2, 16) & 0x3f] | spfunction5[MoveByte(right2, 8) & 0x3f] | spfunction7[right2 & 0x3f]);
                    }
                    temp = left;
                    left = right;
                    right = temp;
                }
                left = (MoveByte(left, 1) | (left << 31)); right = (MoveByte(right, 1) | (right << 31));
                temp = (MoveByte(left, 1) ^ right) & 0x55555555; right ^= temp;
                left ^= (temp << 1); temp = (MoveByte(right, 8) ^ left) & 0x00ff00ff;
                left ^= temp;
                right ^= (temp << 8);
                temp = (MoveByte(right, 2) ^ left) & 0x33333333;
                left ^= temp;
                right ^= (temp << 2);
                temp = (MoveByte(left, 16) ^ right) & 0x0000ffff;
                right ^= temp;
                left ^= (temp << 16); temp = (MoveByte(left, 4) ^ right) & 0x0f0f0f0f;
                right ^= temp; left ^= (temp << 4);
                if (mode == 1)
                {
                    if (isEncrypt) { cbcleft = left; cbcright = right; }
                    else { left ^= cbcleft2; right ^= cbcright2; }
                }
                if (isEncrypt)
                {
                    tempresult.Append(Convert.ToChar((MoveByte(left, 24))));
                    tempresult.Append(Convert.ToChar((MoveByte(left, 16) & 0xff)));
                    tempresult.Append(Convert.ToChar((MoveByte(left, 8) & 0xff)));
                    tempresult.Append(Convert.ToChar((left & 0xff)));
                    tempresult.Append(Convert.ToChar(MoveByte(right, 24)));
                    tempresult.Append(Convert.ToChar((MoveByte(right, 16) & 0xff)));
                    tempresult.Append(Convert.ToChar((MoveByte(right, 8) & 0xff)));
                    tempresult.Append(Convert.ToChar((right & 0xff)));
                }
                else
                {
                    tempresult.Append(Convert.ToChar(((MoveByte(left, 16) & 0xffff))));
                    tempresult.Append(Convert.ToChar((left & 0xffff)));
                    tempresult.Append(Convert.ToChar((MoveByte(right, 16) & 0xffff)));
                    tempresult.Append(Convert.ToChar((right & 0xffff)));
                }
                if (isEncrypt)
                {
                    chunk += 16;
                }
                else
                {
                    chunk += 8;
                }
                if (chunk == 512)
                {
                    result.Append(tempresult.ToString());
                    tempresult.Remove(0, tempresult.Length);
                    chunk = 0;
                }
            }
            return result.ToString() + tempresult.ToString();
        }
        /// <summary>
        /// å¯†é’¥ç”Ÿæˆå‡½æ•°
        /// </summary>
        /// <param name="strKey"></param>
        /// <returns></returns>
        private static int[] DES_CreateKey(string strKey)
        {
            int[] pc2bytes0 = new int[]
            {
                0, 0x4, 0x20000000, 0x20000004, 0x10000, 0x10004, 0x20010000, 0x20010004, 0x200,
                0x204, 0x20000200, 0x20000204, 0x10200, 0x10204, 0x20010200, 0x20010204
            };
            int[] pc2bytes1 = new int[]
            {
                0, 0x1, 0x100000, 0x100001, 0x4000000, 0x4000001, 0x4100000, 0x4100001, 0x100, 0x101,
                0x100100, 0x100101, 0x4000100, 0x4000101, 0x4100100, 0x4100101
            };
            int[] pc2bytes2 = new int[]
            {
                0, 0x8, 0x800, 0x808, 0x1000000, 0x1000008, 0x1000800, 0x1000808, 0, 0x8, 0x800, 0x808,
                0x1000000, 0x1000008, 0x1000800, 0x1000808
            };
            int[] pc2bytes3 = new int[]
            {
                0, 0x200000, 0x8000000, 0x8200000, 0x2000, 0x202000, 0x8002000, 0x8202000,
                0x20000, 0x220000, 0x8020000, 0x8220000, 0x22000, 0x222000, 0x8022000, 0x8222000
            };
            int[] pc2bytes4 = new int[]
            {
                0, 0x40000, 0x10, 0x40010, 0, 0x40000, 0x10, 0x40010, 0x1000, 0x41000, 0x1010,
                0x41010, 0x1000, 0x41000, 0x1010, 0x41010
            };
            int[] pc2bytes5 = new int[]
            {
                0, 0x400, 0x20, 0x420, 0, 0x400, 0x20, 0x420, 0x2000000, 0x2000400,
                0x2000020, 0x2000420, 0x2000000, 0x2000400, 0x2000020, 0x2000420
            };
            int[] pc2bytes6 = new int[]
            { 0, 0x10000000, 0x80000, 0x10080000, 0x2, 0x10000002, 0x80002, 0x10080002, 0, 0x10000000,
                0x80000, 0x10080000, 0x2, 0x10000002, 0x80002, 0x10080002
            };
            int[] pc2bytes7 = new int[]
            { 0, 0x10000, 0x800, 0x10800, 0x20000000, 0x20010000, 0x20000800, 0x20010800, 0x20000,
                0x30000, 0x20800, 0x30800, 0x20020000, 0x20030000, 0x20020800, 0x20030800
            };
            int[] pc2bytes8 = new int[]
            {
                0, 0x40000, 0, 0x40000, 0x2, 0x40002, 0x2, 0x40002, 0x2000000, 0x2040000, 0x2000000,
                0x2040000, 0x2000002, 0x2040002, 0x2000002, 0x2040002
            };
            int[] pc2bytes9 = new int[]
            {
                0, 0x10000000, 0x8, 0x10000008, 0, 0x10000000, 0x8, 0x10000008, 0x400, 0x10000400,
                0x408, 0x10000408, 0x400, 0x10000400, 0x408, 0x10000408
            };
            int[] pc2bytes10 = new int[]
            {
                0, 0x20, 0, 0x20, 0x100000, 0x100020, 0x100000, 0x100020, 0x2000, 0x2020, 0x2000,
                0x2020, 0x102000, 0x102020, 0x102000, 0x102020
            };
            int[] pc2bytes11 = new int[]
            {
                0, 0x1000000, 0x200, 0x1000200, 0x200000, 0x1200000, 0x200200, 0x1200200, 0x4000000,
                0x5000000, 0x4000200, 0x5000200, 0x4200000, 0x5200000, 0x4200200, 0x5200200
            };
            int[] pc2bytes12 = new int[]
            {
                0, 0x1000, 0x8000000, 0x8001000, 0x80000, 0x81000, 0x8080000, 0x8081000, 0x10, 0x1010,
                0x8000010, 0x8001010, 0x80010, 0x81010, 0x8080010, 0x8081010
            };
            int[] pc2bytes13 = new int[]
            {
                0, 0x4, 0x100, 0x104, 0, 0x4, 0x100, 0x104, 0x1, 0x5, 0x101, 0x105, 0x1, 0x5, 0x101, 0x105
            };
            int iterations = strKey.Length >= 24 ? 3 : 1;
            int[] keys = new int[32 * iterations];
            int[] shifts = new int[] { 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0 };
            int lefttemp, righttemp;
            int m = 0, n = 0;
            int left, right, temp;
            char[] ckey = strKey.ToCharArray();
            int strLen = strKey.Length;
            int keyLen = strLen + iterations * 8;
            int[] key = new int[keyLen];
            for (int i = 0; i < strLen; ++i)
            {
                key[i] = Convert.ToInt32(ckey[i]);
            }
            for (int i = strLen; i < keyLen; ++i)
            {
                key[i] = 0;
            }
            for (int j = 0; j < iterations; j++)
            {
                left = (key[m++] << 24) | (key[m++] << 16) | (key[m++] << 8) | key[m++];
                right = (key[m++] << 24) | (key[m++] << 16) | (key[m++] << 8) | key[m++];
                temp = (MoveByte(left, 4) ^ right) & 0x0f0f0f0f;
                right ^= temp;
                left ^= (temp << 4);
                temp = (MoveByte(right, -16) ^ left) & 0x0000ffff;
                left ^= temp;
                right ^= (temp << -16);
                temp = (MoveByte(left, 2) ^ right) & 0x33333333;
                right ^= temp;
                left ^= (temp << 2);
                temp = (MoveByte(right, -16) ^ left) & 0x0000ffff;
                left ^= temp;
                right ^= (temp << -16);
                temp = (MoveByte(left, 1) ^ right) & 0x55555555;
                right ^= temp;
                left ^= (temp << 1);
                temp = (MoveByte(right, 8) ^ left) & 0x00ff00ff;
                left ^= temp;
                right ^= (temp << 8);
                temp = (MoveByte(left, 1) ^ right) & 0x55555555;
                right ^= temp;
                left ^= (temp << 1);
                temp = (left << 8) | (MoveByte(right, 20) & 0x000000f0);
                left = (right << 24) | ((right << 8) & 0xff0000) | (MoveByte(right, 8) & 0xff00) | (MoveByte(right, 24) & 0xf0);
                right = temp;
                int shiftLen = shifts.Length;
                for (int i = 0; i < shiftLen; i++)
                {
                    if (shifts[i] == 1)
                    {
                        left = (left << 2) | MoveByte(left, 26);
                        right = (right << 2) | MoveByte(right, 26);
                    }
                    else
                    {
                        left = (left << 1) | MoveByte(left, 27);
                        right = (right << 1) | MoveByte(right, 27);
                    }
                    left &= -0xf;
                    right &= -0xf;
                    lefttemp = pc2bytes0[MoveByte(left, 28)] | pc2bytes1[MoveByte(left, 24) & 0xf] | pc2bytes2[MoveByte(left, 20) & 0xf] | pc2bytes3[MoveByte(left, 16) & 0xf] | pc2bytes4[MoveByte(left, 12) & 0xf] | pc2bytes5[MoveByte(left, 8) & 0xf] | pc2bytes6[MoveByte(left, 4) & 0xf];
                    righttemp = pc2bytes7[MoveByte(right, 28)] | pc2bytes8[MoveByte(right, 24) & 0xf] | pc2bytes9[MoveByte(right, 20) & 0xf] | pc2bytes10[MoveByte(right, 16) & 0xf] | pc2bytes11[MoveByte(right, 12) & 0xf] | pc2bytes12[MoveByte(right, 8) & 0xf] | pc2bytes13[MoveByte(right, 4) & 0xf];
                    temp = (MoveByte(righttemp, 16) ^ lefttemp) & 0x0000ffff;
                    keys[n++] = lefttemp ^ temp;
                    keys[n++] = righttemp ^ (temp << 16);
                }
            }
            return keys;
        }
        /// <summary>
        /// å®žçŽ°æ— ç¬¦å·å³ç§»,相当于javascript中的>>>运算符
        /// </summary>
        /// <param name="val"></param>
        /// <param name="pos"></param>
        /// <returns></returns>
        private static int MoveByte(int val, int pos)
        {
            string strBit = string.Empty;
            //取得二进制字符串
            strBit = Convert.ToString(val, 2);
            //转成32位长度的二进制
            if (val >= 0)
            {
                strBit = Convert.ToString(val, 2);
                int len = strBit.Length;
                len = 32 - len;
                for (int i = 0; i < len; ++i)
                {
                    strBit = "0" + strBit;
                }
            }
            //如果pos小于0,则应移pos + 32位
            pos = (pos < 0) ? pos + 32 : pos;
            for (int i = 0; i < pos; ++i)
            {
                strBit = "0" + strBit.Substring(0, 31);
            }
            return Convert.ToInt32(strBit, 2);
        }
        /// <summary>
        /// å°†æ™®é€šçš„字符串转换成16进制的字符串
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        private static string StringToHex(string s)
        {
            StringBuilder sb = new StringBuilder();
            char[] hexs = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
            int len = s.Length;
            char[] cs = s.ToCharArray();
            for (int i = 0; i < len; ++i)
            {
                sb.Append(hexs[cs[i] >> 4]);
                sb.Append(hexs[cs[i] & 0xf]);
            }
            return sb.ToString();
        }
        //将16进制的字符串转换成普通的字符串
        private static string HexToString(string s)
        {
            StringBuilder sb = new StringBuilder();
            int len = s.Length;
            char c;
            for (int i = 0; i < len; i += 2)
            {
                c = Convert.ToChar(Convert.ToInt16("0x" + s.Substring(i, 2), 16));
                sb.Append(c);
            }
            return sb.ToString();
        }
        //C# DES加密函数
        public static string DesEncrypt(string message, string key)
        {
            var str = StringToHex(DES(key, message, true, 0, ""));
            str = HttpUtility.UrlEncode(str, System.Text.Encoding.GetEncoding(65001));
            return str;
        }
        //C# DES解密函数
        public static string DesDecrypt(string message, string key)
        {
            var str = DES(key, HexToString(message), false, 0, "");
            str = HttpUtility.UrlDecode(str, System.Text.Encoding.GetEncoding(65001));
            return str;
        }
        //public static string DesEncrypt(string code, string key)
        //{
        //    if (string.IsNullOrEmpty(code))
        //    {
        //        return string.Empty;
        //    }
        //    code = HttpUtility.UrlEncode(code, System.Text.Encoding.GetEncoding(65001));
        //    string iv = key;
        //    DESCryptoServiceProvider des = new DESCryptoServiceProvider();
        //    byte[] inputByteArray = Encoding.UTF8.GetBytes(code);
        //    //byte[] inputByteArray = Encoding.Default.GetBytes(code);
        //    //des.Key = ASCIIEncoding.ASCII.GetBytes(key);
        //    //des.IV = ASCIIEncoding.ASCII.GetBytes(iv);
        //    des.Key = Encoding.UTF8.GetBytes(key);
        //    des.IV = Encoding.UTF8.GetBytes(iv);
        //    MemoryStream ms = new MemoryStream();
        //    CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
        //    cs.Write(inputByteArray, 0, inputByteArray.Length);
        //    cs.FlushFinalBlock();
        //    StringBuilder ret = new StringBuilder();
        //    foreach (byte b in ms.ToArray())
        //    {
        //        ret.AppendFormat("{0:X2}", b);
        //    }
        //    ms.Dispose();
        //    cs.Dispose();
        //    return ret.ToString();
        //}
        //public static string DesDecrypt(string code, string key)
        //{
        //    string iv = key;
        //    DESCryptoServiceProvider des = new DESCryptoServiceProvider();
        //    byte[] inputByteArray = new byte[code.Length / 2];
        //    for (int x = 0; x < code.Length / 2; x++)
        //    {
        //        int i = (Convert.ToInt32(code.Substring(x * 2, 2), 16));
        //        inputByteArray[x] = (byte)i;
        //    }
        //    //des.Key = ASCIIEncoding.ASCII.GetBytes(key);
        //    //des.IV = ASCIIEncoding.ASCII.GetBytes(iv);
        //    des.Key = Encoding.UTF8.GetBytes(key);
        //    des.IV = Encoding.UTF8.GetBytes(iv);
        //    MemoryStream ms = new MemoryStream();
        //    CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
        //    cs.Write(inputByteArray, 0, inputByteArray.Length);
        //    cs.FlushFinalBlock();
        //    cs.Dispose();
        //    var str = System.Text.Encoding.UTF8.GetString(ms.ToArray());
        //    str = HttpUtility.UrlDecode(str, System.Text.Encoding.GetEncoding(65001));
        //    return str;
        //}
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/DataCache.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
using System;
using System.Web;
namespace iWareCommon.Utils
{
    /// <summary>
    /// ç¼“存相关的操作类
    /// Copyright (C) TBEA.WMS
    /// </summary>
    public class DataCache
    {
        /// <summary>
        /// èŽ·å–å½“å‰åº”ç”¨ç¨‹åºæŒ‡å®šCacheKey的Cache值
        /// </summary>
        /// <param name="CacheKey"></param>
        /// <returns></returns>
        public static object GetCache(string CacheKey)
        {
            System.Web.Caching.Cache objCache = HttpRuntime.Cache;
            return objCache[CacheKey];
        }
        /// <summary>
        /// è®¾ç½®å½“前应用程序指定CacheKey的Cache值
        /// </summary>
        /// <param name="CacheKey"></param>
        /// <param name="objObject"></param>
        public static void SetCache(string CacheKey, object objObject)
        {
            System.Web.Caching.Cache objCache = HttpRuntime.Cache;
            objCache.Insert(CacheKey, objObject);
        }
        /// <summary>
        /// è®¾ç½®å½“前应用程序指定CacheKey的Cache值
        /// </summary>
        /// <param name="CacheKey"></param>
        /// <param name="objObject"></param>
        public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration,TimeSpan slidingExpiration )
        {
            System.Web.Caching.Cache objCache = HttpRuntime.Cache;
            objCache.Insert(CacheKey, objObject,null,absoluteExpiration,slidingExpiration);
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/DataTableHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,164 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WZ.Useful.Commons;
namespace iWareCommon.Utils
{
    public static class DataTableHelper
    {
        public static DataTable ToDataTable<T>(IList<T> list)
        {
            return ToDataTable<T>(list, null);
        }
        /// <summary>
        /// å°†æ³›åž‹é›†åˆç±»è½¬æ¢æˆDataTable
        /// </summary>
        /// <typeparam name="T">集合项类型</typeparam>
        /// <param name="list">集合</param>
        /// <param name="propertyName">需要返回的列的列名</param>
        /// <returns>数据集(表)</returns>
        public static DataTable ToDataTable<T>(IList<T> list, params string[] propertyName)
        {
            List<string> propertyNameList = new List<string>();
            if (propertyName != null)
                propertyNameList.AddRange(propertyName);
            DataTable result = new DataTable();
            if (list.Count > 0)
            {
                PropertyInfo[] propertys = list[0].GetType().GetProperties();
                foreach (PropertyInfo pi in propertys)
                {
                    try
                    {
                        Type nullInt32 = typeof(Int32?);
                        Type classicInt32 = typeof(Int32);
                        if (propertyNameList.Count == 0)
                        {
                            //result.Columns.Add(pi.Name, pi.PropertyType);
                            var tmp = pi.PropertyType.UnderlyingSystemType.ToString();
                            result.Columns.Add(pi.Name, tmp.Contains("System.Nullable") ? classicInt32 : pi.PropertyType);
                        }
                        else
                        {
                            if (propertyNameList.Contains(pi.Name))
                            {
                                var tmp = pi.PropertyType.UnderlyingSystemType.ToString();
                                result.Columns.Add(pi.Name, tmp.Contains("System.Nullable") ? classicInt32 : pi.PropertyType);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                }
                for (int i = 0; i < list.Count; i++)
                {
                    ArrayList tempList = new ArrayList();
                    foreach (PropertyInfo pi in propertys)
                    {
                        if (propertyNameList.Count == 0)
                        {
                            object obj = pi.GetValue(list[i], null);
                            tempList.Add(obj);
                        }
                        else
                        {
                            if (propertyNameList.Contains(pi.Name))
                            {
                                object obj = pi.GetValue(list[i], null);
                                tempList.Add(obj);
                            }
                        }
                    }
                    object[] array = tempList.ToArray();
                    result.LoadDataRow(array, true);
                }
            }
            return result;
        }
        public static void DataSetToExcel(DataTable ds)
        {
            string filePath = FileDialogHelper.SaveExcel();
            WZ.Useful.Commons.ExcelHelper.DataSetToExcel(ds, filePath);
        }
        /// <summary>
        /// å°†linq查询转换为datatable
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="array"></param>
        /// <returns></returns>
        public static DataTable CopyToDataTable<T>(IEnumerable<T> array)
        {
            if (array == null)
            {
                return null;
            }
            var ret = new DataTable();
            foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))
                ret.Columns.Add(dp.Name);
            foreach (T item in array)
            {
                var Row = ret.NewRow();
                foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))
                    Row[dp.Name] = dp.GetValue(item);
                ret.Rows.Add(Row);
            }
            return ret;
        }
        /// <summary>
        /// æ ¹æ®åˆ—名,将linq查询转换为datatable
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="array"></param>
        /// <returns></returns>
        public static DataTable CopyToDataTable<T>(IEnumerable<T> array, string[] columns, string[] columnNames)
        {
            if (array == null)
            {
                return null;
            }
            var ret = new DataTable();
            foreach (var item in columnNames)
            {
                ret.Columns.Add(item);
            }
            foreach (T item in array)
            {//遍历实体类中的每一个实体
                var Row = ret.NewRow();
                for (int i = 0; i < columns.Length; i++)
                {
                    foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))
                    {//遍历一个实体类的所有属性
                        if (dp.Name == columns[i])
                        {
                            Row[columnNames[i]] = dp.GetValue(item);
                            break;
                        }
                    }
                }
                ret.Rows.Add(Row);
            }
            return ret;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/DateTimeHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
namespace iWareCommon.Utils
{
    /// <summary>
    /// æ—¥æœŸå¤„理类
    /// </summary>
    public class DateTimeHelper
    {
        /// <summary>
        /// è¿”回NULL
        /// </summary>
        /// <returns></returns>
        public static DateTime? GetNull()
        {
            return null;
        }
        /// <summary>
        /// è®¡ç®—两个时间的时间差,返回秒数
        /// </summary>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static int GetTimeDiffer(DateTime? startTime, DateTime? endTime, ref string msg)
        {
            if (startTime == null || endTime == null)
            {
                return 0;
            }
            TimeSpan ts = ((DateTime)endTime - (DateTime)startTime);
            msg = "";
            if (ts.Days != 0)
            {
                msg += ts.Days + "天";
            }
            if (ts.Hours != 0)
            {
                msg += ts.Hours + "小时";
            }
            if (ts.Minutes != 0)
            {
                msg += ts.Minutes + "分钟";
            }
            if (ts.Seconds != 0)
            {
                msg += ts.Seconds + "秒";
            }
            return (int)ts.TotalSeconds;
        }
        /// <summary>
        /// è½¬æ¢æ—¥æœŸæ ¼å¼ä¸ºå­—符串
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static string ConvertToString(DateTime? dt)
        {
            if (dt == null)
            {
                return string.Empty;
            }
            return Convert.ToDateTime(dt).ToString("yyyy-MM-dd HH:mm:ss");
        }
        /// <summary>
        /// è½¬æ¢æ—¥æœŸæ ¼å¼ä¸ºå­—符串
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static string ConvertToStringForOnlyShowTime(DateTime? dt)
        {
            if (dt == null)
            {
                return string.Empty;
            }
            return Convert.ToDateTime(dt).ToString("HH:mm:ss");
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/EntityPropHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,119 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
namespace iWareCommon.Utils
{
    /// <summary>
    /// ç”¨äºŽå±žæ€§å±žæ€§èµ‹å€¼æ“ä½œçš„帮助类
    /// </summary>
    /// <typeparam name="T">原对象类</typeparam>
    /// <typeparam name="S">目标对象类</typeparam>
    public class EntityPropHelper<T,S> where T:class where S:class
    {
        /// <summary>
        /// å°†t中的各个对于的属性值赋值到s中相应的属性
        /// </summary>
        /// <param name="t">原对象</param>
        /// <param name="s">目标对象</param>
        /// <param name="columnMap">以T中的属性名为键,S中的属性名为值的字典</param>
        public static void CopyProp(T t, S s, Dictionary<string,string> columnMap)
        {
            Type typeT = typeof(T);
            Type typeS = typeof(S);
            var sProps = typeS.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList();
            var sPropDic = new Dictionary<string, PropertyInfo>();
            var keys = columnMap.Keys;
            var values = columnMap.Values;
            //遍历S的所有属性,将符合修改的存入字典中
            sProps.ForEach(p => { if (values.Contains(p.Name)) { sPropDic.Add(p.Name, p); } });
            var tProps = typeT.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList();
            var tPropDic = new Dictionary<string, PropertyInfo>();
            //遍历S的所有属性,将符合修改的存入字典中
            tProps.ForEach(p => { if (keys.Contains(p.Name)) { tPropDic.Add(p.Name, p); } });
            foreach(var key in keys)
            {
                var propValue = tPropDic[key].GetValue(t, null);
                sPropDic[columnMap[key]].SetValue(s, propValue, null);
            }
        }
        /// <summary>
        /// å°†s中的各个对于的属性值赋值到t中相应的属性
        /// </summary>
        /// <param name="t">目标对象</param>
        /// <param name="s">原对象</param>
        /// <param name="columnMap">以T中的属性名为键,S中的属性名为值的字典</param>
        public static void CopyProp(S s,T t , Dictionary<string, string> columnMap)
        {
                Type typeT = typeof(T);
                Type typeS = typeof(S);
                var sProps = typeS.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList();
                var sPropDic = new Dictionary<string, PropertyInfo>();
                var keys = columnMap.Keys;
                var values = columnMap.Values;
                //遍历S的所有属性,将符合修改的存入字典中
                sProps.ForEach(p => { if (values.Contains(p.Name)) { sPropDic.Add(p.Name, p); } });
                var tProps = typeT.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList();
                var tPropDic = new Dictionary<string, PropertyInfo>();
                //遍历S的所有属性,将符合修改的存入字典中
                tProps.ForEach(p => { if (keys.Contains(p.Name)) { tPropDic.Add(p.Name, p); } });
                foreach (var key in keys)
                {
                    var propValue = sPropDic[columnMap[key]].GetValue(s, null);
                    tPropDic[key].SetValue(t, propValue, null);
                }
        }
        /// <summary>
        /// å°†t中的各个对于的属性值赋值到s中相应的属性
        /// </summary>
        /// <param name="t">原对象</param>
        /// <param name="s">目标对象</param>
        /// <param name="columnMap">以T中的属性名为键,S中的属性名为值的字典</param>
        public static void CopyProp(T t, S s,List<string> propNames)
        {
            Type typeT = typeof(T);
            Type typeS = typeof(S);
            var sProps = typeS.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList();
            var sPropDic = new Dictionary<string, PropertyInfo>();
            //遍历S的所有属性,将符合修改的存入字典中
            sProps.ForEach(p => { if (propNames.Contains(p.Name)) { sPropDic.Add(p.Name, p); } });
            var tProps = typeT.GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList();
            var tPropDic = new Dictionary<string, PropertyInfo>();
            //遍历S的所有属性,将符合修改的存入字典中
            tProps.ForEach(p => { if (propNames.Contains(p.Name)) { tPropDic.Add(p.Name, p); } });
            foreach (var propName in propNames)
            {
                var propValue = tPropDic[propName].GetValue(t, null);
                sPropDic[propName].SetValue(s, propValue, null);
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/EnumberHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,117 @@

using iWareModel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
namespace iWareCommon.Utils
{
    /// <summary>
    /// æžšä¸¾ç±»
    /// </summary>
    public class EnumberHelper
    {
        /// <summary>
        /// èŽ·å–è½¬æ¢æžšä¸¾å€¼çš„å­—ç¬¦ä¸²
        /// </summary>
        /// <param name="mode"></param>
        /// <returns></returns>
        public static string GetEnumName<T>(int mode) where T : struct
        {
            T t = default(T);
            bool isRight = EnumberHelper.GetEnumObject<T>(mode.ToString(), out t);
            if (isRight)
            {
                return t.ToString();
            }
            return "";
        }
        ///// <summary>
        ///// èŽ·å–è½¬æ¢æžšä¸¾å€¼çš„å­—ç¬¦ä¸²
        ///// </summary>
        ///// <param name="mode"></param>
        ///// <returns></returns>
        //public static T GetEnum<T>(int mode) where T : struct
        //{
        //    T t = default(T);
        //    bool isRight = EnumberHelper.GetEnumObject<T>(mode.ToString(), out t);
        //    if (isRight)
        //    {
        //        return t;
        //    }
        //    throw new Exception("转换失败");
        //}
        /// <summary>
        /// æ ¹æ®æžšä¸¾å€¼è½¬æ¢æžšä¸¾
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="enumValue"></param>
        /// <returns></returns>
        public static bool GetEnumObject<T>(string enumValue, out T t) where T : struct
        {
            bool right = Enum.TryParse(enumValue.ToString(), out t);
            if (right)
            {
                // éœ€è¦é€šè¿‡æ­¤æ–¹æ³•再次确定是否是枚举实际定义的内容
                if (!Enum.IsDefined(typeof(T), t))
                {
                    return false;
                }
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// æžšä¸¾è½¬é›†åˆ
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static List<EnumberEntity> EnumToList<T>()
        {
            List<EnumberEntity> list = new List<EnumberEntity>();
            foreach (var e in Enum.GetValues(typeof(T)))
            {
                EnumberEntity m = new EnumberEntity();
                object[] objArr = e.GetType().GetField(e.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true);
                if (objArr != null && objArr.Length > 0)
                {
                    DescriptionAttribute da = objArr[0] as DescriptionAttribute;
                    m.Desction = da.Description;
                }
                m.EnumValue = Convert.ToInt32(e);
                m.EnumName = e.ToString();
                list.Add(m);
            }
            return list;
        }
        /// <summary>
        /// èŽ·å–æžšä¸¾çš„æè¿°å±žæ€§
        /// </summary>
        /// <param name="enumValue">枚举值</param>
        /// <returns>枚举的描述属性</returns>
        public static string GetEnumDescription(Enum en)
        {
            Type type = en.GetType();   //获取类型
            MemberInfo[] memberInfos = type.GetMember(en.ToString());   //获取成员
            if (memberInfos != null && memberInfos.Length > 0)
            {
                DescriptionAttribute[] attrs = memberInfos[0].GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];   //获取描述特性
                if (attrs != null && attrs.Length > 0)
                {
                    return attrs[0].Description;    //返回当前描述
                }
            }
            return en.ToString();
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/FileHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,224 @@

using iWareCommon.Properties;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
namespace iWareCommon.Utils
{
    /// <summary>
    /// æ–‡ä»¶å¸®åŠ©
    /// </summary>
    public class FileHelper
    {
        private static char[] base64CodeArray = new char[]
        {
            'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
            'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
            '0', '1', '2', '3', '4',  '5', '6', '7', '8', '9', '+', '/', '='
        };
        /// <summary>
        /// åˆ¤æ–­ä¸€ä¸ªæ–‡ä»¶æ˜¯å¦æ˜¯å›¾ç‰‡
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static bool IsImage(string name)
        {
            var extension = Path.GetExtension(name).ToLower();
            var imageExtensions = new List<string> { ".jpg", ".png", ".ico", ".tif", ".bmp", ".gif" };
            return imageExtensions.Contains(extension);
        }
        /// <summary>
        /// åˆ¤æ–­ä¸€ä¸ªæ–‡ä»¶æ˜¯å¦ä¸ºpdf文件
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static bool IsPdf(string name)
        {
            var extension = Path.GetExtension(name).ToLower();
            var pdfExtensions = new List<string> { ".pdf" };
            return pdfExtensions.Contains(extension);
        }
        /// <summary>
        /// å°†æŒ‡å®šè·¯å¾„下的文件转为byte数组
        /// </summary>
        /// <param name="path">指定路径</param>
        /// <returns></returns>
        public static byte[] GetBytesByFile(string path)
        {
            try
            {
                if (!File.Exists(path))
                {
                    return new byte[0];
                }
                var fileInfo = new FileInfo(path);
                byte[] buff = new byte[fileInfo.Length];
                var fileStream = fileInfo.OpenRead();
                fileStream.Read(buff, 0, int.Parse(fileStream.Length.ToString()));
                fileStream.Close();
                return buff;
            }
            catch (Exception ex)
            {
                LogTextHelper.WriteLog(Resources.LogDir, "FileHelper", "GetBytesByFile", ex.Message);
                return new byte[0];
            }
        }
        /// <summary>
        /// å°†æŒ‡å®šè·¯å¾„下的图片转成base64字符串
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public static string GetBase64Str(string path)
        {
            try
            {
                using (MemoryStream ms1 = new MemoryStream())
                {
                    var bmp1 = new Bitmap(path);
                    bmp1.Save(ms1, System.Drawing.Imaging.ImageFormat.Jpeg);
                    byte[] arr1 = new byte[ms1.Length];
                    ms1.Position = 0;
                    ms1.Read(arr1, 0, (int)ms1.Length);
                    ms1.Close();
                    bmp1.Dispose();
                    return Convert.ToBase64String(arr1);
                }
            }
            catch (Exception ex)
            {
                LogTextHelper.WriteLog(Resources.LogDir, "FileHelper", "GetBytesByFile", ex.Message);
                return null;
            }
        }
        public static string GetBase64Str(Bitmap bitMap)
        {
            try
            {
                using (MemoryStream ms1 = new MemoryStream())
                {
                    bitMap.Save(ms1, System.Drawing.Imaging.ImageFormat.Jpeg);
                    byte[] arr1 = new byte[ms1.Length];
                    ms1.Position = 0;
                    ms1.Read(arr1, 0, (int)ms1.Length);
                    ms1.Close();
                    return Convert.ToBase64String(arr1);
                }
            }
            catch (Exception ex)
            {
                LogTextHelper.WriteLog(Resources.LogDir, "FileHelper", "GetBytesByFile", ex.Message);
                return null;
            }
        }
        /// <summary>
        /// æ˜¯å¦base64字符串
        /// </summary>
        /// <param name="base64Str">要判断的字符串</param>
        /// <param name="bytes">字符串转换成的字节数组</param>
        /// <returns></returns>
        public static bool IsBase64(string base64Str, out byte[] bytes)
        {
            //string strRegex = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$";
            bytes = null;
            if (string.IsNullOrEmpty(base64Str))
                return false;
            else
            {
                if (base64Str.Contains(","))
                    base64Str = base64Str.Split(',')[1];
                if (base64Str.Length % 4 != 0)
                    return false;
                if (base64Str.Any(c => !base64CodeArray.Contains(c)))
                    return false;
            }
            try
            {
                bytes = Convert.FromBase64String(base64Str);
                return true;
            }
            catch (FormatException)
            {
                return false;
            }
        }
        /// <summary>
        /// æŠŠbase64字符串转换成Bitmap
        /// </summary>
        /// <param name="base64Str">要转换的base64字符串</param>
        /// <returns></returns>
        public static Bitmap Base64ToBitmap(string base64Str)
        {
            Bitmap bitmap = null;
            byte[] bytes = null;
            try
            {
                if (IsBase64(base64Str, out bytes))
                {
                    using (MemoryStream stream = new MemoryStream(bytes))
                    {
                        stream.Seek(0, SeekOrigin.Begin);//为了避免有时候流指针定位错误,显式定义一下指针位置
                        bitmap = new Bitmap(stream);
                    }
                }
            }
            catch (Exception)
            {
                bitmap = null;
            }
            return bitmap;
        }
        /// <summary>
        /// åˆ é™¤æ–‡ä»¶å¤¹strDir中nDays天以前的文件
        /// </summary>
        /// <param name="dir"></param>
        /// <param name="days"></param>
        public static void DeleteOldFiles(string dir, int days)
        {
            try
            {
                if (!Directory.Exists(dir) || days < 1) return;
                var now = DateTime.Now;
                foreach (var f in Directory.GetFileSystemEntries(dir).Where(f => File.Exists(f)))
                {
                    var t = File.GetCreationTime(f);
                    var elapsedTicks = now.Ticks - t.Ticks;
                    var elapsedSpan = new TimeSpan(elapsedTicks);
                    if (elapsedSpan.TotalDays > days) File.Delete(f);
                }
            }
            catch (Exception)
            {
                // ignored
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/FolderHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@

using iWareCommon.Properties;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
namespace iWareCommon.Utils
{
    /// <summary>
    /// æ–‡ä»¶å¤¹å¸®åŠ©
    /// </summary>
    public class FolderHelper
    {
        /// <summary>
        /// èŽ·å–æŸæ–‡ä»¶å¤¹çš„æ‰€æœ‰å­ç›®å½•
        /// </summary>
        /// <param name="folderPath"></param>
        /// <returns></returns>
        public static DirectoryInfo[] GetDirectories(string folderPath)
        {
            DirectoryInfo mainFolder = new DirectoryInfo(folderPath);
            //找到该文件夹下的子目录
            return mainFolder.GetDirectories();
        }
        /// <summary>
        /// åˆ—出path路径对应的文件夹中的子文件夹和文件
        /// ç„¶åŽå†é€’归列出子文件夹内的文件夹
        /// </summary>
        /// <param name="path">需要列出内容的文件夹的路径</param>
        /// <param name="leval">当前递归层级,用于控制输出前导空格的数量,从0开始</param>
        public static void ListDirectory(string path, int leval, ref List<string> findFolderList)
        {
            DirectoryInfo theFolder = new DirectoryInfo(@path);
            findFolderList.Add(theFolder.FullName);
            leval++;
            //遍历文件
            foreach (FileInfo NextFile in theFolder.GetFiles())
            {
            }
            //遍历文件夹
            foreach (DirectoryInfo NextFolder in theFolder.GetDirectories())
            {
                findFolderList.Add(NextFolder.FullName);
                ListDirectory(NextFolder.FullName, leval, ref findFolderList);
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/HTTP/HTTPService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,503 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Text;
namespace iWareCommon.Utils
{
    public class HTTPService
    {
        private string BaseURI = "";
        public HTTPService(string baseURI)
        {
            this.BaseURI = baseURI;
        }
        #region GET调用webapi公共方法
        /// <summary>
        /// é€šè¿‡GET方法调用HTTP服务
        /// </summary>
        /// <typeparam name="T">入参类型</typeparam>
        /// <param name="url">服务地址</param>
        /// <param name="requestId">发起请求的行为标识</param>
        /// <param name="timeout">超时时间,单位:秒,默认为30秒</param>
        /// <returns></returns>
        public T getContent<T>(string url, Guid requestId, int timeout = 30)
        {
            try
            {
                //SSLUtil.SetCertificatePolicy2();
                var client = new HttpClient();
                client.BaseAddress = new Uri(this.BaseURI);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
                client.Timeout = new TimeSpan(0, 0, timeout);
                using (HttpResponseMessage response = client.GetAsync(url).Result)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        var str_result = response.Content.ReadAsStringAsync().Result;
                        T result = JsonConvert.DeserializeObject<T>(str_result);
                        return result;
                    }
                    else if (response.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常");
                    }
                    else
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常{" + response.StatusCode + "}");
                    }
                }
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// é€šè¿‡GET方法调用HTTP服务
        /// </summary>
        /// <param name="url">服务地址</param>
        /// <param name="requestId">发起请求的行为标识</param>
        /// <param name="timeout">超时时间,单位:秒,默认为30秒</param>
        /// <returns></returns>
        public string getContentForString(string url, Guid requestId, int timeout = 30)
        {
            try
            {
                //SSLUtil.SetCertificatePolicy2();
                var client = new HttpClient();
                client.BaseAddress = new Uri(this.BaseURI);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
                client.Timeout = new TimeSpan(0, 0, timeout);
                using (HttpResponseMessage response = client.GetAsync(url).Result)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        var result = response.Content.ReadAsStringAsync().Result;
                        return result;
                    }
                    else if (response.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常,response:" + JsonConvert.SerializeObject(response));
                    }
                    else
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常{" + response.StatusCode + "},response:" + JsonConvert.SerializeObject(response));
                    }
                }
            }
            catch
            {
                throw;
            }
        }
        #endregion
        #region POST调用webapi公共方法
        /// <summary>
        /// é€šè¿‡POST方法调用HTTP服务
        /// </summary>
        /// <typeparam name="T">入参类型</typeparam>
        /// <typeparam name="T2">出参类型</typeparam>
        /// <param name="url">服务地址</param>
        /// <param name="parameter">入参</param>
        /// <param name="requestId">发起请求的行为标识</param>
        /// <param name="timeout">超时时间,单位:秒,默认为30秒</param>
        /// <returns></returns>
        public T2 postContent<T, T2>(string url, T parameter, Guid requestId, int timeout = 30)
        {
            try
            {
                //SSLUtil.SetCertificatePolicy2();
                var client = new HttpClient();
                client.BaseAddress = new Uri(this.BaseURI);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
                client.DefaultRequestHeaders.Add("Authorization", "123456");
                client.Timeout = new TimeSpan(0, 0, timeout);
                string str = JsonConvert.SerializeObject(parameter);
                var httpContent = new StringContent(str, Encoding.UTF8);
                httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
                using (HttpResponseMessage response = client.PostAsync(url, httpContent).Result)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        var str_result = response.Content.ReadAsStringAsync().Result;
                        T2 result = JsonConvert.DeserializeObject<T2>(str_result);
                        return result;
                    }
                    else if (response.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常");
                    }
                    else
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常{" + response.StatusCode + "}");
                    }
                }
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// é€šè¿‡POST方法调用HTTP服务
        /// </summary>
        /// <param name="url">服务地址</param>
        /// <param name="parameter">入参</param>
        /// <param name="requestId">发起请求的行为标识</param>
        /// <param name="timeout">超时时间,单位:秒,默认为30秒</param>
        /// <returns></returns>
        public string postContentForString(string url, IDictionary<string, string> parameter, string token, int timeout = 30)
        {
            try
            {
                //SSLUtil.SetCertificatePolicy2();
                var client = new HttpClient();
                client.BaseAddress = new Uri(this.BaseURI);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                //client.DefaultRequestHeaders.Add("Token", token.ToString());
                client.Timeout = new TimeSpan(0, 0, timeout);
                string str = JsonConvert.SerializeObject(parameter);
                var httpContent = new StringContent(str, Encoding.UTF8);
                httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
                using (HttpResponseMessage response = client.PostAsync(url, httpContent).Result)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        var result = response.Content.ReadAsStringAsync().Result;
                        return result;
                    }
                    else if (response.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        return response.StatusCode.ToString();
                        // throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常");
                    }
                    else
                    {
                        return response.StatusCode.ToString();
                        // throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常{" + response.StatusCode + "}");
                    }
                }
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// é€šè¿‡POST方法调用HTTP服务
        /// </summary>
        /// <param name="url">服务地址</param>
        /// <param name="parameter">入参字符串</param>
        /// <param name="requestId">发起请求的行为标识</param>
        /// <param name="timeout">超时时间,单位:秒,默认为30秒</param>
        /// <returns></returns>
        public string postContentForString(string url, string parameter, string token, int timeout = 30)
        {
            try
            {
                // SSLUtil.SetCertificatePolicy_New();
                var client = new HttpClient();
                client.BaseAddress = new Uri(this.BaseURI);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                //client.DefaultRequestHeaders.Add("Token", token.ToString());
                client.Timeout = new TimeSpan(0, 0, timeout);
                var ee = new { name = parameter };
                if (parameter == "")
                {
                    parameter = ee.ToString();
                }
                var httpContent = new StringContent(parameter, Encoding.UTF8);
                httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
                using (HttpResponseMessage response = client.PostAsync(url, httpContent).Result)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        var result = response.Content.ReadAsStringAsync().Result;
                        return result;
                    }
                    else if (response.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        return response.StatusCode.ToString();
                        // throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常");
                    }
                    else
                    {
                        return response.StatusCode.ToString();
                        // throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常{" + response.StatusCode + "}");
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        /// <summary>
        /// é€šè¿‡POST方法调用HTTP服务(AGV专用)
        /// </summary>
        /// <param name="url">服务地址</param>
        /// <param name="parameter">入参字符串</param>
        /// <param name="requestId">发起请求的行为标识</param>
        /// <param name="timeout">超时时间,单位:秒,默认为30秒</param>
        /// <returns></returns>
        public string postContentForStringForAgv(string url, string parameter, Guid requestId, int timeout = 30)
        {
            try
            {
                //SSLUtil.SetCertificatePolicy2();
                var client = new HttpClient();
                client.BaseAddress = new Uri(this.BaseURI);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
                client.Timeout = new TimeSpan(0, 0, timeout);
                var ee = new { name = parameter };
                if (parameter == "")
                {
                    parameter = ee.ToString();
                }
                var httpContent = new StringContent(parameter, Encoding.UTF8);
                httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
                using (HttpResponseMessage response = client.PostAsync(url, httpContent).Result)
                {
                    var result = response.Content.ReadAsStringAsync().Result;
                    return result;
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        /// <summary>
        /// é€šè¿‡POST方法调用HTTP服务
        /// </summary>
        /// <param name="url">服务地址</param>
        /// <param name="parameter">入参字符串</param>
        /// <param name="requestId">发起请求的行为标识</param>
        /// <param name="timeout">超时时间,单位:秒,默认为30秒</param>
        /// <returns></returns>
        public string postContentForStringWithToken(string url, string parameter,
            Guid requestId, string token, int timeout = 30)
        {
            try
            {
                //SSLUtil.SetCertificatePolicy2();
                var client = new HttpClient();
                client.BaseAddress = new Uri(this.BaseURI);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
                client.DefaultRequestHeaders.Add("Authorization", token.ToString());
                client.Timeout = new TimeSpan(0, 0, timeout);
                var httpContent = new StringContent(parameter, Encoding.UTF8);
                httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
                using (HttpResponseMessage response = client.PostAsync(url, httpContent).Result)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        var result = response.Content.ReadAsStringAsync().Result;
                        return result;
                    }
                    else if (response.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常");
                    }
                    else
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常{" + response.StatusCode + "}");
                    }
                }
            }
            catch
            {
                throw;
            }
        }
        #endregion
        #region PUT调用webapi公共方法
        /// <summary>
        /// é€šè¿‡PUT方法调用HTTP服务
        /// </summary>
        /// <typeparam name="T">入参类型</typeparam>
        /// <typeparam name="T2">出参类型</typeparam>
        /// <param name="url">服务地址</param>
        /// <param name="parameter">入参</param>
        /// <param name="requestId">发起请求的行为标识</param>
        /// <param name="timeout">超时时间,单位:秒,默认为30秒</param>
        /// <returns></returns>
        public T2 putContent<T, T2>(string url, T parameter, Guid requestId, int timeout = 30)
        {
            try
            {
                //SSLUtil.SetCertificatePolicy2();
                var client = new HttpClient();
                client.BaseAddress = new Uri(this.BaseURI);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
                client.Timeout = new TimeSpan(0, 0, timeout);
                string str = JsonConvert.SerializeObject(parameter);
                var httpContent = new StringContent(str, Encoding.UTF8);
                httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
                using (HttpResponseMessage response = client.PutAsync(url, httpContent).Result)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        var str_result = response.Content.ReadAsStringAsync().Result;
                        T2 result = JsonConvert.DeserializeObject<T2>(str_result);
                        return result;
                    }
                    else if (response.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常");
                    }
                    else
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常{" + response.StatusCode + "}");
                    }
                }
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// é€šè¿‡PUT方法调用HTTP服务
        /// </summary>
        /// <param name="url">服务地址</param>
        /// <param name="parameter">入参</param>
        /// <param name="requestId">发起请求的行为标识</param>
        /// <param name="timeout">超时时间,单位:秒,默认为30秒</param>
        /// <returns></returns>
        public string putContentForString(string url, IDictionary<string, string> parameter,
            Guid requestId, int timeout = 30)
        {
            try
            {
                //SSLUtil.SetCertificatePolicy2();
                var client = new HttpClient();
                client.BaseAddress = new Uri(this.BaseURI);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
                client.Timeout = new TimeSpan(0, 0, timeout);
                string str = JsonConvert.SerializeObject(parameter);
                var httpContent = new StringContent(str, Encoding.UTF8);
                httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
                using (HttpResponseMessage response = client.PutAsync(url, httpContent).Result)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        var result = response.Content.ReadAsStringAsync().Result;
                        return result;
                    }
                    else if (response.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常");
                    }
                    else
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常{" + response.StatusCode + "}");
                    }
                }
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// é€šè¿‡POST方法调用HTTP服务
        /// </summary>
        /// <param name="url">服务地址</param>
        /// <param name="parameter">入参字符串</param>
        /// <param name="requestId">发起请求的行为标识</param>
        /// <param name="timeout">超时时间,单位:秒,默认为30秒</param>
        /// <returns></returns>
        public string putContentForString(string url, string parameter,
            Guid requestId, int timeout = 30)
        {
            try
            {
                //SSLUtil.SetCertificatePolicy2();
                var client = new HttpClient();
                client.BaseAddress = new Uri(this.BaseURI);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
                client.Timeout = new TimeSpan(0, 0, timeout);
                var httpContent = new StringContent(parameter, Encoding.UTF8);
                httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
                using (HttpResponseMessage response = client.PutAsync(url, httpContent).Result)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        var result = response.Content.ReadAsStringAsync().Result;
                        return result;
                    }
                    else if (response.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常");
                    }
                    else
                    {
                        throw new Exception("{" + this.BaseURI + "}被调用的HTTP服务接口{" + url + "}内部发生异常{" + response.StatusCode + "}");
                    }
                }
            }
            catch
            {
                throw;
            }
        }
        #endregion
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/HTTP/HttpHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    public static class HttpHelper
    {
        /// <summary>
        /// Post
        /// </summary>
        /// <param name="url">请求后台地址</param>
        /// <param name="json">json格式参数</param>
        /// <returns></returns>
        public static string Post(string url, string json)
        {
            string result = "";
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "POST";
            req.ContentType = "application/json";
            var authorization = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjE0MjMwNzA3MDkxMDU1MSwiVGVuYW50SWQiOjE0MjMwNzA3MDkxODc4MCwiQWNjb3VudCI6InN1cGVyQWRtaW4iLCJOYW1lIjoi6LaF57qn566h55CG5ZGYIiwiU3VwZXJBZG1pbiI6MSwiT3JnSWQiOiIwIiwiT3JnTmFtZSI6bnVsbCwiaWF0IjoxNjYwMjY4MzA5LCJuYmYiOjE2NjAyNjgzMDksImV4cCI6MTY2MDMyODI0OSwiaXNzIjoiZGlsb24iLCJhdWQiOiJkaWxvbiJ9.lKxygZjORQhQQbbWYOcHtMCXKTEueQMr7Fi1sWjp_1A";
            req.Headers.Add("Authorization", authorization);
            #region æ·»åŠ Post å‚æ•°
            if (!string.IsNullOrWhiteSpace(json))
            {
                byte[] data = Encoding.UTF8.GetBytes(json.ToString());
                req.ContentLength = data.Length;
                using (Stream reqStream = req.GetRequestStream())
                {
                    reqStream.Write(data, 0, data.Length);
                    reqStream.Close();
                }
            }
            #endregion
            HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
            Stream stream = resp.GetResponseStream();
            //获取响应内容
            using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
            {
                result = reader.ReadToEnd();
            }
            return result;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/HTTP/SSLUtil.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    public static class SSLUtil
    {
        public static void SetCertificatePolicy_New()
        {
            //当在浏览器中可以正常访问,而code中出现错误时,可以用fiddle看下正常访问的SSl加密认证的版本号
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            ServicePointManager.ServerCertificateValidationCallback =
                new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
        }
        public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
        {
            return true;
        }
        /// <summary>
        /// Sets the cert policy.
        /// </summary>
        public static WebRequestHandler SetCertificatePolicy2()
        {
            var handler = new WebRequestHandler();
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
            handler.ServerCertificateValidationCallback += RemoteCertificateValidate;
            return handler;
        }
        /// <summary>
        /// Sets the cert policy.
        /// </summary>
        public static HttpClientHandler SetCertificatePolicy3()
        {
            HttpClientHandler clientHandler = new HttpClientHandler();
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
            //clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; };
            return clientHandler;
        }
        /// <summary>
        /// Sets the cert policy.
        /// </summary>
        public static void SetCertificatePolicy()
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
            ServicePointManager.ServerCertificateValidationCallback
                       += RemoteCertificateValidate;
        }
        /// <summary>
        /// Remotes the certificate validate.
        /// </summary>
        private static bool RemoteCertificateValidate(
           object sender, X509Certificate cert,
            X509Chain chain, SslPolicyErrors error)
        {
            // trust any certificate!!!
            System.Console.WriteLine("Warning, trust any certificate");
            return true;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/IEnumerableHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@

using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace iWareCommon.Utils
{
    public class IEnumerableHelper<T>
    {
        /// <summary>
        /// åœ¨æŒ‡å®šçš„迭代器中获取特点键的值
        /// </summary>
        /// <param name="datas"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string GetValue(IEnumerable<T> datas, string key)
        {
            var str = "";
            foreach (var data in datas)
            {
                if (data.ToString().StartsWith(key + ": "))
                {
                    str = data.ToString().Substring(key.Length + ": ".Length);
                    break;
                }
            }
            return str;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/IntHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    public class IntHelper
    {
        /// <summary>
        /// èŽ·å–Int的值
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static int GetIntValue(int? value)
        {
            return value == null ? 0 : (int)value;
        }
        /// <summary>
        /// èŽ·å–Int的值
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static string GetIntValueToString(int? value)
        {
            return GetIntValue(value).ToString();
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ListHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    /// <summary>
    /// LIST帮助类
    /// </summary>
    public class ListHelper
    {
        /// <summary>
        /// LIST打乱顺序
        /// </summary>
        /// <param name="oldList">要处理的LIST</param>
        /// <returns>打乱顺序后的LIST</returns>
        public static List<T> RandomList<T>(List<T> oldList)
        {
            Random r = new Random(Guid.NewGuid().GetHashCode());
            List<T> newList = new List<T>();
            foreach (var item in oldList)
            {
                newList.Insert(r.Next(newList.Count), item);
            }
            return newList;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Log4Net/C_LogWriter.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,110 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//配置config文件名
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net_iWare.config", Watch = true)]
namespace iWareCommon.Utils
{
    /// <summary>
    /// æ—¥å¿—等级
    /// </summary>
    enum LogLevel
    {
        Error,
        Debug,
        Warning,
        Info
    }
    /// <summary>
    /// æ—¥å¿—记录服务
    /// </summary>
    class C_LogWriter
    {
        /// <summary>
        /// æ—¥å¿—接口
        /// </summary>
        private log4net.ILog m_Log;
        /// <summary>
        /// åˆå§‹åŒ–log4net对象
        /// </summary>
        /// <param name="_LogType">日志类型</param>
        /// <param name="suffix">后缀</param>
        public void Init(LogType _LogType, string suffix)
        {
            string s = _LogType.ToString() + suffix;
            m_Log = log4net.LogManager.GetLogger(s);
        }
        /// <summary>
        /// è¾“出错误级别日志
        /// </summary>
        /// <param name="message">输出的消息</param>
        public void Error(string message, Exception ex)
        {
            //记录日志
            WriteLog(LogLevel.Error, message, ex);
        }
        /// <summary>
        /// è¾“出警告级别日志
        /// </summary>
        /// <param name="message">输出的消息</param>
        public void Warning(string message)
        {
            //记录日志
            WriteLog(LogLevel.Warning, message);
        }
        /// <summary>
        /// è¾“出信息级别日志
        /// </summary>
        /// <param name="message">输出的消息</param>
        public void Info(string message)
        {
            //记录日志
            WriteLog(LogLevel.Info, message);
        }
        /// <summary>
        /// è¾“出调试级别日志
        /// </summary>
        /// <param name="message">输出的消息</param>
        public void Debug(string message)
        {
            //记录日志
            WriteLog(LogLevel.Debug, message);
        }
        /// <summary>
        /// è®°å½•系统日志
        /// </summary>
        /// <param name="logLevel">日志级别</param>
        /// <param name="message">输出的消息</param>
        private void WriteLog(LogLevel logLevel, string message, Exception ex = null)
        {
            switch (logLevel)
            {
                case LogLevel.Debug:
                    m_Log.Debug(message);
                    break;
                case LogLevel.Error:
                    m_Log.Error(message, ex);
                    break;
                case LogLevel.Info:
                    m_Log.Info(message);
                    break;
                case LogLevel.Warning:
                    m_Log.Warn(message);
                    break;
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Log4Net/Log4netHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
using System;
namespace iWareCommon.Utils
{
    /// <summary>
    /// Log4Net日志帮助
    /// </summary>
    public class Log4NetHelper
    {
        /// <summary>
        /// è¾“出异常日志到Log4Net
        /// </summary>
        /// <param name="_LogType">日志类型</param>
        /// <param name="msg">消息内容</param>
        /// <param name="ex">异常对象</param>
        public static void WriteErrorLog(LogType _LogType, string msg, Exception ex = null)
        {
            C_LogWriter log = new C_LogWriter();
            log.Init(_LogType, "_Error");
            log.Error(msg, ex);
        }
        /// <summary>
        /// è¾“出info日志到Log4Net
        /// </summary>
        /// <param name="_LogType">日志类型</param>
        /// <param name="msg">消息内容</param>
        public static void WriteInfoLog(LogType _LogType, string msg)
        {
            C_LogWriter log = new C_LogWriter();
            log.Init(_LogType, "_Info");
            log.Info(msg);
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Log4Net/LogType.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    /// <summary>
    /// æ—¥å¿—类型
    /// </summary>
    public enum LogType
    {
        /// <summary>
        /// åˆ é™¤æ—¥å¿—
        /// </summary>
        Sys_DeleteLog = 306,
        /// <summary>
        /// æ‰“印
        /// </summary>
        Print = 313,
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/LogTextHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,99 @@
using Newtonsoft.Json;
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
namespace iWareCommon.Utils
{
    public class LogTextHelper
    {
        /// <summary>
        /// æ‰¹æ¬¡åˆ é™¤æ—¥å¿—文件
        /// </summary>
        public static void BatchDeleteLog()
        {
            List<string> deleteFolder = new System.Collections.Generic.List<string>();
            string folderPath = @"d:\\Log";
            FolderHelper.ListDirectory(folderPath, 0, ref deleteFolder);
            foreach (var item in deleteFolder)
            {
                FileHelper.DeleteOldFiles(item, 30);//删除一个月的数据
            }
        }
        /// <summary>
        /// å¾€æ—¥å¿—里追加内容
        /// </summary>
        /// <param name="folder">日志目录</param>
        /// <param name="logContent">内容</param>
        private static void DoWriteLogContent(string folder, string logContent, Exception ex)
        {
            try
            {
                if (!Directory.Exists(folder))
                {
                    Directory.CreateDirectory(folder);
                }
                string message = string.Format("【{0}】{1}\r\n", DateTime.Now.ToString("HH:mm:ss"), logContent);
                if (ex != null)
                {
                    message += ",异常堆栈:" + JsonConvert.SerializeObject(ex);
                }
                File.AppendAllText(Path.Combine(folder, DateTime.Now.ToString("yyyyMMdd") + ".txt"), message);
            }
            catch (Exception)
            {
            }
        }
        /// <summary>
        /// å¾€æ—¥å¿—里追加内容
        /// </summary>
        /// <param name="folder">日志目录</param>
        /// <param name="format">内容格式</param>
        /// <param name="args">内容参数</param>
        public static void WriteLine(string folder, string format, params object[] args)
        {
            try
            {
                if (!Directory.Exists(folder))
                {
                    Directory.CreateDirectory(folder);
                }
                string message = string.Format("【{0}】{1}\r\n", DateTime.Now.ToString("HH:mm:ss"), string.Format(format, args));
                File.AppendAllText(Path.Combine(folder, DateTime.Now.ToString("yyyyMMdd") + ".txt"), message);
            }
            catch (Exception)
            {
            }
        }
        /// <summary>
        /// æ·»åŠ æ—¥å¿—
        /// </summary>
        /// <param name="folder">日志目录</param>
        /// <param name="className">类名</param>
        /// <param name="methodName">方法名</param>
        /// <param name="format">内容格式</param>
        /// <param name="args">内容参数</param>
        public static void WriteLog(string folder, string className, string methodName, string format, params object[] args)
        {
            WriteLine(folder, "在类{0}的{1}方法中:{2}", className, methodName, string.Format(format, args));
        }
        /// <summary>
        /// å†™å…¥æ—¥å¿—
        /// </summary>
        /// <param name="folder">日志目录</param>
        /// <param name="className">类名</param>
        /// <param name="methodName">方法名</param>
        /// <param name="format">内容格式</param>
        /// <param name="args">内容参数</param>
        public static void WriteLogContent(string folder, string className, string methodName, string logContent, Exception ex)
        {
            DoWriteLogContent(folder, string.Format("在类{0}的{1}方法中:{2}", className, methodName, logContent), ex);
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/MD5Helper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
using System;
using System.Security.Cryptography;
using System.Text;
namespace iWareCommon.Utils
{
    public class MD5Helper
    {
        public static string ParseMd5(string pwd)
        {
            var md5 = new MD5CryptoServiceProvider();
            var bytes = Encoding.UTF8.GetBytes(pwd);
            bytes = md5.ComputeHash(bytes);
            md5.Clear();
            string ret = "";
            for(int i=0; i < bytes.Length; i++)
            {
                ret += Convert.ToString(bytes[i],16).PadLeft(2,'0');
            }
            return ret.PadLeft(32,'0');
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/MachineHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    /// <summary>
    /// æœºå™¨å¸®åŠ©ç±»
    /// </summary>
    public class MachineHelper
    {
        /// <summary>
        /// èŽ·å–ä¸»æœºå
        /// </summary>
        /// <returns></returns>
        public static string GetHostName()
        {
            return Dns.GetHostName();
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Mail/MailBaseData.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
using System;
using System.Runtime.Serialization;
namespace iWareCommon
{
    /// <summary>
    /// é‚®ç®±åŸºç¡€æ•°æ®
    /// </summary>
    [DataContract]
    public class MailBaseData
    {
        /// <summary>
        /// é‚®ç®±å‘件人地址
        /// </summary>
        [DataMember]
        public string mailAddress { get; set; }
        /// <summary>
        /// é‚®ç®±å‘件人地址的显示名
        /// </summary>
        [DataMember]
        public string mailDisplayName { get; set; }
        /// <summary>
        /// SMTP äº‹åŠ¡çš„ä¸»æœºçš„åç§°æˆ– IP åœ°å€
        /// </summary>
        [DataMember]
        public string mailHost { get; set; }
        /// <summary>
        /// SMTP äº‹åŠ¡çš„ä¸»æœºçš„ç«¯å£å·
        /// </summary>
        [DataMember]
        public int mailPort { get; set; }
        /// <summary>
        /// é‚®ç®±å¯†ç (加密)
        /// </summary>
        [DataMember]
        public string mailPwd { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/Mail/SMTPManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
//=====================================================================================
// All Rights Reserved , Copyright Â© Learun 2013
//=====================================================================================
using iWareCommon.Utils;
using System.Net.Mail;
namespace iWareCommon
{
    /// <summary>
    /// å‘送邮件
    /// </summary>
    public class SMTPManager
    {
        /// <summary>
        /// å‘送邮件
        /// </summary>
        /// <param name="recipientsAddressRange">邮件收件人集合</param>
        /// <param name="MailSubject">邮件标题</param>
        /// <param name="Describe">内容</param>
        /// <param name="File_Path">附件</param>
        /// <returns></returns>
        public static void MailSending(MailBaseData _MailBaseData, string recipientsAddressRange,
            string MailSubject, string Describe, string File_Path)
        {
            try
            {
                if (File_Path == null)
                    File_Path = "";
                MailAddress from = new MailAddress(_MailBaseData.mailAddress, _MailBaseData.mailDisplayName); //邮件的发件人
                MailMessage mail = new MailMessage();
                //设置邮件的标题
                mail.Subject = MailSubject;//任务名称
                //设置邮件的发件人
                //Pass:如果不想显示自己的邮箱地址,这里可以填符合mail格式的任意名称,真正发mail的用户不在这里设定,这个仅仅只做显示用
                mail.From = from;
                //设置邮件的收件人
                string address = "";
                string displayName = "";
                /**/
                /*  è¿™é‡Œè¿™æ ·å†™æ˜¯å› ä¸ºå¯èƒ½å‘给多个联系人,每个地址用 ; å·éš”å¼€
                ä¸€èˆ¬ä»Žåœ°å€ç°¿ä¸­ç›´æŽ¥é€‰æ‹©è”系人的时候格式都会是 ï¼šç”¨æˆ·å1 < mail1 >; ç”¨æˆ·å2 < mail 2>;
                å› æ­¤å°±æœ‰äº†ä¸‹é¢ä¸€æ®µé€»è¾‘不太好的代码
                å¦‚果永远都只需要发给一个收件人那么就简单了 mail.To.Add("收件人mail");
                */
                string[] mailNames = (recipientsAddressRange + ";").Split(';');
                foreach (string name in mailNames)
                {
                    if (name != string.Empty)
                    {
                        if (name.IndexOf('<') > 0)
                        {
                            displayName = name.Substring(0, name.IndexOf('<'));
                            address = name.Substring(name.IndexOf('<') + 1).Replace('>', ' ');
                        }
                        else
                        {
                            displayName = string.Empty;
                            address = name.Substring(name.IndexOf('<') + 1).Replace('>', ' ');
                        }
                        mail.To.Add(new MailAddress(address, displayName));
                    }
                }
                //设置邮件的抄送收件人
                //这个就简单多了,如果不想快点下岗重要文件还是CC一份给领导比较好
                //mail.CC.Add(new MailAddress("Manage@hotmail.com", "尊敬的领导");
                //设置邮件的内容
                Describe += "<br/><br/><br/>";//增加换行
                mail.Body = Describe;
                //设置邮件的格式
                mail.BodyEncoding = System.Text.Encoding.UTF8;
                mail.IsBodyHtml = true;
                //设置邮件的发送级别
                mail.Priority = MailPriority.Normal;
                //设置邮件的附件,将在客户端选择的附件先上传到服务器保存一个,然后加入到mail中
                if (File_Path != "")
                {
                    mail.Attachments.Add(new Attachment(File_Path));
                    mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
                }
                SmtpClient client = new SmtpClient();
                //设置用于 SMTP äº‹åŠ¡çš„ä¸»æœºçš„åç§°ï¼Œå¡«IP地址也可以了
                client.Host = _MailBaseData.mailHost;
                //设置用于 SMTP äº‹åŠ¡çš„ç«¯å£ï¼Œé»˜è®¤çš„æ˜¯ 25
                client.Port = _MailBaseData.mailPort;
                client.UseDefaultCredentials = true;
                //这里才是真正的邮箱登陆名和密码, æˆ‘的用户名为 MailUser ï¼Œæˆ‘的密码是 MailPwd
                string strMailPwd = DESEncrypt.Decrypt(_MailBaseData.mailPwd);
                client.Credentials = new System.Net.NetworkCredential(_MailBaseData.mailAddress, strMailPwd.Trim());
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                ////如果发送失败,SMTP æœåŠ¡å™¨å°†å‘é€ å¤±è´¥é‚®ä»¶å‘Šè¯‰æˆ‘
                mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
                //都定义完了,正式发送了,很是简单吧!
                client.Send(mail);
            }
            catch
            {
                throw;
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/MyBase64Helper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
namespace iWareCommon.Utils
{
    public class MyBase64Helper
    {
        private static string myBase64Chars = "LMNrstuOPQABCDEF#$%GHIJKmnopqvwxyRSTUVWXYZ~@^&*(abcdefghijklz+-)";
        /// <summary>
        /// è‡ªå®šä¹‰çš„将字节码数字转base64的算法
        /// </summary>
        /// <param name="bytes"></param>
        /// <returns></returns>
        public static string ToBase64String(byte[] bytes)
        {
            var str = "";
            foreach (var b in bytes) { str += Convert.ToString(b,2).PadLeft(8,'0');}
            var nb = str.Length % 6;
            if(nb > 0) {nb = 6 - nb;}
            str += "".PadLeft(nb, '0');
            var res = "";
            for (var i = 0; i < str.Length; i += 6)
            {
                var subStr = str.Substring(i, 6);
                var index = Convert.ToByte(subStr, 2);
                res += myBase64Chars[index];
            }
            res += "".PadLeft(nb, '=');
            return res;
        }
        /// <summary>
        /// è‡ªåŠ¨ä¹‰çš„å°†Base64串转字节码数字
        /// </summary>
        /// <param name="bytes"></param>
        /// <returns></returns>
        public static byte[] ToBytes(string str)
        {
            var nb = 0;
            var p = str.IndexOf('=');
            if (p > -1) { nb = str.Length - p; }
            var t = "";
            for (var i = 0; i < str.Length - nb; i++)
            {
                var ind = myBase64Chars.IndexOf(str[i]);
                t += Convert.ToString(ind, 2).PadLeft(6, '0');
            }
            var bytes = new List<byte>();
            for (var i = 0; i < t.Length - nb; i += 8)
            {
                var subStr = t.Substring(i, 8);
                bytes.Add(Convert.ToByte(subStr, 2));
            }
            return bytes.ToArray();
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/PageHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    /// <summary>
    /// åˆ†é¡µå¸®åŠ©ç±»
    /// </summary>
    public class PageHelper
    {
        /// <summary>
        /// åˆ†é¡µ
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <param name="source"></param>
        /// <param name="PageNum">每页显示条数</param>
        /// <param name="PageIndex">第几页</param>
        /// <returns></returns>
        public static List<TEntity> Page<TEntity>(IQueryable<TEntity> source, int PageNum, int PageIndex) where TEntity : class
        {
            List<TEntity> list = new List<TEntity>();
            int count = PageNum * (PageIndex - 1);
            list = source.Skip<TEntity>(count).Take<TEntity>(PageNum).ToList<TEntity>();
            return list;
        }
        /// <summary>
        /// åˆ†é¡µ
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <param name="source"></param>
        /// <param name="PageNum">每页显示条数</param>
        /// <param name="PageIndex">第几页</param>
        /// <returns></returns>
        public static List<TEntity> Page<TEntity>(IList<TEntity> source, int PageNum, int PageIndex) where TEntity : class
        {
            List<TEntity> list = new List<TEntity>();
            int count = PageNum * (PageIndex - 1);
            list = source.Skip<TEntity>(count).Take<TEntity>(PageNum).ToList<TEntity>();
            return list;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/RandomHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    public class RandomHelper
    {
        /// <summary>
        ///生成制定位数的随机码(数字)
        /// </summary>
        /// <param name="length"></param>
        /// <returns></returns>
        public static string GenerateRandomCode(int length)
        {
            var result = new StringBuilder();
            for (var i = 0; i < length; i++)
            {
                var r = new Random(Guid.NewGuid().GetHashCode());
                result.Append(r.Next(0, 10));
            }
            return result.ToString();
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/StringHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,159 @@
using System;
namespace iWareCommon.Utils
{
    public class StringHelper
    {
        private static string charStr = "0123456789";
        /// <summary>
        /// æ¢è¡Œå­—符串
        /// </summary>
        /// <param name="log"></param>
        /// <returns></returns>
        public static string GetNewLine()
        {
            return "\r\n";
        }
        /// <summary>
        /// èŽ·å–æ—¥å¿—
        /// </summary>
        /// <param name="log"></param>
        /// <returns></returns>
        public static string GetLog(string log)
        {
            return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " ----- " + log + GetNewLine();
        }
        /// <summary>
        /// æ ¼å¼åŒ–字符串,将物料中的单引号格式化为两个单引号
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string RelpaceQuot(string str)
        {
            return string.IsNullOrEmpty(str) ? "" : str.Replace("'", "''");
        }
        /// <summary>
        /// å°†åž‹å¦‚yyyyMMdd的日期类型转为yyyy-MM-dd的日期类型
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string ConvertDateTimeStr(string str)
        {
            if (string.IsNullOrEmpty(str) || str.Length != 8)
            {
                return str;
            }
            return str.Substring(0, 4) + "-" + str.Substring(4, 2) + "-" + str.Substring(6, 2);
        }
        /// <summary>
        /// èŽ·å–ä¸‹ä¸€ä¸ªå­—ç¬¦ä¸²
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string NextStr(string str)
        {
            var charArray = charStr.ToCharArray();
            var len = str.Length;
            if (str == "".PadLeft(len, charArray[charArray.Length - 1])) { return "".PadLeft(len + 1, charArray[0]); }
            var strArray = str.ToCharArray();
            for (var i = 0; i < strArray.Length; i++)
            {
                var pos = charStr.IndexOf(strArray[i]);
                if (pos < charArray.Length - 1)
                {
                    strArray[i] = charArray[pos + 1];
                    break;
                }
                strArray[i] = charArray[0];
            }
            return new string(strArray);
        }
        /// <summary>
        /// èŽ·å–ç¬¬ä¸€ä¸ªå­—ç¬¦ä¸²
        /// </summary>
        /// <returns></returns>
        public static string GetFirstStr()
        {
            var charArray = charStr.ToCharArray();
            return "".PadLeft(6, charArray[0]);
        }
        /// <summary>
        /// åŽ‹ç¼©å­—ç¬¦ä¸²çš„ç®—æ³•
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string Compress(string str)
        {
            var res = "";
            var lastChar = "\0";
            var frequency = 0;
            var currentChar = string.Empty;
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i].ToString() != lastChar)
                {
                    if (!string.IsNullOrEmpty(currentChar)) { res += (frequency - 1 > 0 ? (frequency - 1).ToString() : string.Empty) + currentChar; }
                    currentChar = str[i].ToString();
                    lastChar = currentChar;
                    frequency = 1;
                }
                else { frequency += 1; }
            }
            if (!string.IsNullOrEmpty(currentChar)) { res += (frequency - 1 > 0 ? (frequency - 1).ToString() : string.Empty) + currentChar; }
            return res;
        }
        /// <summary>
        /// è§£åŽ‹å­—ç¬¦ä¸²çš„ç®—æ³•
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string DeCompress(string str)
        {
            var nChars = "0123456789";
            var res = "";
            var nbStr = "0";
            for (int i = 0; i < str.Length; i++)
            {
                if (nChars.IndexOf(str[i]) > -1) { nbStr += str[i]; }
                else
                {
                    var nb = Convert.ToInt32(nbStr) + 1;
                    res += "".PadLeft(nb, str[i]);
                    nbStr = "0";
                }
            }
            return res;
        }
        /// <summary>
        /// èŽ·å–str字符串中key的值
        /// </summary>
        /// <param name="syntax"></param>
        /// <param name="key"></param>
        public static string GetValue(string syntax, string key)
        {
            var str = string.Format("\"{0}\":", key);
            var index = syntax.IndexOf(str);
            if (index < 0)
            {
                return "";
            }
            var beginIndex = syntax.IndexOf("\"", index + str.Length);
            var endIndex = syntax.IndexOf("\"", beginIndex + 1);
            return syntax.Substring(beginIndex + 1, endIndex - beginIndex - 1);
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/SysHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
using iWareCommon.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon
{
    public class SysHelper
    {
        /// <summary>
        /// ç¿»è¯‘
        /// </summary>
        /// <param name="languageFlg">0 ä¸­æ–‡  1英文</param>
        /// <param name="chinese"></param>
        /// <param name="english"></param>
        public static string Language(int languageFlg, string chinese, string english)
        {
            if (languageFlg == 0)
                return chinese;
            return english;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/SysMessageUtil.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
using iWareCommon.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace iWareCommon
{
    public class SysMessageUtil
    {
        public static bool ConfirmYesNo(int languageFlg, string prompt)
        {
            var msg = SysHelper.Language(languageFlg, "确认", "Confirm");
            return (MessageBox.Show(prompt, "msg", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes);
        }
        public static DialogResult ConfirmYesNoCancel(int languageFlg, string prompt)
        {
            var msg = SysHelper.Language(languageFlg, "确认", "Confirm");
            return MessageBox.Show(prompt, msg, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
        }
        public static DialogResult ShowError(int languageFlg, string message)
        {
            var msg = SysHelper.Language(languageFlg, "错误", "Error");
            return MessageBox.Show(message, msg, MessageBoxButtons.OK, MessageBoxIcon.Hand);
        }
        public static DialogResult ShowTips(int languageFlg, string message)
        {
            var msg = SysHelper.Language(languageFlg, "提示", "Alert");
            return MessageBox.Show(message, msg, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
        }
        public static DialogResult ShowWarning(int languageFlg, string message)
        {
            var msg = SysHelper.Language(languageFlg, "警告", "Warning");
            return MessageBox.Show(message, msg, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
        public static DialogResult ShowYesNoAndError(int languageFlg, string message)
        {
            var msg = SysHelper.Language(languageFlg, "错误", "Error");
            return MessageBox.Show(message, msg, MessageBoxButtons.YesNo, MessageBoxIcon.Hand);
        }
        public static DialogResult ShowYesNoAndTips(int languageFlg, string message)
        {
            var msg = SysHelper.Language(languageFlg, "提示", "Alert");
            return MessageBox.Show(message, msg, MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
        }
        public static DialogResult ShowYesNoAndWarning(int languageFlg, string message)
        {
            var msg = SysHelper.Language(languageFlg, "警告", "Warning");
            return MessageBox.Show(message, msg, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
        }
        public static DialogResult ShowYesNoCancelAndTips(int languageFlg, string message)
        {
            var msg = SysHelper.Language(languageFlg, "提示", "Alert");
            return MessageBox.Show(message, msg, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk);
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/TaskNoHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using System;
using System.Threading;
namespace iWareCommon.Utils
{
    /// <summary>
    /// ä»»åŠ¡å·å¸®åŠ©ç±»
    /// </summary>
    public class TaskNoHelper
    {
        private readonly static object obj = new object();
        /// <summary>
        /// ç”Ÿæˆå”¯ä¸€çš„XiGang任务号
        /// </summary>
        /// <param name="categroy">类别</param>
        /// <returns></returns>
        public static string GenerateTaskNo(string categroy)
        {
            var newTaskNo = "";
            lock (obj)
            {
                Thread.Sleep(1000);//休眠1秒
                newTaskNo = categroy + "_" + DateTime.Now.ToString("yyyyMMddHHmmss");
            }
            return newTaskNo;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/TextHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCommon.Utils
{
    public class TextHelper
    {
        /// <summary>
        /// è¯»å–text文本内容
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public static string ReadText(string path)
        {
            try
            {
                StreamReader sr = new StreamReader(path, Encoding.Default);
                String line;
                StringBuilder sb = new StringBuilder();
                while ((line = sr.ReadLine()) != null)
                {
                    sb.Append(line.ToString() + " \n");
                }
                return sb.ToString();
            }
            catch
            {
                throw;
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ThreadHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
using System.Threading;
namespace iWareCommon.Utils
{
    public class ThreadHelper
    {
        /// <summary>
        /// å¼€å¯çº¿ç¨‹
        /// </summary>
        public static void StartThread(Thread thread)
        {
            if (thread != null)
            {
                thread.IsBackground = true;
                thread.Start();
            }
        }
        /// <summary>
        /// å¼€å¯å¸¦å‚数的线程
        /// </summary>
        public static void StartThread(Thread thread, object obj)
        {
            if (thread != null)
            {
                thread.IsBackground = true;
                thread.Start(obj);
            }
        }
        /// <summary>
        /// å…³é—­çº¿ç¨‹
        /// </summary>
        /// <param name="thread">需要关闭的线程</param>
        public static void CloseThread(Thread thread)
        {
            if (thread != null)
            {
                thread.Abort();
            }
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/TreeHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@

using iWareModel;
using System.Collections.Generic;
namespace iWareCommon.Utils
{
    /// <summary>
    /// æ ‘形结构中使用的方法
    /// </summary>
    public class TreeHelper<T> where T:class, ITreeEntity<T>
    {
        /// <summary>
        /// å°†å¹³é¢çš„T拼装成类型记录列表转换为以id为键,子记录列表为值的字典
        /// </summary>
        /// <param name="planContents">平面的T类型的记录</param>
        /// <returns>以id为键,子记录列表为值的字典</returns>
        public static Dictionary<int, List<T>> GetChildrenDictionary(List<T> ts)
        {
            //以id为键,子记录列表为值的字典
            var childrenDictionary = new Dictionary<int, List<T>>();
            foreach (var t in ts)
            {
                if (!childrenDictionary.ContainsKey(t.ParentId))
                {
                    childrenDictionary.Add(t.ParentId, new List<T> { t });
                }
                else
                {
                    childrenDictionary[t.ParentId].Add(t);
                }
            }
            foreach (var t in ts)
            {
                if (childrenDictionary.ContainsKey(t.Id))
                {
                    t.Children = childrenDictionary[t.Id];
                }
            }
            return childrenDictionary;
        }
        /// <summary>
        /// åˆ¤æ–­æ˜¯å¦æ˜¯ä¸»é”®ä¸ºchildId的T记录是否为主键为parentId的T记录的子记录或其本身
        /// </summary>
        /// <param name="parentId">主键为parentId的T记录Id</param>
        /// <param name="childId">主键为childId的T记录Id/param>
        /// <param name="childrenDictionary">以T记录id为键,T子记录为值的T列表</param>
        /// <returns>主键为childId的T记录是否为主键为parentId的T记录的子记录或其本身</returns>
        public static bool IsChildOrEq(int childId, int parentId, Dictionary<int, List<T>> childrenDictionary)
        {
            if (parentId == childId)
            {
                return true;
            }
            if (!childrenDictionary.ContainsKey(parentId))
            {
                return false;
            }
            foreach (var child in childrenDictionary[parentId])
            {
                if (IsChildOrEq(child.Id, childId, childrenDictionary))
                {
                    return true;
                }
            }
            return false;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ValidateDataHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,374 @@
using iWareModel;
using System;
using System.Collections.Generic;
using System.Reflection;
namespace iWareCommon.Utils
{
    /// <summary>
    /// éªŒè¯æ•°æ®é€šç”¨ç±»
    /// </summary>
    public static class ValidateDataHelper
    {
        /// <summary>
        /// éªŒè¯æ˜¯å¦ä¸ºç©º
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="columnsList"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static ValidateResModel ValidateNullOrEmpty<T>(List<ColumnsModel> columnsList, T model)
        {
            ValidateResModel res = new ValidateResModel() { IsValidate = true };//默认验证通过
            ColumnsModel columnsModel = null;
            PropertyInfo property = null;//属性对象
            Object property_value = null;//属性值
            string str = "";
            for (int j = 0; j < columnsList.Count; j++)
            {
                columnsModel = columnsList[j];
                property = typeof(T).GetProperty(columnsModel.PropertyName.Trim());
                if (property == null)
                    throw new Exception("列名'" + columnsModel.PropertyName + "'不存在类中");
                property_value = property.GetValue(model, null);
                if (property.PropertyType == typeof(DateTime) || property.PropertyType == typeof(DateTime?))
                {
                    try
                    {
                        Convert.ToDateTime(property_value);
                    }
                    catch
                    {
                        res.IsValidate = false;
                        res.ValidateMsg = columnsModel.ChinaName + "时间格式不正确";
                        break;
                    }
                }
                else if (property.PropertyType == typeof(string))
                {
                    str = property_value == null ? "" : Convert.ToString(property_value);
                    if (!columnsModel.IsNullable)
                    {//必输
                        if (string.IsNullOrEmpty(str.Trim()))
                        {
                            res.IsValidate = false;
                            res.ValidateMsg = columnsModel.ChinaName + "不能为空";
                            break;
                        }
                    }
                    #region éªŒè¯æ—¥æœŸç±»åž‹çš„字符串格式(因为json这边接收的日期类型都是字符串)
                    if (columnsModel.DataType == typeof(DateTime) && !string.IsNullOrEmpty(str))
                    {//如果是日期类型,并且传入的值不为空,则需要验证日期格式是否正确
                        try
                        {
                            Convert.ToDateTime(property_value);
                        }
                        catch
                        {
                            res.IsValidate = false;
                            res.ValidateMsg = columnsModel.ChinaName + "时间格式不正确";
                            break;
                        }
                    }
                    #endregion
                    #region éªŒè¯æ ¼æž—威治日期类型的字符串格式(因为json这边接收的日期类型都是字符串)
                    /*
                    if (columnsModel.DataType == typeof(GreenwichTimeStamp) && !string.IsNullOrEmpty(str))
                    {//如果是日期类型,并且传入的值不为空,则需要验证日期格式是否正确
                        try
                        {
                            DateTime? dt = WIPCommon.ForamtGreenwichTimeStampToDateTime(str);
                            if (dt == null)
                            {
                                res.IsValidate = false;
                                res.ValidateMsg = columnsModel.ChinaName + "格林威治时间格式不正确";
                            }
                        }
                        catch
                        {
                            res.IsValidate = false;
                            res.ValidateMsg = columnsModel.ChinaName + "格林威治时间格式不正确";
                            break;
                        }
                    }
                    //*/
                    #endregion
                }
                else if (property.PropertyType == typeof(int) || property.PropertyType == typeof(int?))
                {
                    try
                    {
                        int int_temp = 0;
                        var str_temp = property_value == null ? "" : Convert.ToString(property_value);
                        if (!int.TryParse(str_temp, out int_temp))
                        {
                            res.IsValidate = false;
                            res.ValidateMsg = columnsModel.ChinaName + "不是数字类型";
                            break;
                        }
                        if (int_temp == 0)
                        {
                            res.IsValidate = false;
                            res.ValidateMsg = columnsModel.ChinaName + "不能为0";
                            break;
                        }
                        switch (columnsModel.ValidateIntEnum)
                        {
                            case ValidateIntEnum.必须大于0:
                                if (int_temp <= 0)
                                {
                                    res.IsValidate = false;
                                    res.ValidateMsg = columnsModel.ChinaName + "必须大于0";
                                    break;
                                }
                                break;
                            case ValidateIntEnum.必须大于等于0:
                                if (int_temp < 0)
                                {
                                    res.IsValidate = false;
                                    res.ValidateMsg = columnsModel.ChinaName + "必须大于等于0";
                                    break;
                                }
                                break;
                            default:
                                break;
                        }
                    }
                    catch
                    {
                        res.IsValidate = false;
                        res.ValidateMsg = columnsModel.ChinaName + "int格式不正确";
                        break;
                    }
                }
                else if (property.PropertyType == typeof(float) || property.PropertyType == typeof(float?))
                {
                    try
                    {
                        float int_temp = 0;
                        var str_temp = property_value == null ? "" : Convert.ToString(property_value);
                        if (!float.TryParse(str_temp, out int_temp))
                        {
                            res.IsValidate = false;
                            res.ValidateMsg = columnsModel.ChinaName + "不是数字类型";
                            break;
                        }
                        switch (columnsModel.ValidateIntEnum)
                        {
                            case ValidateIntEnum.必须大于0:
                                if (int_temp <= 0)
                                {
                                    res.IsValidate = false;
                                    res.ValidateMsg = columnsModel.ChinaName + "必须大于0";
                                    break;
                                }
                                break;
                            case ValidateIntEnum.必须大于等于0:
                                if (int_temp < 0)
                                {
                                    res.IsValidate = false;
                                    res.ValidateMsg = columnsModel.ChinaName + "必须大于等于0";
                                    break;
                                }
                                break;
                            default:
                                break;
                        }
                    }
                    catch
                    {
                        res.IsValidate = false;
                        res.ValidateMsg = columnsModel.ChinaName + "float格式不正确";
                        break;
                    }
                }
                /*
                else if (property.PropertyType == typeof(long))
                {
                    if (columnsModel.DataType == typeof(UnixTimeStamp))
                    {//验证long类型的unix时间戳
                        try
                        {
                            long timestamp = Convert.ToInt64(property_value);
                            if (timestamp == 0)
                            {
                                res.IsValidate = false;
                                res.ValidateMsg = columnsModel.ChinaName + "unix时间戳不能为0";
                                break;
                            }
                        }
                        catch
                        {
                            res.IsValidate = false;
                            res.ValidateMsg = columnsModel.ChinaName + "unix时间戳格式不正确";
                            break;
                        }
                    }
                }
                //*/
                else if (property.PropertyType == typeof(decimal) || property.PropertyType == typeof(decimal?))
                {
                }
            }
            return res;
        }
        /// <summary>
        /// éªŒè¯æ˜¯å¦ä¸ºç©º
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="columnsList"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static ValidateResModel ValidateNullOrEmpty(List<ValidateModel> columnsList)
        {
            ValidateResModel res = new ValidateResModel() { IsValidate = true };//默认验证通过
            ValidateModel columnsModel = null;
            Object property_value = null;//属性值
            string str = "";
            for (int j = 0; j < columnsList.Count; j++)
            {
                columnsModel = columnsList[j];
                property_value = columnsModel.DataValue;
                #region éªŒè¯æ—¥æœŸç±»åž‹çš„字符串格式(因为json这边接收的日期类型都是字符串)
                if (columnsModel.DataType == typeof(DateTime))
                {//如果是日期类型,并且传入的值不为空,则需要验证日期格式是否正确
                    str = property_value == null ? "" : Convert.ToString(property_value);
                    try
                    {
                        if (!columnsModel.IsNullable)
                        {//必输
                            if (string.IsNullOrEmpty(str.Trim()))
                            {
                                res.IsValidate = false;
                                res.ValidateMsg = columnsModel.ChinaName + "不能为空";
                                break;
                            }
                        }
                        if (!string.IsNullOrEmpty(str.Trim()))
                        {
                            Convert.ToDateTime(property_value);
                        }
                    }
                    catch
                    {
                        res.IsValidate = false;
                        res.ValidateMsg = columnsModel.ChinaName + "时间格式不正确";
                        break;
                    }
                }
                #endregion
                #region éªŒè¯æ ¼æž—威治日期类型的字符串格式(因为json这边接收的日期类型都是字符串)
                /*
                else if (columnsModel.DataType == typeof(GreenwichTimeStamp))
                {//如果是日期类型,并且传入的值不为空,则需要验证日期格式是否正确
                    str = property_value == null ? "" : Convert.ToString(property_value);
                    try
                    {
                        if (!columnsModel.IsNullable)
                        {//必输
                            if (string.IsNullOrEmpty(str.Trim()))
                            {
                                res.IsValidate = false;
                                res.ValidateMsg = columnsModel.ChinaName + "不能为空";
                                break;
                            }
                        }
                        if (!string.IsNullOrEmpty(str.Trim()))
                        {
                            DateTime? dt = WIPCommon.ForamtGreenwichTimeStampToDateTime(str);
                            if (dt == null)
                            {
                                res.IsValidate = false;
                                res.ValidateMsg = columnsModel.ChinaName + "格林威治时间格式不正确";
                            }
                        }
                    }
                    catch
                    {
                        res.IsValidate = false;
                        res.ValidateMsg = columnsModel.ChinaName + "格林威治时间格式不正确";
                        break;
                    }
                }
                //*/
                #endregion
                else if (columnsModel.DataType == typeof(string))
                {
                    str = property_value == null ? "" : Convert.ToString(property_value);
                    if (!columnsModel.IsNullable)
                    {//必输
                        if (string.IsNullOrEmpty(str.Trim()))
                        {
                            res.IsValidate = false;
                            res.ValidateMsg = columnsModel.ChinaName + "不能为空";
                            break;
                        }
                    }
                }
                else if (columnsModel.DataType == typeof(int))
                {
                    try
                    {
                        int timestamp = Convert.ToInt32(property_value);
                        if (timestamp == 0)
                        {
                            res.IsValidate = false;
                            res.ValidateMsg = columnsModel.ChinaName + "不能为0";
                            break;
                        }
                    }
                    catch
                    {
                        res.IsValidate = false;
                        res.ValidateMsg = columnsModel.ChinaName + "int格式不正确";
                        break;
                    }
                }
                /*
                else if (columnsModel.DataType == typeof(UnixTimeStamp))
                {//验证long类型的unix时间戳
                    try
                    {
                        long timestamp = Convert.ToInt64(property_value);
                        if (timestamp == 0)
                        {
                            res.IsValidate = false;
                            res.ValidateMsg = columnsModel.ChinaName + "unix时间戳不能为0";
                            break;
                        }
                    }
                    catch
                    {
                        res.IsValidate = false;
                        res.ValidateMsg = columnsModel.ChinaName + "unix时间戳格式不正确";
                        break;
                    }
                }
                //*/
                else if (columnsModel.DataType == typeof(decimal) || columnsModel.DataType == typeof(decimal?))
                {
                }
            }
            return res;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/Utils/ZipHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
using System;
using System.IO;
using System.IO.Compression;
using System.Text;
namespace iWareCommon.Utils
{
    public class ZipHelper
    {
        /// <summary>
        /// å°†ä¼ å…¥å­—符串以GZip算法压缩后,返回Base64编码字符
        /// </summary>
        /// <param name="rawString">需要压缩的字符串</param>
        /// <returns>压缩后的Base64编码的字符串</returns>
        public static string GZipCompressString(string rawString)
        {
            var bs = Encoding.UTF8.GetBytes(rawString);
            for (var i = 1; i < bs.Length; i += 2) { bs[i] = Convert.ToByte(bs[i] ^ 0x30); }
            return StringHelper.Compress(MyBase64Helper.ToBase64String(bs));
        }
        /// <summary>
        /// å°†ä¼ å…¥çš„二进制字符串资料以GZip算法解压缩
        /// </summary>
        /// <param name="zippedString">经GZip压缩后的二进制字符串</param>
        /// <returns>原始未压缩字符串</returns>
        public static string GZipDecompressString(string zippedString)
        {
            var bs = MyBase64Helper.ToBytes(StringHelper.DeCompress(zippedString));
            for (var i = 1; i < bs.Length; i += 2) { bs[i] = Convert.ToByte(bs[i] ^ 0x30); }
            return Encoding.UTF8.GetString(bs);
        }
        /// <summary>
        /// GZip压缩
        /// </summary>
        /// <param name="rawData"></param>
        /// <returns></returns>
        public static byte[] Compress(byte[] rawData)
        {
            MemoryStream ms = new MemoryStream();
            GZipStream compressedzipStream = new GZipStream(ms, CompressionMode.Compress, true);
            compressedzipStream.Write(rawData, 0, rawData.Length);
            compressedzipStream.Close();
            return ms.ToArray();
        }
        /// <summary>
        /// ZIP解压
        /// </summary>
        /// <param name="zippedData"></param>
        /// <returns></returns>
        public static byte[] Decompress(byte[] zippedData)
        {
            MemoryStream ms = new MemoryStream(zippedData);
            GZipStream compressedzipStream = new GZipStream(ms, CompressionMode.Decompress);
            MemoryStream outBuffer = new MemoryStream();
            byte[] block = new byte[1024];
            while (true)
            {
                int bytesRead = compressedzipStream.Read(block, 0, block.Length);
                if (bytesRead <= 0)
                    break;
                else
                    outBuffer.Write(block, 0, bytesRead);
            }
            compressedzipStream.Close();
            return outBuffer.ToArray();
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/iWareCommon.csproj
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{3583FCF0-92C7-406C-AD78-9FB7C11293CF}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>iWareCommon</RootNamespace>
    <AssemblyName>iWareCommon</AssemblyName>
    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <Deterministic>true</Deterministic>
    <TargetFrameworkProfile />
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Castle.Core">
      <HintPath>DLL\Castle.Core.dll</HintPath>
    </Reference>
    <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>bin\Debug\EntityFramework.dll</HintPath>
    </Reference>
    <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>bin\Debug\EntityFramework.SqlServer.dll</HintPath>
    </Reference>
    <Reference Include="log4net">
      <HintPath>DLL\log4net.dll</HintPath>
    </Reference>
    <Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>DLL\Newtonsoft.Json.dll</HintPath>
    </Reference>
    <Reference Include="NPOI.OOXML">
      <HintPath>..\iWareTestForm\DLL\NPOI.2.3.0\lib\net40\NPOI.OOXML.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Configuration" />
    <Reference Include="System.Core" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Net.Http.WebRequest" />
    <Reference Include="System.Runtime.Serialization" />
    <Reference Include="System.Web" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Xml" />
    <Reference Include="TwinCAT.Ads, Version=2.0.12.0, Culture=neutral, PublicKeyToken=180016cd49e5e8c3, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Windows\Microsoft.NET\assembly\GAC_MSIL\TwinCAT.Ads\v4.0_4.2.164.0__180016cd49e5e8c3\TwinCAT.Ads.dll</HintPath>
    </Reference>
    <Reference Include="WZ.Useful.Commons, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>DLL\WZ.Useful.Commons.dll</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Common\Dao\CommonDao.cs" />
    <Compile Include="Common\Globle\SysGloble.cs" />
    <Compile Include="Common\ParamEntity\AddMainTaskPostParam.cs" />
    <Compile Include="Common\Service\CommonService.cs" />
    <Compile Include="Common\SystemValue.cs" />
    <Compile Include="Utils\CSharpHelper.cs" />
    <Compile Include="Utils\DESEncrypt.cs" />
    <Compile Include="Utils\HTTP\HTTPService.cs" />
    <Compile Include="Utils\HTTP\SSLUtil.cs" />
    <Compile Include="Utils\Mail\MailBaseData.cs" />
    <Compile Include="Utils\Mail\SMTPManager.cs" />
    <Compile Include="Utils\SysHelper.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Properties\Resources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
    <Compile Include="Utils\AutoSizeFormClass.cs" />
    <Compile Include="Utils\Base64Helper.cs" />
    <Compile Include="Utils\ClassHelper.cs" />
    <Compile Include="Utils\ComboBoxHelper.cs" />
    <Compile Include="Utils\ListHelper.cs" />
    <Compile Include="Utils\SysMessageUtil.cs" />
    <Compile Include="Utils\TaskNoHelper.cs" />
    <Compile Include="BusinessHelper\WCSConfigHelper.cs" />
    <Compile Include="Utils\ConfigHelper.cs" />
    <Compile Include="Utils\DataCache.cs" />
    <Compile Include="Utils\DateTimeHelper.cs" />
    <Compile Include="Utils\EnumberHelper.cs" />
    <Compile Include="Utils\DataTableHelper.cs" />
    <Compile Include="Utils\FolderHelper.cs" />
    <Compile Include="Utils\IntHelper.cs" />
    <Compile Include="Utils\Log4Net\C_LogWriter.cs" />
    <Compile Include="Utils\DESHelper.cs" />
    <Compile Include="Utils\EntityPropHelper.cs" />
    <Compile Include="Utils\FileHelper.cs" />
    <Compile Include="Utils\HTTP\HttpHelper.cs" />
    <Compile Include="Utils\IEnumerableHelper.cs" />
    <Compile Include="Utils\Log4Net\Log4NetHelper.cs" />
    <Compile Include="Utils\Log4Net\LogType.cs" />
    <Compile Include="Utils\LogTextHelper.cs" />
    <Compile Include="Utils\MachineHelper.cs" />
    <Compile Include="Utils\MD5Helper.cs" />
    <Compile Include="Utils\MyBase64Helper.cs" />
    <Compile Include="Utils\PageHelper.cs" />
    <Compile Include="Utils\RandomHelper.cs" />
    <Compile Include="Utils\StringHelper.cs" />
    <Compile Include="Utils\TextHelper.cs" />
    <Compile Include="Utils\ThreadHelper.cs" />
    <Compile Include="Utils\TreeHelper.cs" />
    <Compile Include="Utils\ValidateDataHelper.cs" />
    <Compile Include="Utils\ZipHelper.cs" />
  </ItemGroup>
  <ItemGroup>
    <None Include="Common\Dao\_system~.ini" />
    <None Include="Common\Service\_system~.ini" />
    <None Include="log4net_iWare -编辑版.config">
      <SubType>Designer</SubType>
    </None>
    <None Include="log4net_iWare.config">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
      <SubType>Designer</SubType>
    </None>
  </ItemGroup>
  <ItemGroup>
    <Content Include="DLL\EntityFramework.dll" />
    <Content Include="DLL\EntityFramework.SqlServer.dll" />
    <Content Include="DLL\Interop.OPCAutomation.dll" />
    <Content Include="DLL\Newtonsoft.Json.dll" />
    <Content Include="DLL\OpcAccess.dll" />
    <Content Include="DLL\TwinCAT.Ads.dll" />
    <Content Include="DLL\TwinCatAdsAccess.dll" />
    <Content Include="DLL\WZ.Useful.Commons.dll" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="Properties\Resources.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
    </EmbeddedResource>
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\iWareModel\iWareModel.csproj">
      <Project>{556a91f0-34d1-4d23-a1c7-f27e19d916d3}</Project>
      <Name>iWareModel</Name>
    </ProjectReference>
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/log4net_iWare -±à¼­°æ.config
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
<configuration>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>
  <appSettings>
  </appSettings>
  <log4net>
    <!--  æ‰“印【信息】日志-->
    <appender name="Print_Info" type="log4net.Appender.RollingFileAppender">
      <file value="d:\\Log\\WuHanMuYeLog\\iWareCC\\Print_Info\\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <staticLogFileName value="false" />
      <datePattern value="yyyy-MM-dd.LOG" />
      <layout type="log4net.Layout.PatternLayout">
        <!--输出格式-->
        <param name="ConversionPattern" value="%n消息时间:%d [%t] %n消息级别:%-5p %n消 æ¯ ç±»ï¼š%c [%x] %n%m %n "/>
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="Print_Info" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <!--打印【错误】日志-->
    <appender name="Print_Error" type="log4net.Appender.RollingFileAppender">
      <file value="d:\\Log\\WuHanMuYeLog\\iWareCC\\Print_Error\\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <staticLogFileName value="false" />
      <datePattern value="yyyy-MM-dd.LOG" />
      <layout type="log4net.Layout.PatternLayout">
        <!--输出格式-->
        <param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 å¸¸ ç±»ï¼š%c [%x] %n%m %n "/>
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="Print_Error" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="Print_Info"/>
      <appender-ref ref="Print_Error"/>
    </root>
  </log4net>
</configuration>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareCommon/log4net_iWare.config
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
<configuration>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>
  <appSettings>
  </appSettings>
  <log4net>
    <!--  æ‰“印【信息】日志-->
    <appender name="Print_Info" type="log4net.Appender.RollingFileAppender">
      <file value="d:\\Log\\WuHanMuYeLog\\iWareCC\\Print_Info\\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <staticLogFileName value="false" />
      <datePattern value="yyyy-MM-dd.LOG" />
      <layout type="log4net.Layout.PatternLayout">
        <!--输出格式-->
        <param name="ConversionPattern" value="%n消息时间:%d [%t] %n消息级别:%-5p %n消 æ¯ ç±»ï¼š%c [%x] %n%m %n "/>
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="Print_Info" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <!--打印【错误】日志-->
    <appender name="Print_Error" type="log4net.Appender.RollingFileAppender">
      <file value="d:\\Log\\WuHanMuYeLog\\iWareCC\\Print_Error\\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <staticLogFileName value="false" />
      <datePattern value="yyyy-MM-dd.LOG" />
      <layout type="log4net.Layout.PatternLayout">
        <!--输出格式-->
        <param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 å¸¸ ç±»ï¼š%c [%x] %n%m %n "/>
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="Print_Error" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <!--  ç³»ç»Ÿåˆ é™¤æ—¥å¿—【信息】日志-->
    <appender name="Sys_DeleteLog_Info" type="log4net.Appender.RollingFileAppender">
      <file value="d:\\Log\\WuHanMuYeLog\\iWareCC\\Sys_DeleteLog_Info\\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <staticLogFileName value="false" />
      <datePattern value="yyyy-MM-dd.LOG" />
      <layout type="log4net.Layout.PatternLayout">
        <!--输出格式-->
        <param name="ConversionPattern" value="%n消息时间:%d [%t] %n消息级别:%-5p %n消 æ¯ ç±»ï¼š%c [%x] %n%m %n "/>
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="Sys_DeleteLog_Info" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <!--系统删除日志【错误】日志-->
    <appender name="Sys_DeleteLog_Error" type="log4net.Appender.RollingFileAppender">
      <file value="d:\\Log\\WuHanMuYeLog\\iWareCC\\Sys_DeleteLog_Error\\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <staticLogFileName value="false" />
      <datePattern value="yyyy-MM-dd.LOG" />
      <layout type="log4net.Layout.PatternLayout">
        <!--输出格式-->
        <param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 å¸¸ ç±»ï¼š%c [%x] %n%m %n "/>
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="Sys_DeleteLog_Error" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="Print_Info"/>
      <appender-ref ref="Print_Error"/>
      <appender-ref ref="Sys_DeleteLog_Info"/>
      <appender-ref ref="Sys_DeleteLog_Error"/>
    </root>
  </log4net>
</configuration>
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/AGV/AGVRetModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareModel.Entity.AGV
{
    public class AGVRetModel
    {
        public AGVRetModel_alarms alarms { get; set; }
        public List<AGVRetModel_report> report { get; set; }
    }
    public class AGVRetModel_alarms
    {
        public List<AGVRetModel_alarms_errors> errors { get; set; }
    }
    public class AGVRetModel_alarms_errors
    {
        public string code { get; set; }
        public string desc { get; set; }
    }
    public class AGVRetModel_report
    {
        public string vehicle_id { get; set; }
        public bool is_error { get; set; }
        /// <summary>
        /// æœºå™¨äººå¯æŽ¥å•状态,true为可接单,false为不可接单
        /// </summary>
        public bool dispatchable { get; set; }
        /// <summary>
        /// æ˜¯å¦æ­£åœ¨æ‰§è¡Œç”¨æˆ·ä¸‹å‘的任务
        /// </summary>
        public bool procBusiness { get; set; }
        /// <summary>
        /// æœºå™¨äººè¿žæŽ¥çŠ¶æ€ï¼Œ0表示断连,1表示连接上
        /// </summary>
        public int connection_status { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/AGV/AGVRetModelJSON.txt
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,965 @@
{
  "alarms": {
    "errors": [
      {
        "code": 52101,
        "desc": "AMB-02,CPD-01,CPD-02, have no charge point in map.",
        "times": 1,
        "timestamp": 1652583398
      }
    ],
    "fatals": [],
    "notices": [],
    "warnings": []
  },
  "code": 0,
  "create_on": "2022-05-15T15:09:21.593Z",
  "dynamic_obstacle": {},
  "errors": [
    {
      "52101": 1652583398,
      "desc": "AMB-02,CPD-01,CPD-02, have no charge point in map.",
      "times": 1
    }
  ],
  "fatals": [],
  "msg": "ok",
  "notices": [],
  "report": [
    {
      "area_resources_occupied": [
        {
          "area_name": "new",
          "avoidObs_area_occupied": {
            "radius": -1,
            "x": 0,
            "y": 0
          },
          "blocks_occupied": [],
          "path_occupied": [
            {
              "end_id": "PP220",
              "end_percentage": 1,
              "source_id": "AP201",
              "start_percentage": 1
            }
          ]
        }
      ],
      "basic_info": {
        "controller_humi": 5.558,
        "controller_temp": 54.58,
        "controller_voltage": 23.492,
        "current_area": [
          "new"
        ],
        "current_group": "chache",
        "current_map": "weichaiCPD15(10)",
        "dsp_version": "v2.1.24.H1-2-13",
        "ip": "192.168.10.125",
        "model": "ReBoTe-CPD15",
        "robot_note": "",
        "version": "v3.3.5.40"
      },
      "changes": {
        "maps": [],
        "model": false
      },
      "chassis": {
        "goods_region": {
          "name": "",
          "point": []
        },
        "head": 1.48359,
        "radius": 0,
        "shape": 1,
        "tail": 1.123,
        "width": 1.1875
      },
      "connection_status": 1,
      "current_order": {
        "blocks": [
          {
            "blockId": "b3bd44eb-d67d-43e8-8823-7a4cb50f2c0a",
            "containerName": "",
            "location": "PP220",
            "state": "FINISHED"
          }
        ],
        "complete": true,
        "createTime": 1652598268,
        "errors": [],
        "externalId": "",
        "id": "85b8f23a-2b73-4ba7-9975-de7d9a8bdf73",
        "msg": "",
        "notices": [],
        "priority": 1,
        "state": "FINISHED",
        "terminalTime": 1652598269,
        "vehicle": "CPD-02",
        "warnings": []
      },
      "dispatchable": true,
      "is_error": false,
      "lock_info": {
        "desc": "",
        "ip": "192.168.10.120",
        "locked": true,
        "nick_name": "aa9f508a-dbb9690b-351a4b71-1eb4a407",
        "port": 42628,
        "time_t": "1652597731",
        "type": 255
      },
      "network_delay": 101,
      "procBusiness": false,
      "rbk_report": {
        "DI": [
          {
            "id": 0,
            "status": false
          },
          {
            "id": 1,
            "status": false
          },
          {
            "id": 2,
            "status": false
          },
          {
            "id": 3,
            "status": false
          },
          {
            "id": 4,
            "status": false
          },
          {
            "id": 5,
            "status": false
          },
          {
            "id": 6,
            "status": false
          },
          {
            "id": 7,
            "status": false
          },
          {
            "id": 8,
            "status": false
          },
          {
            "id": 9,
            "status": false
          },
          {
            "id": 10,
            "status": false
          }
        ],
        "DO": [
          {
            "id": 0,
            "status": true
          },
          {
            "id": 1,
            "status": false
          },
          {
            "id": 2,
            "status": false
          },
          {
            "id": 3,
            "status": true
          },
          {
            "id": 4,
            "status": false
          },
          {
            "id": 5,
            "status": true
          },
          {
            "id": 6,
            "status": true
          },
          {
            "id": 7,
            "status": true
          },
          {
            "id": 8,
            "status": false
          },
          {
            "id": 9,
            "status": false
          },
          {
            "id": 10,
            "status": false
          }
        ],
        "alarms": {
          "errors": [],
          "fatals": [],
          "notices": [
            {
              "code": 57016,
              "desc": "fork target too low. min_fork_height = 0.085 send_height = 0.08",
              "times": 16,
              "timestamp": 1652598125
            }
          ],
          "warnings": [
            {
              "code": 55001,
              "desc": "The robot is in the dispatching state. If you need to control, please regain control and go offline during dispatching.",
              "times": 1,
              "timestamp": 1652578555
            }
          ]
        },
        "angle": -1.5771,
        "arm_info": {
          "endpos": {
            "rx": 0,
            "ry": 0,
            "rz": 0,
            "w": 0,
            "x": 0,
            "y": 0,
            "z": 0
          },
          "joints": [
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "base",
              "velocity": 0,
              "voltage": 0
            },
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "shoulder",
              "velocity": 0,
              "voltage": 0
            },
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "elbow",
              "velocity": 0,
              "voltage": 0
            },
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "wrist1",
              "velocity": 0,
              "voltage": 0
            },
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "wrist2",
              "velocity": 0,
              "voltage": 0
            },
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "wrist3",
              "velocity": 0,
              "voltage": 0
            }
          ],
          "task_status": 0
        },
        "available_containers": 0,
        "battery_level": 0.44,
        "blocked": false,
        "brake": false,
        "charging": false,
        "confidence": 0.9702,
        "containers": [],
        "current": -2.9,
        "current_map": "weichaiCPD15(10)",
        "current_map_md5": "4ba9d63eab5f84fe82476b4042ff0abc",
        "current_station": "PP220",
        "emergency": false,
        "errors": [],
        "fatals": [],
        "fork": {
          "fork_auto_flag": true,
          "fork_height": 0.3006,
          "fork_height_in_place": true,
          "fork_pressure_actual": 0,
          "forward_in_place": false,
          "forward_val": 0
        },
        "info": {},
        "jack": {
          "jack_emc": false,
          "jack_enable": false,
          "jack_error_code": 0,
          "jack_height": 0,
          "jack_isFull": false,
          "jack_load_times": 1,
          "jack_mode": false,
          "jack_speed": 0,
          "jack_state": 0
        },
        "last_station": "AP201",
        "lock_info": {
          "desc": "",
          "ip": "192.168.10.120",
          "locked": true,
          "nick_name": "aa9f508a-dbb9690b-351a4b71-1eb4a407",
          "port": 42628,
          "time_t": "1652597731",
          "type": 255
        },
        "notices": [
          {
            "57016": 1652598125,
            "desc": "fork target too low. min_fork_height = 0.085 send_height = 0.08",
            "times": 16
          }
        ],
        "odo": 9434.091,
        "received_on": {
          "data_nsec": "21045205452260",
          "frame_id": "",
          "pub_nsec": "21045205452260",
          "seq": "0"
        },
        "reloc_status": 1,
        "requestCurrent": 0,
        "requestVoltage": 0,
        "roller": {
          "roller_emc": false,
          "roller_enable": false,
          "roller_error_code": 0,
          "roller_isFull": false,
          "roller_mode": false,
          "roller_speed": 0,
          "roller_state": 0
        },
        "soft_emc": false,
        "steer": 1.5686,
        "task_status": 4,
        "time": 21009657,
        "today_odo": 477.494,
        "total_containers": 0,
        "total_time": 520088393,
        "voltage": 25.9,
        "vx": 0,
        "vy": 0,
        "w": 0,
        "warnings": [
          {
            "55001": 1652578555,
            "desc": "The robot is in the dispatching state. If you need to control, please regain control and go offline during dispatching.",
            "times": 1
          }
        ],
        "x": -9.145,
        "y": -1.3575
      },
      "undispatchable_reason": {
        "current_map_invalid": false,
        "disconnect": false,
        "dispatchable_status": 0,
        "low_battery": false,
        "suspended": false,
        "unconfirmed_reloc": false,
        "unlock": 0
      },
      "uuid": "CPD-02",
      "vehicle_id": "CPD-02"
    },
    {
      "area_resources_occupied": [
        {
          "area_name": "new",
          "avoidObs_area_occupied": {
            "radius": -1,
            "x": 0,
            "y": 0
          },
          "blocks_occupied": [],
          "path_occupied": [
            {
              "end_id": "LM131",
              "end_percentage": 1,
              "source_id": "LM8",
              "start_percentage": 1
            }
          ]
        }
      ],
      "basic_info": {
        "controller_humi": 5.039,
        "controller_temp": 58.505,
        "controller_voltage": 23.653,
        "current_area": [
          "new"
        ],
        "current_group": "chache",
        "current_map": "weichaiCPD15(10)",
        "dsp_version": "v2.1.28.H1-2-13",
        "ip": "192.168.10.124",
        "model": "ReBoTe-CPD15",
        "robot_note": "",
        "version": "v3.3.5.50"
      },
      "changes": {
        "maps": [],
        "model": false
      },
      "chassis": {
        "goods_region": {
          "name": "",
          "point": [
            {
              "x": 0,
              "y": 0
            },
            {
              "x": 0,
              "y": 0
            },
            {
              "x": 0,
              "y": 0
            },
            {
              "x": 0,
              "y": 0
            }
          ]
        },
        "head": 1.48359,
        "radius": 0,
        "shape": 1,
        "tail": 1.123,
        "width": 1.1875
      },
      "connection_status": 1,
      "current_order": {
        "blocks": [
          {
            "blockId": "f72884b0-9323-47cf-97e7-1be3346d7889",
            "containerName": "",
            "location": "AP202",
            "operation": "ForkLoad",
            "operationArgs": {
              "end_height": 0.3,
              "recfile": "p0001",
              "recognize": false,
              "start_height": 0.08
            },
            "state": "FINISHED"
          },
          {
            "blockId": "0ccae277-1fc3-4c1f-8cb8-bd7eb7b22880",
            "containerName": "",
            "location": "LM131",
            "operation": "Wait",
            "operationArgs": {},
            "state": "FINISHED"
          }
        ],
        "createTime": 1652597905,
        "errors": [],
        "externalId": "ed324dc0-29ab-4ec6-bef7-72cb0d2d054e",
        "group": "chache",
        "id": "b20d7d71-2252-4dfd-9470-62ead3cd44e2",
        "keyRoute": [
          "AP202"
        ],
        "msg": "",
        "notices": [],
        "priority": 1,
        "state": "WAITING",
        "vehicle": "CPD-01",
        "warnings": []
      },
      "dispatchable": true,
      "is_error": false,
      "lock_info": {
        "desc": "",
        "ip": "192.168.10.120",
        "locked": true,
        "nick_name": "aa9f508a-dbb9690b-351a4b71-1eb4a407",
        "port": 32842,
        "time_t": "1652597507",
        "type": 255
      },
      "network_delay": 99,
      "procBusiness": true,
      "rbk_report": {
        "DI": [
          {
            "id": 0,
            "status": false
          },
          {
            "id": 1,
            "status": true
          },
          {
            "id": 2,
            "status": false
          },
          {
            "id": 3,
            "status": false
          },
          {
            "id": 4,
            "status": false
          },
          {
            "id": 5,
            "status": false
          },
          {
            "id": 6,
            "status": false
          },
          {
            "id": 7,
            "status": false
          },
          {
            "id": 8,
            "status": false
          },
          {
            "id": 9,
            "status": false
          },
          {
            "id": 10,
            "status": false
          }
        ],
        "DO": [
          {
            "id": 0,
            "status": true
          },
          {
            "id": 1,
            "status": false
          },
          {
            "id": 2,
            "status": false
          },
          {
            "id": 3,
            "status": true
          },
          {
            "id": 4,
            "status": false
          },
          {
            "id": 5,
            "status": true
          },
          {
            "id": 6,
            "status": true
          },
          {
            "id": 7,
            "status": true
          },
          {
            "id": 8,
            "status": false
          },
          {
            "id": 9,
            "status": false
          },
          {
            "id": 10,
            "status": false
          }
        ],
        "alarms": {
          "errors": [],
          "fatals": [],
          "notices": [
            {
              "code": 57016,
              "desc": "fork target too low. min_fork_height = 0.085 send_height = 0.08",
              "times": 17,
              "timestamp": 1652597993
            }
          ],
          "warnings": [
            {
              "code": 55001,
              "desc": "The robot is in the dispatching state. If you need to control, please regain control and go offline during dispatching.",
              "times": 1,
              "timestamp": 1652597507
            }
          ]
        },
        "angle": 0.0024,
        "arm_info": {
          "endpos": {
            "rx": 0,
            "ry": 0,
            "rz": 0,
            "w": 0,
            "x": 0,
            "y": 0,
            "z": 0
          },
          "joints": [
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "base",
              "velocity": 0,
              "voltage": 0
            },
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "shoulder",
              "velocity": 0,
              "voltage": 0
            },
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "elbow",
              "velocity": 0,
              "voltage": 0
            },
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "wrist1",
              "velocity": 0,
              "voltage": 0
            },
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "wrist2",
              "velocity": 0,
              "voltage": 0
            },
            {
              "angle": 0,
              "current": 0,
              "temperature": 0,
              "type": "wrist3",
              "velocity": 0,
              "voltage": 0
            }
          ],
          "task_status": 0
        },
        "available_containers": 0,
        "battery_level": 0.29,
        "blocked": false,
        "brake": false,
        "charging": false,
        "confidence": 0.6798,
        "containers": [],
        "current": -2.9,
        "current_map": "weichaiCPD15(10)",
        "current_map_md5": "4ba9d63eab5f84fe82476b4042ff0abc",
        "current_station": "LM131",
        "emergency": false,
        "errors": [],
        "fatals": [],
        "fork": {
          "fork_auto_flag": true,
          "fork_height": 0.3014,
          "fork_height_in_place": true,
          "fork_pressure_actual": 0,
          "forward_in_place": false,
          "forward_val": 0
        },
        "info": {},
        "jack": {
          "jack_emc": false,
          "jack_enable": false,
          "jack_error_code": 0,
          "jack_height": 0,
          "jack_isFull": false,
          "jack_load_times": 1,
          "jack_mode": false,
          "jack_speed": 0,
          "jack_state": 0
        },
        "last_station": "LM8",
        "lock_info": {
          "desc": "",
          "ip": "192.168.10.120",
          "locked": true,
          "nick_name": "aa9f508a-dbb9690b-351a4b71-1eb4a407",
          "port": 32842,
          "time_t": "1652597507",
          "type": 255
        },
        "notices": [
          {
            "57016": 1652597993,
            "desc": "fork target too low. min_fork_height = 0.085 send_height = 0.08",
            "times": 17
          }
        ],
        "odo": 21701.039,
        "received_on": {
          "data_nsec": "1652598640885",
          "frame_id": "",
          "pub_nsec": "1652598640885",
          "seq": "0"
        },
        "reloc_status": 1,
        "requestCurrent": 0,
        "requestVoltage": 0,
        "roller": {
          "roller_emc": false,
          "roller_enable": false,
          "roller_error_code": 0,
          "roller_isFull": false,
          "roller_mode": false,
          "roller_speed": 0,
          "roller_state": 0
        },
        "soft_emc": false,
        "steer": 0,
        "task_status": 4,
        "time": 21016761,
        "today_odo": 2321.449,
        "total_containers": 0,
        "total_time": 549254373,
        "voltage": 25.7,
        "vx": 0,
        "vy": 0,
        "w": 0,
        "warnings": [
          {
            "55001": 1652597507,
            "desc": "The robot is in the dispatching state. If you need to control, please regain control and go offline during dispatching.",
            "times": 1
          }
        ],
        "x": 63.5789,
        "y": -3.1024
      },
      "undispatchable_reason": {
        "current_map_invalid": false,
        "disconnect": false,
        "dispatchable_status": 0,
        "low_battery": false,
        "suspended": false,
        "unconfirmed_reloc": false,
        "unlock": 0
      },
      "uuid": "CPD-01",
      "vehicle_id": "CPD-01"
    },
    {
      "area_resources_occupied": [
        {
          "area_name": "new",
          "avoidObs_area_occupied": {
            "radius": -1,
            "x": 0,
            "y": 0
          },
          "blocks_occupied": [],
          "path_occupied": [
            {
              "end_id": "PP63",
              "end_percentage": 1,
              "source_id": "LM133",
              "start_percentage": 1
            }
          ]
        }
      ],
      "basic_info": {
        "controller_humi": null,
        "controller_temp": null,
        "controller_voltage": null,
        "current_area": [
          "new"
        ],
        "current_group": "zhuangpeixian",
        "current_map": "xdt20.5_1",
        "dsp_version": null,
        "ip": null,
        "model": null,
        "robot_note": null,
        "version": null
      },
      "changes": {},
      "chassis": {
        "goods_region": {
          "name": "",
          "point": []
        },
        "head": 0.59,
        "radius": 0,
        "shape": 1,
        "tail": 0.59,
        "width": 0.86
      },
      "connection_status": 1,
      "current_order": {
        "blocks": [
          {
            "blockId": "d724db04-20f5-4523-b97a-ee6f72565988",
            "containerName": "",
            "location": "PP63",
            "state": "FINISHED"
          }
        ],
        "complete": true,
        "createTime": 1652583494,
        "errors": [],
        "externalId": "",
        "id": "aabb977d-6bf6-45d0-be97-c43f6abfc1f7",
        "msg": "",
        "notices": [],
        "priority": 1,
        "state": "FINISHED",
        "terminalTime": 1652583541,
        "vehicle": "AMB-02",
        "warnings": []
      },
      "dispatchable": true,
      "is_error": false,
      "lock_info": {
        "desc": "",
        "ip": "",
        "locked": true,
        "nick_name": "aa9f508a-dbb9690b-351a4b71-1eb4a407",
        "port": 0,
        "time_t": "",
        "type": 0
      },
      "network_delay": null,
      "procBusiness": false,
      "rbk_report": {
        "DI": [],
        "DO": [],
        "alarms": {
          "errors": [],
          "fatals": [],
          "notices": [],
          "warnings": []
        },
        "angle": -1.5708,
        "arm_info": null,
        "available_containers": 0,
        "battery_level": 1,
        "blocked": false,
        "brake": null,
        "charging": false,
        "confidence": 1,
        "containers": [],
        "current": 0,
        "current_map": "xdt20.5_1",
        "current_map_md5": "",
        "current_station": "",
        "emergency": false,
        "errors": [],
        "fatals": [],
        "fork": {
          "fork_height": 0.1
        },
        "info": {
          "pickingRobotInfo": {
            "trays": []
          }
        },
        "jack": {
          "jack_height": 0.4
        },
        "last_station": "LM133",
        "lock_info": {
          "desc": "",
          "ip": "",
          "locked": true,
          "nick_name": "aa9f508a-dbb9690b-351a4b71-1eb4a407",
          "port": 0,
          "time_t": "",
          "type": 0
        },
        "notices": [],
        "odo": null,
        "received_on": {
          "data_nsec": "86558416496887",
          "frame_id": "",
          "pub_nsec": "86558416496887",
          "seq": "0"
        },
        "reloc_status": 1,
        "requestCurrent": 0,
        "requestVoltage": 0,
        "roller": null,
        "soft_emc": null,
        "steer": null,
        "task_status": 4,
        "time": null,
        "today_odo": null,
        "total_containers": 0,
        "total_time": null,
        "voltage": 0,
        "vx": null,
        "vy": null,
        "w": null,
        "warnings": [],
        "x": 40.464,
        "y": -8.735
      },
      "undispatchable_reason": {
        "current_map_invalid": false,
        "disconnect": false,
        "dispatchable_status": 0,
        "low_battery": false,
        "suspended": false,
        "unconfirmed_reloc": false,
        "unlock": 0
      },
      "uuid": "AMB-02",
      "vehicle_id": "AMB-02"
    }
  ],
  "scene_md5": "b5f6a3f9298d6991bca9de52b1cdb54c",
  "terminals": [],
  "warnings": []
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/BindableBase.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@

using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace iWareModel
{
    /// <summary>
    /// æ­¤ç±»ç”¨äºŽå±žæ€§æ”¹å˜æ—¶çš„基础类
    /// </summary>
    public class BindableBase : INotifyPropertyChanged
    {
        protected void SetProperty<T>(ref T prop, T value, [CallerMemberName] string callerName = "")
        {
            if (!EqualityComparer<T>.Default.Equals(prop, value))
            {
                prop = value;
                OnPropertyChanged(callerName);
            }
        }
        protected virtual void OnPropertyChanged(string propertyName)
        {
            var propertyChanged = PropertyChanged;
            if (propertyChanged != null)
            {
                propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
        public event PropertyChangedEventHandler PropertyChanged;
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/Context.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@

namespace iWareModel
{
    /// <summary>
    /// ç­–略上下文类
    /// </summary>
    public class Context
    {
        //使用策略
        private IStrategy Strategy;
        public Context(IStrategy strategy)
        {
            this.Strategy = strategy;
        }
        /// <summary>
        /// è°ƒç”¨æ–¹æ³•
        /// </summary>
        public void Invoke()
        {
            Strategy.DoJob();
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/Device/DeviceCoordinat.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareModel.Entity.Device
{
    /// <summary>
    /// è®¾å¤‡åæ ‡
    /// </summary>
    public class DeviceCoordinat
    {
        public string Srm1Coordinat { get; set; }
        public string Srm2Coordinat { get; set; }
        public string Srm3Coordinat { get; set; }
        public string Srm4Coordinat { get; set; }
        public int RgvCoordinate { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/EnumberEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareModel
{
    /// <summary>
    /// æžšä¸¾å®žä½“ç±»
    /// </summary>
    public class EnumberEntity
    {
        /// <summary>
        /// æžšä¸¾çš„æè¿°
        /// </summary>
        public string Desction { set; get; }
        /// <summary>
        /// æžšä¸¾åç§°
        /// </summary>
        public string EnumName { set; get; }
        /// <summary>
        /// æžšä¸¾å¯¹è±¡çš„值
        /// </summary>
        public int EnumValue { set; get; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/Huffman.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,220 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace iWareModel
{
    public class Huffman
    {
        /// <summary>
        /// åŽŸå§‹çš„ç¼–ç å­—ç¬¦çš„é›†åˆ
        /// </summary>
        private char[] mDict;
        /// <summary>
        /// åŽŸå§‹ç¼–ç å­—ç¬¦ä¸­å®žé™…ä½¿ç”¨åˆ°çš„å­—ç¬¦é›†ï¼ˆç”¨äºŽéœ€è¦ç¼–ç çš„å­—ç¬¦ä¸²ä¸­çš„å­—ç¬¦å°äºŽæ‰€å®šä¹‰çš„å­—ç¬¦é›†ï¼‰
        /// </summary>
        private char[] mCntDict;
        /// <summary>
        /// æ— å‚构造函数
        /// </summary>
        public Huffman()
        {
            this.mDict = new char[0];
            mCntDict = mDict;
        }
        /// <summary>
        /// æž„造函数,给定Haffman字符的字段集合
        /// </summary>
        /// <param name="dict"></param>
        public Huffman(char[] dict)
        {
            this.mDict = dict.Distinct().ToArray();
            mCntDict = mDict;
        }
        /// <summary>
        /// æž„造函数,给定Haffman字符的字段集合
        /// </summary>
        public Huffman(string dict)
        {
            this.mDict = dict.ToCharArray().Distinct().ToArray();
            mCntDict = mDict;
        }
        /// <summary>
        /// å°†å­—符串转Huffman码,并且生成字符转换的关键字典集
        /// </summary>
        /// <param name="key">导出的关键字字典</param>
        /// <param name="str">需要编码的huffman集合</param>
        /// <returns></returns>
        public string StringToHuffmanCode(out Dictionary<char, string> key, string str)
        {
            var tmps = GetWeightArray(str);
            var tree = CreateHuffmanTree(tmps);
            key = CreateHuffmanCode("", tree);
            return ToHuffmanCode(str, key);
        }
        /// <summary>
        /// å…³é”®å…³é”®å­—典将编码还原
        /// </summary>
        /// <param name="code"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public string ToText(string code, Dictionary<char, string> key)
        {
            string result = "";
            for (int i = 0; i < code.Length; )
            {
                foreach (var item in key)
                {
                    if (code[i] == item.Value[0] && item.Value.Length + i <= code.Length)
                    {
                        char[] tmpArr = new char[item.Value.Length];
                        Array.Copy(code.ToCharArray(), i, tmpArr, 0, tmpArr.Length);
                        if (new string(tmpArr) == item.Value)
                        {
                            result += item.Key;
                            i += item.Value.Length;
                            break;
                        }
                    }
                }
            }
            return result;
        }
        /// <summary>
        /// è®¡ç®—每个字符串的权重
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        private Node[] GetWeightArray(string str)
        {
            var nodes = new List<Node>();
            var charArr = str.ToCharArray();
            if (charArr.Length < mDict.Length)
            {
                mCntDict = new char[charArr.Length];
                Array.Copy(mDict, 0, mCntDict, 0, charArr.Length);
            }
            while (charArr.Length > 0)
            {
                var tmp = charArr.Where(m => m == charArr[0]).ToArray();
                nodes.Add(new Node(tmp.Length, tmp.First()));
                charArr = charArr.Where(m => m != tmp.First()).ToArray();
            }
            return nodes.ToArray();
        }
        /// <summary>
        /// ç”ŸæˆHaffman树的算法
        /// </summary>
        /// <param name="nodes">原始的节点集合</param>
        /// <returns>生成好的Haffman树</returns>
        private Node CreateHuffmanTree(Node[] nodes)
        {
            if (nodes.Length <= mCntDict.Length)
            {
                var node = new Node(0, '\0');
                node.Children = nodes;
                foreach (var n in nodes) { node.Weight += n.Weight; }
                return node;
            }
            Array.Sort(nodes);
            var newNode = new Node(0, '\0');
            newNode.Children = new Node[mCntDict.Length];
            for (int i = nodes.Length - 1, j = 0; i >= 0; i--, j++)
            {
                if (j >= mCntDict.Length) { break;}
                newNode.Weight += nodes[i].Weight;
                newNode.Children[j] = nodes[i];
            }
            var newNodes = new Node[nodes.Length - mCntDict.Length + 1];
            Array.Copy(nodes, 0, newNodes, 0, newNodes.Length - 1);
            newNodes[newNodes.Length - 1] = newNode;
            return CreateHuffmanTree(newNodes);
        }
        /// <summary>
        /// ç”Ÿæˆå…³é”®å­—典集
        /// </summary>
        /// <param name="code">默认填充字符</param>
        /// <param name="hTree"></param>
        /// <returns></returns>
        private Dictionary<char, string> CreateHuffmanCode(string code, Node hTree)
        {
            var key = new Dictionary<char, string>();
            if (hTree.Children == null)
            {
                key.Add(hTree.Key, code);
            }
            else
            {
                for (int i = 0; i < hTree.Children.Length; i++)
                {
                    var tmpDict = CreateHuffmanCode(code + mCntDict[i], hTree.Children[i]);
                    foreach (var item in tmpDict)
                    {
                        key.Add(item.Key, item.Value);
                    }
                }
            }
            return key;
        }
        /// <summary>
        /// å…³é”®ç”Ÿæˆçš„æ•°å°†å­—符转出Haffman码
        /// </summary>
        /// <param name="source"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        private string ToHuffmanCode(string source, Dictionary<char, string> key)
        {
            string result = "";
            for (int i = 0; i < source.Length; i++)
            {
                result += key.First(m => m.Key == source[i]).Value;
            }
            return result;
        }
    }
    public class Node : IComparable
    {
        public Node[] Children { get; set; }
        public int Weight { get; set; }
        public char Key { get; set; }
        public Node() { }
        public Node(int weight, char value)
        {
            this.Weight = weight;
            this.Key = value;
        }
        /// <summary>
        /// å…³é”®æƒé‡é™åºæŽ’序
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public int CompareTo(object obj)
        {
            var tmp = obj as Node;
            if (tmp.Weight > this.Weight) { return 1; }
            if (tmp.Weight < this.Weight) { return -1; }
            return 0;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/IBuilder.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@

namespace iWareModel
{
    /// <summary>
    /// æž„建者接口
    /// </summary>
    public interface IBuilder
    {
        //构建
        void Bulid();
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ICommonEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
namespace iWareModel
{
    /// <summary>
    /// å…¬ç”¨çš„实体类接口
    /// å¼ å±•
    /// </summary>
    /// <typeparam name="T">自定义的实体类型</typeparam>
    /// <typeparam name="S">ORM中的实体类型</typeparam>
    public interface ICommonEntity<S>
    {
        int Id { get; set; }
        /// <summary>
        /// å°†T类型的实体转换成Orm中的对象
        /// </summary>
        /// <returns>Orm中的对象</returns>
        S ToOrm();
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/IDirector.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@

namespace iWareModel
{
    /// <summary>
    /// æž„建监督者接口
    /// </summary>
    public interface IDirector
    {
        /// <summary>
        /// æž„建
        /// </summary>
        void Construct();
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/IHandler.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@

namespace iWareModel
{
    /// <summary>
    /// ä½¿ç”¨èŒè´£é“¾æ¨¡å¼çš„通用接口
    /// </summary>
    public interface IHandler
    {
        void Handle();
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/IService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@

using System.Collections.Generic;
namespace iWareModel
{
    public interface IService<T>
    {
        List<T> QueryByParam(QueryParam param, out string msg);
        int Save(T t, out string msg);
        int Update(T t, out string msg);
        int Delete(int id, out string msg);
        int Delete(List<int> ids, out string msg);
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/IStrategy.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@

namespace iWareModel
{
    /// <summary>
    ///策略模式的通用接口
    /// </summary>
    public interface IStrategy
    {
        /// <summary>
        /// æ‰§è¡Œå…·ä½“的策略方法
        /// </summary>
        void DoJob();
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ITreeEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
using System.Collections.Generic;
namespace iWareModel
{
    /// <summary>
    /// å±žæ€§ç»“果的实体解决
    /// </summary>
    public interface ITreeEntity<T> where T:class
    {
        int Id { get; set; }
        int ParentId { get; set; }
        List<T> Children { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/LZW.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,121 @@
using System.Collections.Generic;
namespace iWareModel
{
    public class LZW
    {
        private Dictionary<string, int> myBaseDir;
        private Dictionary<byte, int> myBaseByteDir;
        public LZW(){}
        public LZW(Dictionary<string, int> myBaseDir) { this.myBaseDir = myBaseDir;}
        public LZW(Dictionary<byte, int> myBaseByteDir) { this.myBaseByteDir = myBaseByteDir; }
        /// <summary>
        /// LZW压缩算法
        /// </summary>
        /// <param name="source"></param>
        /// <returns></returns>
        public List<int> Compress(string source)
        {
            var nextValue = 0;
            var res = new List<int>();
            var dict = new Dictionary<string, int>();
            if (myBaseDir != null)
            {
                foreach (var item in myBaseDir)
                {
                    dict.Add(item.Key, item.Value);
                    if(item.Value > nextValue)
                    {
                        nextValue = item.Value;
                    }
                }
            }
            nextValue += 1;
            var prefix = "";
            for (var i = 0; i < source.Length; i++ )
            {
                if (dict.ContainsKey(prefix + source[i])) { prefix += source[i]; }
                else
                {
                    res.Add(dict[prefix]);
                    dict.Add(prefix + source[i], nextValue++);
                    prefix = source[i].ToString();
                }
            }
            if (dict.ContainsKey(prefix)) { res.Add(dict[prefix]); }
            dict = null;
            return res;
        }
        /// <summary>
        /// LZW解压算法
        /// </summary>
        /// <param name="source"></param>
        /// <returns></returns>
        public string Decompress(List<int> destination)
        {
            var nextValue = 0;
            var res = string.Empty;
            var dict = new Dictionary<int, string>();
            if (myBaseDir != null)
            {
                foreach (var item in myBaseDir)
                {
                    dict.Add(item.Value, item.Key);
                    if (item.Value > nextValue)
                    {
                        nextValue = item.Value;
                    }
                }
            }
            nextValue += 1;
            var prefix = string.Empty;
            var current = string.Empty;
            var oCode = -1;
            var nCode = -1;
            for (var i = 0; i < destination.Count; i++)
            {
                nCode = destination[i];
                if(dict.ContainsKey(nCode))
                {
                    prefix = dict[nCode];
                }
                else
                {
                    prefix = dict[oCode] + current;
                }
                res += prefix;
                current = prefix[0].ToString();
                if(dict.ContainsKey(oCode))
                {
                    dict.Add(nextValue++, dict[oCode] + current);
                }
                oCode = nCode;
            }
            dict = null;
            return res;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ListItem.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareModel
{
    /// <summary>
    /// ListItem用于ComboBox控件添加项
    /// </summary>
    public class ListItem
    {
        public string Text
        {
            get;
            set;
        }
        public string Value
        {
            get;
            set;
        }
        public override string ToString()
        {
            return this.Text;
        }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/CriterionContainerOutput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareModel.Entity.MES
{
    public class CriterionContainerOutput
    {
        //public long? ware_location_vs_container_id { get; set; }
        public string Code { get; set; }
        public string Name { get; set; }
        public string TypeName { get; set; }
        public decimal? Long { get; set; }
        public decimal? Height { get; set; }
        public decimal? Width { get; set; }
        public int IsVirtual { get; set; }
        /// <summary>
        /// å··é“
        /// </summary>
        public int? Lane { get; set; }
        /// <summary>
        /// æŽ’
        /// </summary>
        public int? Row { get; set; }
        /// <summary>
        /// åˆ—
        /// </summary>
        public int? Column { get; set; }
        /// <summary>
        /// å±‚
        /// </summary>
        public int? Layer { get; set; }
        /// <summary>
        /// åº“位类型
        /// </summary>
        public long? LocTypeId { get; set; }
        /// <summary>
        /// å®¹å™¨å’Œåº“位绑定关系的库位编号
        /// </summary>
        public string WareLocationCode { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/MesRetModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
namespace iWareModel
{
    /// <summary>
    /// MES通用返回信息类
    /// </summary>
    public class MesRetModel<T>
    {
        /// <summary>
        /// çŠ¶æ€ç 
        /// </summary>
        public int code { get; set; }
        /// <summary>
        /// è¿”回信息
        /// </summary>
        public string msg { get; set; }
        /// <summary>
        /// è¿”回数据集合
        /// </summary>
        public T data { get; set; }
        #region æ–°å¢ž
        /// <summary>
        /// è¿”回成功
        /// </summary>
        /// <param name="msg">消息</param>
        /// <returns></returns>
        public static MesRetModel<T> Success(string msg)
        {
            return Message(200, msg, default(T));
        }
        /// <summary>
        /// è¿”回成功
        /// </summary>
        /// <param name="msg">消息</param>
        /// <param name="response">数据</param>
        /// <returns></returns>
        public static MesRetModel<T> Success(string msg, T response)
        {
            return Message(200, msg, response);
        }
        /// <summary>
        /// è¿”回失败
        /// </summary>
        /// <param name="msg">消息</param>
        /// <returns></returns>
        public static MesRetModel<T> Fail(string msg)
        {
            return Message(400, msg, default(T));
        }
        /// <summary>
        /// è¿”回失败
        /// </summary>
        /// <param name="msg">消息</param>
        /// <param name="response">数据</param>
        /// <returns></returns>
        public static MesRetModel<T> Fail(string msg, T response)
        {
            return Message(400, msg, response);
        }
        /// <summary>
        /// è¿”回消息
        /// </summary>
        /// <param name="success">失败/成功</param>
        /// <param name="msg">消息</param>
        /// <param name="response">数据</param>
        /// <returns></returns>
        public static MesRetModel<T> Message(int code, string msg, T response)
        {
            return new MesRetModel<T>() { msg = msg, data = response, code = code };
        }
        #endregion
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/MesRetModel2.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
using iWareModel;
namespace XiGang.Core.Model.ViewModels
{
    /// <summary>
    /// MES通用返回信息类
    /// </summary>
    public class MesRetModel2<T>
    {
        /// <summary>
        /// çŠ¶æ€ç 
        /// </summary>
        public int code { get; set; }
        /// <summary>
        /// è¿”回信息
        /// </summary>
        public string message { get; set; }
        /// <summary>
        /// è¿”回数据集合
        /// </summary>
        public T data { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/MesRetProductModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
namespace XiGang.Core.Model.ViewModels
{
    /// <summary>
    /// MES返回产品信息类
    /// </summary>
    public class MesRetProductModel
    {
        /// <summary>
        /// åºåˆ—号
        /// </summary>
        public string productCode { get; set; }
        /// <summary>
        /// ç³»åˆ—
        /// </summary>
        public string series { get; set; }
        /// <summary>
        /// ç‰©æ–™å·ï¼ˆå°±æ˜¯è®¢è´§å·ï¼‰
        /// </summary>
        public string itemCode { get; set; }
        /// <summary>
        /// æœºåž‹
        /// </summary>
        public string productType { get; set; }
        /// <summary>
        /// ä¸»æœºåŽ‚
        /// </summary>
        public string oemName { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/MesUpdateOnlineStatusParamModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
namespace iWareModel
{
    /// <summary>
    /// MES上线接口参数
    /// </summary>
    public class MesUpdateOnlineStatusParamModel
    {
        /// <summary>
        /// åˆ›å»ºäººï¼Œå›ºå®šç«‹åº“WMS
        /// </summary>
        public string creatBy { get; set; }
        /// <summary>
        /// è®¢è´§å·
        /// </summary>
        public string itemCode { get; set; }
        /// <summary>
        /// äº§çº¿ç¼–码,固定XZY
        /// </summary>
        public string lineCode { get; set; }
        /// <summary>
        /// åºåˆ—号,发动机编号,来自条码
        /// </summary>
        public string productCode { get; set; }
        /// <summary>
        /// çŠ¶æ€ç¼–ç ï¼Œå›ºå®š1010
        /// </summary>
        public string statusCode { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/Mes_BtjReceiveModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,87 @@
using System;
using System.Collections.Generic;
namespace XiGang.Core.Model.ViewModels
{
    /// <summary>
    /// ä¼ é€’ç»™MES本体机接收的参数
    /// </summary>
    public class Mes_BtjReceiveModel
    {
        public Mes_BtjReceiveModel()
        {
            this.userName = "XiGangWarehouse";
        }
        /// <summary>
        /// ç”¨æˆ·å,写死
        /// </summary>
        public string userName { get; set; }
        /// <summary>
        /// å¤´è¡¨
        /// </summary>
        public List<Mes_BtjReceiveModel_Item> listHeader { get; set; }
        /// <summary>
        /// å¤´è¡¨
        /// </summary>
        public List<Mes_BtjReceiveModel_Item> listLine { get; set; }
    }
    /// <summary>
    /// ä¿¡æ¯
    /// </summary>
    public class Mes_BtjReceiveModel_Item
    {
        public Mes_BtjReceiveModel_Item()
        {
            this.positionId = "";
            this.scanDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            this.scanSum = "1";
            this.uploadStatus = "0";
        }
        /// <summary>
        /// é”™è¯¯ä¿¡æ¯
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// è®¢è´§å·
        /// </summary>
        public string itemCode { get; set; }
        /// <summary>
        /// ç»„织ID
        /// </summary>
        public string organizationId { get; set; }
        /// <summary>
        /// è´§ä½å·
        /// </summary>
        public string positionId { get; set; }
        /// <summary>
        /// åºåˆ—号
        /// </summary>
        public string productCode { get; set; }
        /// <summary>
        /// æ‰«ææ—¶é—´
        /// </summary>
        public string scanDate { get; set; }
        /// <summary>
        /// æ•°é‡
        /// </summary>
        public string scanSum { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string uploadStatus { get; set; }
        /// <summary>
        /// ä»“库号
        /// </summary>
        public string warehouseCode { get; set; }
    }
}
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/WCSDevicesOutput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareModel.Entity.MES
{
    public class WCSDevicesOutput
    {
        /// <summary>
        ///
        /// </summary>
        public int Code { get; set; }
        /// <summary>
        /// æˆåŠŸæ ‡è¯†
        /// </summary>
        public bool Success { get; set; }
        /// <summary>
        /// è¿”回消息
        /// </summary>
        public string Message { get; set; }
        /// <summary>
        /// è¿”回数据
        /// </summary>
        public WDO_Dev Data { get; set; }
    }
    public class WDO_Dev
    {
        public WDO_Data SRM1 { get; set; }
        public WDO_Data SRM2 { get; set; }
        public WDO_Data SRM3 { get; set; }
    }
    public class WDO_Data
    {
        /// <summary>
        /// å †åž›æœº
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// æ˜¯å¦æŠ¥è­¦ 0不报警,1报警
        /// </summary>
        public string Alram { get; set; }
        /// <summary>
        /// æ˜¯å¦æŠ¥è­¦
        /// </summary>
        public string isAlram { get; set; }
        /// <summary>
        /// è¿žæŽ¥çŠ¶æ€ æ˜¯ï¼Œå¦
        /// </summary>
        public string isConnect { get; set; }
        /// <summary>
        /// æ˜¯å¦ç©ºé—² 1空闲
        /// </summary>
        public string isfree { get; set; }
        /// <summary>
        /// è®¾å¤‡ç¼–号
        /// </summary>
        public string SrmNo { get; set; }
    }
}
在上述文件截断后对比
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/WCSTaskInput.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/MES/WareContainerType.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/QueryParam.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResponseListDataEntity.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResponseListDataPageEntity.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResponseSimpleDataEntity.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResultModel/FunRetEntity.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResultModel/MessageModel.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ResultModel/ResEntity.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/SysUser.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/System/ColumnsModel.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/System/PropertieModel.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/TaskSequenceEntity.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ValidateModel.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/ValidateResModel.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/WCS/WCSTaskOutput.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/WMS/CriterionContainerOutput.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/WMS/SAPDeliverMaterial.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/WMS/SAPReceivingMaterial.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/WMS/WmsSysReturn.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Entity/_system~.ini LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/AreaTypeEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDbError.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/AGV/AGVState.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/DeviceTaskStatusEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/EDevice.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/EDeviceType.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/ESrmAlarm.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/LineLocation.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/RgvErrorReason.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/RgvInOutFlag.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/RgvIsDie.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/RgvIsStock.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Line/RgvWorkMode.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvAlarm.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvBodyTest.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvCmd.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvEvent.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvMode.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Rgv/ERgvState.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Srm/ESrmCmd.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Srm/ESrmForkPosition.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Srm/ESrmMode.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Srm/ESrmState.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/EDevice/Srm/ESrmTaskType.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/ExceptionEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/PLC/PLCServiceTypeEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/PrintTypeEnum22.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/RequestStatusEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/StackSequenceSortRule.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/Sys/LanguageEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/Sys/ValidateIntEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/Task/WareTaskStateEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/Task/WareTaskTypeEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/TaskExcuteTypeEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/ThreadDirectionEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/CommonStatus.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/EnumSAPCancelConfirmStatus.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/EnumSAPConfirmStatus.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/EnumSignStatus.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/MaterialTypeStaus.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/PrintClassifyEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/PrintTypeEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WMS/SysDictDataEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/EnumType/WareLocationEnum.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Properties/AssemblyInfo.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Struct/WmsCarrierType.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/Struct/WmsStorageType.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareModel/iWareModel.csproj LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/App.config LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/ApprovalFlow.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/BasicDataSetHandler.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/ClearDataHandler.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/ContainerHandler.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/PurchaseOrderHandler.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/SapHandler.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DataAccess/SysDictDataHandler.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/DingTalkUser.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ExtendEntity/MatModel.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ExtendEntity/SyncStockToMesEntity.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ExtendEntity/UDT_SYS_ExceptionInfo_Extend.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/MES/Mes_ResEntity.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ParamModel/InformIniInfoToTrussParam.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ParamModel/MesMatInfo.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ParamModel/Mes_BatchMat_Param.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ParamModel/Mes_BatchOrderUPIParam.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ParamModel/Srm_ItemParam.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/AllMatStockViewForStockList.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/BatchMatGatherView.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/BatchMatView.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/BatchOrderUPIView.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/BoardLoadMaterialView.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/MatStockCollectView.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Entity/ViewMode/PlaceLocationView.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/GoViewPro.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/GoViewProData.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/Base_BasicDataSet.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/C__EFMigrationsHistory.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/MyDbContext.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/SerialRuleDetail.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/SerialSN.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/basic_customer_info.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/basic_express_info.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/basic_supplier_info.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_app.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_code_gen.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_code_gen_config.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_config.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_dict_data.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_dict_type.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_emp.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_emp_ext_org_pos.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_file.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_log_audit.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_log_ex.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_log_op.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_log_vis.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_menu.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_notice.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_notice_user.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_oauth_user.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_org.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_pos.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_role.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_timer.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sys_user.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/sysdiagrams.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_PickUp_SortingOrderOutput.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_SortingOrderOutput.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_check_plan_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_check_table_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_collect_head.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_collect_matails.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_container_usegridNumber.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_group_container.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_oldMater_ware_inventory.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_order_ware_inventory.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_purchase_order.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_PurchaseOrderDetailsForPDA.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_QueLiaoWarning.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_QueryAllowYKDetail.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_age_warming.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_confirm_delivery_and_ware_delivery_record.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_by_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_by_material_type.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_order.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_order_all.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_order_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_order_details_all.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_order_details_no_BeDelivery.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_delivery_task_statistics_all.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_findEmptyLocation.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_goods_delivery.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_goods_delivery_and_ware_goods_delivery_appointment.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_goods_delivery_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_byOrderType_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_by_all.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_by_container.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_by_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_order.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_order_out_diff_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_plan.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_plan_details_by_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_check_plan_details_by_storehouse.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_for_out.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_for_out_ByGroup.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_inventory_statistics_by_all.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_location.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_material_locked.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_material_lockedByGroup.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_region_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_scrap_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_getOutWarehouseForGroup.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_getOutWarehouseForGroupForKitting.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_getOutWarehouseForGroup_All.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_order.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_order_all.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_order_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_order_details_all.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_sorting_order_details_group.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/v_ware_stock_early_warming.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_action_log.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_age.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_backout_orders.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_backout_orders_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_borrow_return.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_collect_delivery.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_common_sap_delivery_info.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_common_sap_receive_info.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_confirm_delivery.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_container.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_container_tag.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_container_type.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_container_vs_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_delivery_record.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_dic_type.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_dict_data.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_diskGrouping_record.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_equipment.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_equipment_type.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_examine_flower.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_flow_record.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_goods_delivery.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_goods_delivery_appointment.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_goods_delivery_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_goods_delivery_details_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_order.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_order_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_order_record.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_plan.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_plan_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_inventory_check_rule.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_location.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_location_extend.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_location_tag.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_location_type.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_location_vs_container.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_flow_record.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_locked.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_maxtype.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_modify.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_print_history.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_tag.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_material_type.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_menu_examine.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_menu_temp.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_old_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_old_material_Flowing.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_orders.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_orders_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_picking.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_picking_detail.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_pickup.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_pickup_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_purchase_order.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_purchase_order_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_qc_orders.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_qrcode.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_region.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_rema_qty.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_return_order_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_return_orders.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_return_record.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sap_log.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_scrap.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_scrap_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_scrap_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sequencenumber.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_shelves.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_shelves_type.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_site.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sorting.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sorting_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sorting_record.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_sorting_vs_container.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_storehouse.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_storehouse_type.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_supplier_examine_flower.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_task.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_task_sub.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_temp.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_to_receiving.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_to_receiving_detail.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_flowing.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_hous.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_return.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_return_details.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_stock.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_tool_users.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_views.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_views_detail.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/ware_workflow.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/MyDbContext/warepurchaseorder_vs_waregoodsdelivery.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Properties/AssemblyInfo.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysCodeGen.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysCodeGenConfig.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysConfig.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysDictData.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysDictType.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysFile.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysJobCluster.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysJobDetail.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysJobTrigger.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysJobTriggerRecord.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysLdap.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysLogDiff.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysLogEx.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysLogOp.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysLogVis.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysMenu.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysNotice.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysNoticeUser.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysOnlineUser.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysOpenAccess.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysOrg.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysPlugin.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysPos.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysPrint.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysRegion.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysRole.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysRoleMenu.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysRoleOrg.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysTenant.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysUser.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysUserExtOrg.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysUserLdap.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysUserRole.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysWechatPay.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/SysWechatUser.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/TestMyDbContext/Model1.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Test_Student.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/Test_Teachert.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/V_EmptyStation.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/WmsDBModel.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/iWareSql.csproj LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/mes_PushPackageCode.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/mes_batchOrderUPI_new.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/packages.config LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/test_place.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_adapter_categories.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_adapter_management.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_adapter_record.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_area.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_factory.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_material.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_material_type.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_place.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_base_warehouse.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_config_no_rule.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_config_print.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_config_serial_rule.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_config_serial_sn.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_config_sncode_rule.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_log_action.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_rbline_runmode.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_rbline_task.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_record_print.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_record_trans.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_stock_quan.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_sys_basic_data.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_sys_help_doc.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_sys_pda_menu.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_sys_pda_role_menu.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/wms_task.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_database_info.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_entity_column_info.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_entity_info.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_interface_category.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_interface_list.cs LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/iWareSql/zero_user_info.cs LA24030_LuLiPackageLine_Web/src/api/main/PrintCenter/wmsRecordPrint.ts LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordPrint/component/editDialog.vue LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordPrint/index.vue LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/PrintCenter/WmsRecordPrint/Dto/WmsRecordPrintInput.cs LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/PrintCenter/WmsRecordPrint/Dto/WmsRecordPrintOutput.cs LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/PrintCenter/WmsRecordPrint/WmsRecordPrintService.cs